curl_json plugin: Restore struct when handling error.
src/collectd.h: Do not include <sensors/sensors.h> here.
Fix errno thread-safety under AIX
Unlike Linux or Solaris, errno under AIX is not thread-safe by
default.
This patch sets _THREAD_SAFE_ERRNO when AIX is detected in order to
force the thread-safe implementation of errno. Without this, calls
like stat() in the rrdtool plugin fail with errno incorrectly set,
leading to the inability to create previously absent rrd files.
Maybe _THREAD_SAFE should be set instead, to prevent other possible
threads-related problems, but this is enough to scratch my current
itch...
Here is the relevant part of /usr/include/errno.h on AIX:
#if defined(_THREAD_SAFE) || defined(_THREAD_SAFE_ERRNO)
/*
* Per thread errno is provided by the threads provider. Both the extern
* int
* and the per thread value must be maintained by the threads library.
*/
extern int *_Errno( void );
#define errno (*_Errno())
#else
extern int errno;
#endif /* _THREAD_SAFE || _THREAD_SAFE_ERRNO */
Signed-off-by: Aurelien Reynaud <collectd@wattapower.net>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Unlike Linux or Solaris, errno under AIX is not thread-safe by
default.
This patch sets _THREAD_SAFE_ERRNO when AIX is detected in order to
force the thread-safe implementation of errno. Without this, calls
like stat() in the rrdtool plugin fail with errno incorrectly set,
leading to the inability to create previously absent rrd files.
Maybe _THREAD_SAFE should be set instead, to prevent other possible
threads-related problems, but this is enough to scratch my current
itch...
Here is the relevant part of /usr/include/errno.h on AIX:
#if defined(_THREAD_SAFE) || defined(_THREAD_SAFE_ERRNO)
/*
* Per thread errno is provided by the threads provider. Both the extern
* int
* and the per thread value must be maintained by the threads library.
*/
extern int *_Errno( void );
#define errno (*_Errno())
#else
extern int errno;
#endif /* _THREAD_SAFE || _THREAD_SAFE_ERRNO */
Signed-off-by: Aurelien Reynaud <collectd@wattapower.net>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
collection3: Add graph for "ps_disk_octets".
notify_email plugin: Check for "session == NULL" and return gracefully.
I don't know how libesmtp handles NULL pointers and I don't want to take
my chances.
I don't know how libesmtp handles NULL pointers and I don't want to take
my chances.
notify_email plugin: Serialize all accesses to libesmtp using a mutex.
collection3: fix multiple hosts selection issue
When selecting multiple hosts in collection3's hosts list, and with some
plugins only (the ones that use a specific resource name such as memory
or tcpconns), the resulting graph list will be limited to one single
graph (instead of one per host).
This patch addresses this issue by modifying the name of the hash key
in the group_files_by_plugin_instance function, making it less prone
to name collisions by prefixing it by the host name.
Comments and enhancements will be welcome.
Signed-off-by: Jerome Oufella <jerome.oufella@savoirfairelinux.com>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
When selecting multiple hosts in collection3's hosts list, and with some
plugins only (the ones that use a specific resource name such as memory
or tcpconns), the resulting graph list will be limited to one single
graph (instead of one per host).
This patch addresses this issue by modifying the name of the hash key
in the group_files_by_plugin_instance function, making it less prone
to name collisions by prefixing it by the host name.
Comments and enhancements will be welcome.
Signed-off-by: Jerome Oufella <jerome.oufella@savoirfairelinux.com>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
network plugin: Use the complain mechanism to inform the user about ignored signatures.
src/utils_tail: Remove newline characters at the end of a line.
The tool is supposed to work line-based, so a) the newline character is
implicit and b) imho, does not belong to the string which is then further
processed.
Also, this allows '$' to match the end of a line when applying a regex to the
line, no matter if the REG_NEWLINE flag has been used when compiling the regex
or not.
The tool is supposed to work line-based, so a) the newline character is
implicit and b) imho, does not belong to the string which is then further
processed.
Also, this allows '$' to match the end of a line when applying a regex to the
line, no matter if the REG_NEWLINE flag has been used when compiling the regex
or not.
utils_match: Let '^' and '$' affect lines rather than the full string.
The regcomp() flag REG_NEWLINE is required for that, even though regex(7)
might make people think otherwise.
The regcomp() flag REG_NEWLINE is required for that, even though regex(7)
might make people think otherwise.
src/collectd.conf.in: Move "TimeToLive" before the "Server" and "Listen" statements.
Thanks to Renaud Chaput for pointing this out!
Thanks to Renaud Chaput for pointing this out!
src/utils_heap.c: Fix calculation of the parent's index.
This resulted in the "upwards" reheap function to return prematurely,
leaving the heap condition violated.
This resulted in the "upwards" reheap function to return prematurely,
leaving the heap condition violated.
src/plugin.c: Improve an info message.
Based on a patch by Sebastian, which didn't use the handy "FORMAT_VL"
macro.
Based on a patch by Sebastian, which didn't use the handy "FORMAT_VL"
macro.
collectd.conf(5): Document he "Derive*" and "AbsoluteSet" DSTypes of the tail plugin.
src/utils_match.c: Use strtoull(3) for counter and absolute data sources.
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.
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.
src/configfile.c: Continue parsing config files if stat'ing one file fails.
curl json: Fix checking the response code.
curl_json plugin: Use a more descriptive define as return value.
collectd-perl(5): Mention that "Globals" should be enabled.
collectd.conf(5): Documents LoadPlugin's "Globals" option.
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.
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.
ChangeLog: Fix the release date for 4.9.3.
Bumped version to 4.9.3; Updated ChangeLog.
src/plugin.c: Check "read_loop" when returning from "pthread_cond_timedwait".
Otherwise it may take up to $Interval seconds until all read threads
shut down. This bug was introduced in version 4.8.4 (commit dbe1a7d).
Otherwise it may take up to $Interval seconds until all read threads
shut down. This bug was introduced in version 4.8.4 (commit dbe1a7d).
Remove usage of obsoleted XSI extensions wrt. the "test" command.
Fix usage of Solaris /usr/bin/echo
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
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.
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.
df plugin: Report an error if "cu_mount_getlist" fails.
collection3: df_complex graph: Add "reserved" space.
collection3: Add Windows data sources to the "memory" graph.
collection3: Add graphs for "bitrate", "signal_power", "signal_quality", and "snr".
bindings/java/Makefile.am: Fix rebuilding of Java plugins.
bind plugin: Fix building with --enable-standards.
Merge remote branch 'tokkee/sh/collectd-4.9' into collectd-4.9
contrib/GenericJMX.conf: Use the "jmx_memory" type.
collectd2html.pl: Further improvements to the XHTML support.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Sebastian Harl <sh@tokkee.org>
collectd2html.pl: Produce XHTML output.
… as requested in Debian bug #575029.
Signed-off-by: Sebastian Harl <tokkee@debian.org>
… as requested in Debian bug #575029.
Signed-off-by: Sebastian Harl <tokkee@debian.org>
collectd2html: Fixed recursive mode.
Also, improved default settings to match the collectd4 series.
Signed-off-by: Sebastian Harl <tokkee@debian.org>
Also, improved default settings to match the collectd4 series.
Signed-off-by: Sebastian Harl <tokkee@debian.org>
powerdns plugin: Fixed communication when talking to pdns 2.9.22.
powerdns version 2.9.22 (and above) require a newline at the end of
commands sent to the server.
Signed-off-by: Sebastian Harl <tokkee@debian.org>
powerdns version 2.9.22 (and above) require a newline at the end of
commands sent to the server.
Signed-off-by: Sebastian Harl <tokkee@debian.org>
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.
Being unsigned by default, a char is always >0.
Signed-off-by: Aurelien Reynaud <collectd@wattapower.net>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
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.
Being unsigned by default, a char is always >0.
Signed-off-by: Aurelien Reynaud <collectd@wattapower.net>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
processes.c: fix uninitialized variables warnings
Signed-off-by: Aurelien Reynaud <collectd@wattapower.net>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Signed-off-by: Aurelien Reynaud <collectd@wattapower.net>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Bugfix for libcollectdclient lcc_putval.
Hello,
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.
Cheers,
Johan
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Hello,
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.
Cheers,
Johan
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
snmp plugin: csnmp_value_list_to_value: Include the OID in the log message.
snmp plugin: Don't print a warning if the ASN type is "ASN_NULL".
Thanks to "Flyinvap" for pointing this out.
Thanks to "Flyinvap" for pointing this out.
Merge remote branch 'origin/collectd-4.9' into collectd-4.9
configure.in: htonll check depends on linker
Fixing a cross-compile issue by depending only on a linker check.
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Fixing a cross-compile issue by depending only on a linker check.
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
python: Fixed some memory leaks in the write and notification callbacks.
Thanks to Volkmar Uhlig for the hint.
Thanks to Volkmar Uhlig for the hint.
python: Fixed a crash if the plugin was loaded but not configured.
Merge branch 'collectd-4.8' into collectd-4.9
rrdcached.c needs to include rrd.h
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.
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.
Merge branch 'collectd-4.8' into collectd-4.9
configure.in: Put conditionals around <inttypes.h>, too, for consistency's sake.
Solaris 8 fixes: Check for <stdint.h> before inclusion.
Solaris 8 fixes: Fall back to putenv(3).
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>
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>
Bumped version to 4.9.2; Updated ChangeLog.
Merge branch 'collectd-4.8' into collectd-4.9
Conflicts:
ChangeLog
Conflicts:
ChangeLog
Bumped version to 4.8.5; Updated ChangeLog.
Merge branch 'collectd-4.8' into collectd-4.9
Conflicts:
ChangeLog
Conflicts:
ChangeLog
src/plugin.c: plugin_log: Append newline to message …
… even when no log-plugin was loaded.
… even when no log-plugin was loaded.
network plugin: Don't access values in an already freed array.
contrib/exec-nagios.px: Whitespace and POD fixes.
Bumped version to 4.8.2; Updated ChangeLog.
Merge branch 'collectd-4.8' into collectd-4.9
network plugin: Fix a severe memory leak.
A couple of bytes were leaked with every encrypted packet received.
A couple of bytes were leaked with every encrypted packet received.
rrdtool plugin: Correctly free the cache when shutting down.
network plugin: Be more strict when checking the return value of "setsockopt".
README: Fix a typo.
Merge commit 'tokkee/sh/collectd-4.8' into collectd-4.8
collectd.conf.in: Change the basename of the Perl plugin to "Collectd::Plugins".
collectd-perl(5): Fix the synopsis.
I think this is a left-over from a switch from "Collectd::Plugin" to
"Collectd::Plugins". Thanks to Denis Yagofarov for reporting the bug and
Michael Shigorin for relaying it to me.
I think this is a left-over from a switch from "Collectd::Plugin" to
"Collectd::Plugins". Thanks to Denis Yagofarov for reporting the bug and
Michael Shigorin for relaying it to me.
configure, src/Makefile: Check for nanosleep() in libposix4 as well.
On, e.g., Solaris 2.6, nanosleep() is only available from that library.
Thanks to Vincent McIntyre for reporting this and providing an initial patch.
On, e.g., Solaris 2.6, nanosleep() is only available from that library.
Thanks to Vincent McIntyre for reporting this and providing an initial patch.
README: Fix typo.
README: Fix typo.
snmp plugin: Fix a format string.
openvpn plugin: Fix a copy'n'paste error in the "new naming schema".
collectd.conf(5): Document the "ImprovedNamingSchema" option of the OpenVPN plugin.
netapp plugin: Fix a syntax error in an error message.
Thanks to facade from IRC for the hint.
Thanks to facade from IRC for the hint.
Merge branch 'collectd-4.8' into collectd-4.9
Conflicts:
src/exec.c
Conflicts:
src/exec.c
Exec plugin: Update copyright header.
configfile: cf_read_dir: Don't abort reading a directory when reading one file fails.
Processes plugin: Fix a minor typo.
Exec plugin: Add a missing folding marker.
Exec plugin: Set the "noreturn" attribute on the "exec_child" function.
Exec plugin: Reset the "PL_RUNNING" if "fork_child()" fails.
libiptc: avoid strict-aliasing warnings
libiptc: avoid strict-aliasing warnings
In file included from libiptc/libip4tc.c:117:0:
libiptc/libiptc.c: In function ‘__iptcc_p_del_policy’:
libiptc/libiptc.c:826:4: warning: dereferencing type-punned pointer will break
strict-aliasing rules
libiptc/libiptc.c: In function ‘iptc_get_target’:
libiptc/libiptc.c:1650:4: warning: dereferencing type-punned pointer will break
strict-aliasing rules
libiptc/libip4tc.c: In function ‘dump_entry’:
libiptc/libip4tc.c:157:3: warning: dereferencing type-punned pointer will break
strict-aliasing rules
CC libiptc/libip6tc.lo
In file included from libiptc/libip6tc.c:112:0:
libiptc/libiptc.c: In function ‘__iptcc_p_del_policy’:
libiptc/libiptc.c:826:4: warning: dereferencing type-punned pointer will break
strict-aliasing rules
libiptc/libiptc.c: In function ‘ip6tc_get_target’:
libiptc/libiptc.c:1650:4: warning: dereferencing type-punned pointer will break
strict-aliasing rules
libiptc/libip6tc.c: In function ‘dump_entry’:
libiptc/libip6tc.c:188:3: warning: dereferencing type-punned pointer will break
strict-aliasing rules
Signed-off-by: Jan Engelhardt <jengelh@medozas.de>
Rebased for collectd/src/owniptc: Alan Pevec <apevec@gmail.com>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
libiptc: avoid strict-aliasing warnings
In file included from libiptc/libip4tc.c:117:0:
libiptc/libiptc.c: In function ‘__iptcc_p_del_policy’:
libiptc/libiptc.c:826:4: warning: dereferencing type-punned pointer will break
strict-aliasing rules
libiptc/libiptc.c: In function ‘iptc_get_target’:
libiptc/libiptc.c:1650:4: warning: dereferencing type-punned pointer will break
strict-aliasing rules
libiptc/libip4tc.c: In function ‘dump_entry’:
libiptc/libip4tc.c:157:3: warning: dereferencing type-punned pointer will break
strict-aliasing rules
CC libiptc/libip6tc.lo
In file included from libiptc/libip6tc.c:112:0:
libiptc/libiptc.c: In function ‘__iptcc_p_del_policy’:
libiptc/libiptc.c:826:4: warning: dereferencing type-punned pointer will break
strict-aliasing rules
libiptc/libiptc.c: In function ‘ip6tc_get_target’:
libiptc/libiptc.c:1650:4: warning: dereferencing type-punned pointer will break
strict-aliasing rules
libiptc/libip6tc.c: In function ‘dump_entry’:
libiptc/libip6tc.c:188:3: warning: dereferencing type-punned pointer will break
strict-aliasing rules
Signed-off-by: Jan Engelhardt <jengelh@medozas.de>
Rebased for collectd/src/owniptc: Alan Pevec <apevec@gmail.com>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Merge remote branch 'origin/collectd-4.8' into collectd-4.8
configure.in: Check for "htonll".
The first patch adds support to check if the htonl and htonll functions
(which are used in AIX port) are available in configure. Until now the
AIX port used these functions without perform any existence test.
Signed-off-by: Florian Forster <octo@leeloo.lan.home.verplant.org>
The first patch adds support to check if the htonl and htonll functions
(which are used in AIX port) are available in configure. Until now the
AIX port used these functions without perform any existence test.
Signed-off-by: Florian Forster <octo@leeloo.lan.home.verplant.org>
memcached plugin: Add hack for AIX compatibility.
The second one port memcached plugin to AIX. Since AIX don't have
MSG_DONTWAIT flag support, we use MSG_NONBLOCK... and we hope to work
fine ever :)
Signed-off-by: Florian Forster <octo@leeloo.lan.home.verplant.org>
The second one port memcached plugin to AIX. Since AIX don't have
MSG_DONTWAIT flag support, we use MSG_NONBLOCK... and we hope to work
fine ever :)
Signed-off-by: Florian Forster <octo@leeloo.lan.home.verplant.org>
oracle plugin: Fix semantics of OCIAttrGet.
Apparently it returns success if it could fetch the parameter value and
doesn't interpret the value itself. So returning NULL when querying for
OCI_ATTR_SERVER_STATUS does not result in an error. Handle this as a
lost connection.
Thanks to Sven for pointing this out :)
Apparently it returns success if it could fetch the parameter value and
doesn't interpret the value itself. So returning NULL when querying for
OCI_ATTR_SERVER_STATUS does not result in an error. Handle this as a
lost connection.
Thanks to Sven for pointing this out :)
.mailmap: Added Rodolphe Quiedeville <rquiedeville@bearstech.com>.
His name was mis-spelled in one commit as Rodolphe Quiedeville*l*.
His name was mis-spelled in one commit as Rodolphe Quiedeville*l*.
Merge branch 'collectd-4.8' into collectd-4.9
Conflicts:
src/ping.c
Conflicts:
src/ping.c
contrib/redhat/collectd.spec: Updated for version 4.9.
I've attached a patch for the RPM specfile to allow it to build collectd 4.9.0,
including Java support.
I've attached a patch for the RPM specfile to allow it to build collectd 4.9.0,
including Java support.
debian/: Removed ancient Debian package files.
You might want to look at git://git.tokkee.org/pkg-collectd.git instead.
You might want to look at git://git.tokkee.org/pkg-collectd.git instead.
configure.in: Fix three small typos.
Build system: Put Java class files into a .jar file.
Hi,
I was wondering why the java plugin api class files are published under
share/collectd/java. Ideally, a java-plugin.jar file containing all the class
files should get published rather than the individual class files.
Additionally, the jar files IMO should get published to the lib directory where
the so files are sitting rather than the share directory.
Same holds true for jmx class files as well (probably jmx.jar?).
I could work on this if everyone is okay with it.
Regards
Amit
Hi,
I was wondering why the java plugin api class files are published under
share/collectd/java. Ideally, a java-plugin.jar file containing all the class
files should get published rather than the individual class files.
Additionally, the jar files IMO should get published to the lib directory where
the so files are sitting rather than the share directory.
Same holds true for jmx class files as well (probably jmx.jar?).
I could work on this if everyone is okay with it.
Regards
Amit
src/utils_cmd_listval.c: Fix a memory leak.
Thanks to Peter Warasin for figuring this out. His "garbage collector" patch
may replace this solution in future versions of collectd.
Thanks to Peter Warasin for figuring this out. His "garbage collector" patch
may replace this solution in future versions of collectd.
Bugfix: correctly handle spurious wakeups in pthread_cond_timedwait
This fixes problems storing data in rrd files on NetBSD 5.0 with more
than one CPU.
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
This fixes problems storing data in rrd files on NetBSD 5.0 with more
than one CPU.
Signed-off-by: Florian Forster <octo@huhu.verplant.org>