Florian Forster [Mon, 16 Aug 2010 08:32:27 +0000 (10:32 +0200)]
src/utils_match.h: Fix a bug preventing derive values from being handled correctly.
Due to the bit-wise check, the value for derive (0x30) matches the check
for gauge (0x10), too. This commit fixes the behavior by assigning other
numeric values to the defines.
curl_json plugin: Use the "number" callback of libyajl.
The "integer" callback only works with "long"s, which are 32bit on
x86 and other 32bit architectures. The "number" callback gets the raw
string for us to parse ourselves – honoring the data source type in the
process.
The "integer" and "double" callbacks have been removed, since they are not
used if the "number" callback is present.
Florian Forster [Mon, 28 Jun 2010 08:01:39 +0000 (10:01 +0200)]
df plugin: Remove the complaint code again.
Calls to the plugin are delayed when an error is returned anyway, so it's
better to have an error message in addition to the "has failed, will suspend"
message generated in src/plugin.c.
Sven Trenkel [Wed, 16 Jun 2010 12:01:18 +0000 (14:01 +0200)]
python plugin: Switch back to calling the type object to create a new object like in collectd-4.9.
PyObject_New should not be used.
This should fix a compile problem with some versions of Python.
Aurelien Reynaud [Wed, 12 May 2010 09:55:05 +0000 (11:55 +0200)]
snmp.c: compilation fixes for AIX
The C and C++ standards allows the character type char to be signed or
unsigned, depending on the platform and compiler. Most systems,
including x86 GNU/Linux and Microsoft Windows, use signed char, but
those based on PowerPC and ARM processors typically use unsigned char.
This patch fixes a "comparison is always true" warning on AIX (powerpc)
which leads the compilation to abort because of the -Werror flag.
I'm using collectd to monitor system and process parameters of our code under
test running on a cluster. The test processes communicate to collectd via the
unixsock plugin, but there was a small error in the client library which I had
to fix first.
The wire format of the putval command is missing a space behind the closing
double quote of the identifier. As I said, it is a small fix, but nevertheless
I attached the patch for client.c. The bug is present in 4.6 (that is the
version I'm using in production), but I fixed it against 4.10.0.
Florian Forster [Mon, 3 May 2010 07:22:39 +0000 (09:22 +0200)]
python plugin: Disable strict aliasing.
"Py_True" and "Py_False" have some weird implementation that GCC can't cope
with. Disable strict aliasing (and warnings relating to it) in order to avoid
those problems at the cost of optimization.
Florian Forster [Sat, 1 May 2010 07:53:12 +0000 (09:53 +0200)]
Build system: Check for "strtok_r" availability with "-Wall -Werror" when using GCC.
Previously, the check was done without "-Werror" which resulted in a
warning and success. When the daemon was later built with "-Werror" set,
that warning would result in an error and abort the build.
Thanks to Aurélien Reynaud for reporting the problem.
collectd-nagios.c: Output performance data with the "%f" format string.
Apparently the parser used by nagios is dumb as bread. Thanks to Lao Wai
for pointing this out. For more information, see:
<http://nagiosplug.sourceforge.net/developer-guidelines.html#AEN201>
Andrés J. Díaz [Thu, 17 Dec 2009 22:21:14 +0000 (23:21 +0100)]
Timeout for missing values
Hi!
I attach here a patch which adds Timeout option in configuration file.
This option is global (i.e. at the same level as Interval) and it's
the max number of intervals that a package can be missed before a
missing notification would be raised. By dafault collectd wait 2
intervals and it's a hardcoded value AFAIK, if plugin cannot get data
for more than 2 intervals, then (if it's an interesting value),
collectd send a missing notification. Setting Timeout to an high value
you can be more tolerant with that missing.
It's usefull on large networks. In my case, the company LAN is
distributed on distant locations and sometimes (due to network issues)
UDP packages are lost, I use the Timeout to be more tolerant to this
networks fails. For example setting Internval to 10 and Timeout to 6,
a missing notification will be raised only if none data was reported
in last 60s.
I hope that things explained well enough, and (who knows!) maybe this
could be usefull to anybody ;)