perl plugin: Added call_pv_locked() wrapper to handle thread locking flags.
perl plugin: Switched to PTHREAD_MUTEX_RECURSIVE locking
perl plugin: Fixes for #1706
* Fix coredump due to destroying interpreter on threads running perl.
* Fix deadlock when perl_log() is called from perl_init()
* Fix coredump due to destroying interpreter on threads running perl.
* Fix deadlock when perl_log() is called from perl_init()
perl plugin: lock base thread interpreter in perl_init() too.
Avoid race conditions with c_ithread_create() called from threads of already-initialized plugins.
Fix for https://github.com/collectd/collectd/issues/1706.
Avoid race conditions with c_ithread_create() called from threads of already-initialized plugins.
Fix for https://github.com/collectd/collectd/issues/1706.
curl_xml: fix 3 small memory leaks
Discovered while testing the previous 2 commits. NB: valgrind
already complained about these before 0afea606 was applied, so this
isn't related to issue #935.
Discovered while testing the previous 2 commits. NB: valgrind
already complained about these before 0afea606 was applied, so this
isn't related to issue #935.
Fix test for tables and empty instance
Change-Id: I9a3fc3ded9566bd68c80e5fbce2d8b717ea1848d
Change-Id: I9a3fc3ded9566bd68c80e5fbce2d8b717ea1848d
Revert "curl_xml plugin: Fixed tautological pointer comparison error."
Fixes #931
This reverts commit 0afea60611f115a28b8ec331aba610e3038c1ef2.
Fixes #931
This reverts commit 0afea60611f115a28b8ec331aba610e3038c1ef2.
Update meta_data.c
In the function meta_data_get_string(), when the type mismatchs,the ERROR statement should be
ERROR ("meta_data_get_string: Type mismatch for key `%s'", e->key);
not
ERROR ("meta_data_get_signed_int: Type mismatch for key `%s'", e->key);
In the function meta_data_get_string(), when the type mismatchs,the ERROR statement should be
ERROR ("meta_data_get_string: Type mismatch for key `%s'", e->key);
not
ERROR ("meta_data_get_signed_int: Type mismatch for key `%s'", e->key);
notify_email: avoid linking against libdl
This flag seems to have been accidentally added in 451d75bae1 and
prevents building the plugin on platforms which don't have GNU libc.
Conflicts:
src/Makefile.am
This flag seems to have been accidentally added in 451d75bae1 and
prevents building the plugin on platforms which don't have GNU libc.
Conflicts:
src/Makefile.am
Fix type instance sanitization in bind plugin
ipmi: use SIGIO instead of SIGUSR2 to avoid conflict with JVM
Java uses SIGUSR2 to suspend/resume threads. The OpenIPMI plugins also
need a signal to resume its event loop when setting a timer. They can't
both use the same signal. We ask OpenIPMI to use SIGIO instead.
This should fix #114.
Java uses SIGUSR2 to suspend/resume threads. The OpenIPMI plugins also
need a signal to resume its event loop when setting a timer. They can't
both use the same signal. We ask OpenIPMI to use SIGIO instead.
This should fix #114.
added doc CollectStatistics to section rrdcached
Fixes #907
Conflicts:
src/collectd.conf.pod
Fixes #907
Conflicts:
src/collectd.conf.pod
mysql: document defaults to boolean config options
types_list: fix carriage return sign
Many thanks to @NsLib for mentioning this !
Many thanks to @NsLib for mentioning this !
collectd.conf example: remove erroneous quotes
Thanks to @ymettier for pointing that out !
Thanks to @ymettier for pointing that out !
virt plugin: only gather stats for running domains
Conflicts:
src/libvirt.c
Conflicts:
src/libvirt.c
snmp: avoid freeing req under normal operation
Equivalent patch to 79e90bba5, to avoid issue #804 introduced while
fixing #610.
Equivalent patch to 79e90bba5, to avoid issue #804 introduced while
fixing #610.
fix grammar in plugin loading error message
"cause for this problem are" => "cause for this problem is"
"cause for this problem are" => "cause for this problem is"
curl_xml plugin: Fixed tautological pointer comparison error.
Fixes: http://bugs.debian.org/758481
Signed-off-by: Florian Forster <octo@collectd.org>
Fixes: http://bugs.debian.org/758481
Signed-off-by: Florian Forster <octo@collectd.org>
snmp: free snmp_pdu struct allocated by snmp_pdu_create()
This should fix the leak reported in issue #610.
This should fix the leak reported in issue #610.
add missing backticks which broke the build
don't assume pkg-config is in PATH
Configparser: when we alocate an empty list, we also need to reset the counter; else we will trip over this later.
This fixes https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=750440
This fixes https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=750440
indent wh_init() to be consistent with the rest of the file
Call curl_global_init() in _init of plugins using curl
Need to call curl_global_init() or curl_easy_init() during init
for plugins when we're still running single threaded. This
updates the remaining ones
Need to call curl_global_init() or curl_easy_init() during init
for plugins when we're still running single threaded. This
updates the remaining ones
network: comment libgcrypt initalization process
apache plugin: Call curl_global_init() from the init function.
This is a shot in the dark in trying to address #513. By calling this
from an init() callback, I hope to be initializing the curl and gcrypt
libraries before collectd becomes multi-threaded, avoiding the problems
described in the issue.
This is a shot in the dark in trying to address #513. By calling this
from an init() callback, I hope to be initializing the curl and gcrypt
libraries before collectd becomes multi-threaded, avoiding the problems
described in the issue.
10 years ago[network] set_thread_cbs so we initialize the right threading mode in gcry_check_version
[network] set_thread_cbs so we initialize the right threading mode in gcry_check_version
Signed-off-by: Florian Forster <octo@collectd.org>
Signed-off-by: Florian Forster <octo@collectd.org>
Revert "curl_xml.c: avoid using uninitalized variable in error message"
This reverts commit bbbf37d55a3959951604c4be482e9a705a0f86d9.
A different fix for this problem was commited to the collectd-5.4 branch
(8327ee64) and conflicts with this patch. Also, initializing url the
same way as 8327ee64 does it, to avoid a merge conflict.
This reverts commit bbbf37d55a3959951604c4be482e9a705a0f86d9.
A different fix for this problem was commited to the collectd-5.4 branch
(8327ee64) and conflicts with this patch. Also, initializing url the
same way as 8327ee64 does it, to avoid a merge conflict.
interface.c: FreeBSD-10 support
Quoting @trtrmitya in github issue #506 : "[...] it is broken on
FreeBSD-10, in which getifaddrs() returns not only link level stats for
a particular interface, but also entries for each IP configured on that
interface. As a result if_submit() is called several times for each
interface, which results in incorrect data being logged.
I am attaching a patch which fixes a problem on FreeBSD (9/10), but it
should work for every *BSD because [...] the getifaddrs implementation
first appeared in BSDi BSD/OS."
Many thanks to @trtrmitya for providing the patch !
Quoting @trtrmitya in github issue #506 : "[...] it is broken on
FreeBSD-10, in which getifaddrs() returns not only link level stats for
a particular interface, but also entries for each IP configured on that
interface. As a result if_submit() is called several times for each
interface, which results in incorrect data being logged.
I am attaching a patch which fixes a problem on FreeBSD (9/10), but it
should work for every *BSD because [...] the getifaddrs implementation
first appeared in BSDi BSD/OS."
Many thanks to @trtrmitya for providing the patch !
curl_xml.c: avoid using uninitalized variable in error message
Thanks to @trtrmitya for reporting this. Fixes GH#507
Thanks to @trtrmitya for reporting this. Fixes GH#507
Don't notify continuously when MySQL slave SQL thread is running
Signed-off-by: Florian Forster <octo@collectd.org>
Signed-off-by: Florian Forster <octo@collectd.org>
src/utils_mount.h: Add <stdio.h>.
This is required on Solaris 10. Thanks to dannypoo@ for reporting this
problem.
Github: #306
This is required on Solaris 10. Thanks to dannypoo@ for reporting this
problem.
Github: #306
Bump version to 4.10.9; Update ChangeLog.
network plugin: Make sure gcrypt is initialized before using any of its functions.
@marekbecka found that sockent_open() is called during the configuration
phase, but gcrypt is initialized later, during the initialization phase.
This patch will initialize gcrypt in sockent_open() if any sockets with
security are configured.
Fixes Github issue #273.
@marekbecka found that sockent_open() is called during the configuration
phase, but gcrypt is initialized later, during the initialization phase.
This patch will initialize gcrypt in sockent_open() if any sockets with
security are configured.
Fixes Github issue #273.
Don't clobber TMPDIR during Java detection
- Java detection used TMPDIR as var to parse command output
- TMPDIR is used in libltdl later on in ./configure
- alternative fix is local var or subshell
- fixes issue introduced via #33163ee
Conflicts:
configure.in
Signed-off-by: Florian Forster <octo@collectd.org>
- Java detection used TMPDIR as var to parse command output
- TMPDIR is used in libltdl later on in ./configure
- alternative fix is local var or subshell
- fixes issue introduced via #33163ee
Conflicts:
configure.in
Signed-off-by: Florian Forster <octo@collectd.org>
thermal plugin: set the hostname
Signed-off-by: Markus Knetschke <markus.knetschke@gmail.com>
Signed-off-by: Florian Forster <octo@collectd.org>
Signed-off-by: Markus Knetschke <markus.knetschke@gmail.com>
Signed-off-by: Florian Forster <octo@collectd.org>
thermal plugin: fixed value submitting
Signed-off-by: Markus Knetschke <markus.knetschke@gmail.com>
Signed-off-by: Florian Forster <octo@collectd.org>
Signed-off-by: Markus Knetschke <markus.knetschke@gmail.com>
Signed-off-by: Florian Forster <octo@collectd.org>
Allow parsing plugin_instance in parse_option().
isalnum() is not enough to catch the underscore.
Signed-off-by: Florian Forster <octo@collectd.org>
isalnum() is not enough to catch the underscore.
Signed-off-by: Florian Forster <octo@collectd.org>
mysql plugin: Call mysql_init() only once.
Apparently, if you call it with a structure allocated by mysql_init()
itself, it leaks memory. Thanks to Yves Mettier for pointing this out!
Fixes Github issue #274.
Apparently, if you call it with a structure allocated by mysql_init()
itself, it leaks memory. Thanks to Yves Mettier for pointing this out!
Fixes Github issue #274.
configure.in: Fix quoting of AC_LANG_PROGRAM().
Autoconf 2.68 complains about that and aborts building the configure
script. *sigh*
Autoconf 2.68 complains about that and aborts building the configure
script. *sigh*
src/filter_chain.c: Fixed typos in error messages
Signed-off-by: Florian Forster <octo@collectd.org>
Signed-off-by: Florian Forster <octo@collectd.org>
curl_xml plugin: Check for a curl_easy_perform() error first
The value of CURLINFO_RESPONSE_CODE isn't valid otherwise.
Also, use the symbolic name CURLE_OK in all plugins where
appropriate.
Change-Id: I17ae9c7eea393ee4641296b5484c93809a662dd9
Signed-off-by: Florian Forster <octo@collectd.org>
The value of CURLINFO_RESPONSE_CODE isn't valid otherwise.
Also, use the symbolic name CURLE_OK in all plugins where
appropriate.
Change-Id: I17ae9c7eea393ee4641296b5484c93809a662dd9
Signed-off-by: Florian Forster <octo@collectd.org>
Fix memory leaks when plugin gets no results
Signed-off-by: Florian Forster <octo@collectd.org>
Signed-off-by: Florian Forster <octo@collectd.org>
exec plugin: Fix a copy'n'paste mistake in a comment.
Thanks to Robert Riches Jr for the hint.
Thanks to Robert Riches Jr for the hint.
curl_json plugin: Call yajl_complete_parse() / yajl_parse_complete() only once.
The cURL callback may be called several times, so we need to call the
complete() function after perform() returns.
The cURL callback may be called several times, so we need to call the
complete() function after perform() returns.
Add protection from infinite redirect loops to curl-using plugins
Signed-off-by: Florian Forster <octo@collectd.org>
Signed-off-by: Florian Forster <octo@collectd.org>
curl_xml plugin: Fix potential dereference of NULL pointer.
I managed to get collectd to segfault in a couple of places while
playing with it a bit. The first is in the curl_xml module when the
XPATH expression doesn't quite match the input. The crash occurs on line
407 when instance_node->nodeTab[0] is dereferenced. At this point, all
members of instance_node are 0, so dereferencing the array isn't a good
idea. This patch fixes the problem, although I'm not sure if this
particular case actually deserves its own error message.
Signed-off-by: Florian Forster <octo@collectd.org>
I managed to get collectd to segfault in a couple of places while
playing with it a bit. The first is in the curl_xml module when the
XPATH expression doesn't quite match the input. The crash occurs on line
407 when instance_node->nodeTab[0] is dereferenced. At this point, all
members of instance_node are 0, so dereferencing the array isn't a good
idea. This patch fixes the problem, although I'm not sure if this
particular case actually deserves its own error message.
Signed-off-by: Florian Forster <octo@collectd.org>
curl's numeric options are always at minimum long, never int
This can affect portability to some architectures.
Signed-off-by: Florian Forster <octo@collectd.org>
This can affect portability to some architectures.
Signed-off-by: Florian Forster <octo@collectd.org>
cpu plugin: Remove broken debug message.
The message was uninformative and did cast a pointer to an int,
resulting in a compile error.
The message was uninformative and did cast a pointer to an int,
resulting in a compile error.
logfile plugin: Make "do_close" a boolean.
If the file isn't closed such as when logging to stdout or stderr the file must be flushed for it to get out of the IO buffers right away.
Signed-off-by: Florian Forster <octo@collectd.org>
Signed-off-by: Florian Forster <octo@collectd.org>
dbi plugin: Replace cdbi_config_set_string() with cf_util_get_string().
src/network.c: Fix the build on FreeBSD.
<gcrypt.h> accepts a definition called GCRYPT_NO_DEPRECATED to disable
deprecated functionality. Unfortunately, this definition is not
sufficient to suppress all warnings. However, FreeBSD's version of
libgcrypt has been fixed to properly remove all deprecated features.
Signed-off-by: Florian Forster <octo@collectd.org>
<gcrypt.h> accepts a definition called GCRYPT_NO_DEPRECATED to disable
deprecated functionality. Unfortunately, this definition is not
sufficient to suppress all warnings. However, FreeBSD's version of
libgcrypt has been fixed to properly remove all deprecated features.
Signed-off-by: Florian Forster <octo@collectd.org>
Update version-gen.sh.
Bump version to 4.10.8; Update ChangeLog.
ping plugin: Don't abort the "ping_thread" when ping_send() fails.
This may happen when the network is down. If the thread fails, the read
callback will indicate an error and the exponential back-off will start.
This is not optimal for this scenario, since you usually want to have
ping stats from right when the network is back up.
Fixes Github issue #171.
This may happen when the network is down. If the thread fails, the read
callback will indicate an error and the exponential back-off will start.
This is not optimal for this scenario, since you usually want to have
ping stats from right when the network is back up.
Fixes Github issue #171.
ping plugin: Refactor "ping_thread": Move iteration over hosts into a function.
12 years ago1) Cleans up one configure.ac error AC_LINK_IFELSE requires AC_LANG_PROGRAM (or somet...
1) Cleans up one configure.ac error AC_LINK_IFELSE requires AC_LANG_PROGRAM (or something similar) to get the setup right.
2) Fix for maintaier-clean so that you can run the autoreconf build script multiple times.
3) Clean up the generated man pages when running cleanup.
Signed-off-by: Florian Forster <octo@collectd.org>
2) Fix for maintaier-clean so that you can run the autoreconf build script multiple times.
3) Clean up the generated man pages when running cleanup.
Signed-off-by: Florian Forster <octo@collectd.org>
collectd-python.conf(5): fix register_* argument description
Signed-off-by: Florian Forster <octo@collectd.org>
Signed-off-by: Florian Forster <octo@collectd.org>
collectd-python.conf(5): change phrasing of function descriptions
Signed-off-by: Florian Forster <octo@collectd.org>
Signed-off-by: Florian Forster <octo@collectd.org>
collectd-python.conf(5): change phrasing of minimum required version
Signed-off-by: Florian Forster <octo@collectd.org>
Signed-off-by: Florian Forster <octo@collectd.org>
collectd-python.conf(5): fix trivial spelling mistakes
Signed-off-by: Florian Forster <octo@collectd.org>
Signed-off-by: Florian Forster <octo@collectd.org>
collectd-python.conf(5): capitalize Python
Signed-off-by: Florian Forster <octo@collectd.org>
Signed-off-by: Florian Forster <octo@collectd.org>
network.c: call gcry_check_version() as required by library.
Signed-off-by: Florian Forster <octo@collectd.org>
Signed-off-by: Florian Forster <octo@collectd.org>
Merge remote-tracking branch 'trenkel/collectd-4.10' into collectd-4.10
Change the libnetlink function used to query link statistics to match iproute2's behavior and thus not trip on the kernel's new parsing of optional attributes for RTM_GETLINK.
Signed-off-by: Florian Forster <octo@collectd.org>
Signed-off-by: Florian Forster <octo@collectd.org>
disk plugin: Multiply the average read/write latency with the interval.
The counter/derive will later be divided by the interval, resulting in too
small rates (for interval > 1.0).
Should fix issue #150. Thanks to Manuel Sanmartin for identifying this problem!
The counter/derive will later be divided by the interval, resulting in too
small rates (for interval > 1.0).
Should fix issue #150. Thanks to Manuel Sanmartin for identifying this problem!
python: Fix memory leaks.
network.c: workaround for broken OSX compilers issuing false warnings
Signed-off-by: Florian Forster <octo@collectd.org>
Signed-off-by: Florian Forster <octo@collectd.org>
src/utils_db_query.[ch]: Remove duplicate "const" modifier.
Merge branch 'ff/snmp' into collectd-4.10
snmp plugin: Fix incorrect comparison in csnmp_oid_compare().
snmp plugin: Check the return value of csnmp_oid_suffix().
Also fix an issue where the complete OID is compared with only the suffix.
Thanks to Mark Juric to test the changes and point out these problems.
Issue: #131
Also fix an issue where the complete OID is compared with only the suffix.
Thanks to Mark Juric to test the changes and point out these problems.
Issue: #131
snmp plugin: Fix iterating over tables without an instance configuration.
Also should fix incorrect handling of instance values; the first one would
be skipped.
Also should fix incorrect handling of instance values; the first one would
be skipped.
configure: Only set the Perl interpreter if the argument is a file.
This fixes Github issue #137.
This fixes Github issue #137.
Fixed bugs that prevented to "make distcheck"
Fixes Github issue #132.
Signed-off-by: Florian Forster <octo@collectd.org>
Fixes Github issue #132.
Signed-off-by: Florian Forster <octo@collectd.org>
Fix for Solaris when setting ip-opt multicast-loop (must be a char, not int).
General logging additions for tracking down the problem.
Signed-off-by: Florian Forster <octo@collectd.org>
General logging additions for tracking down the problem.
Signed-off-by: Florian Forster <octo@collectd.org>
Multithreading fix: localize unneeded global variable
snmp plugin: Improve subtree matching.
Some MIBs use subtrees with an unusual OID naming schema. For example,
some network hardware encodes the MAC address in the last six parts of
the OID. Previously, the code only checked the last part of the OID
("sub-id") and assumed this was increasing. This assumption is not true
in such naming schemas and is not required by SNMP. This patch fixes
this behavior by comparing the entire "OID suffix".
This hopefully fixes Github issue #131.
Some MIBs use subtrees with an unusual OID naming schema. For example,
some network hardware encodes the MAC address in the last six parts of
the OID. Previously, the code only checked the last part of the OID
("sub-id") and assumed this was increasing. This assumption is not true
in such naming schemas and is not required by SNMP. This patch fixes
this behavior by comparing the entire "OID suffix".
This hopefully fixes Github issue #131.
snmp plugin: Expand tabs.
snmp plugin: Rename a couple of confusing variables.
"head" and "tail" are way better names, I hope.
"head" and "tail" are way better names, I hope.
snmp plugin: Improve some comments.
bindings/Makefile: perl: Use INSTALL_BASE rather than PREFIX.
Some versions of Perl / ExtUtils::MakeMaker will else abort with an error
message explaining INSTALL_BASE and PREFIX may not be used both. However, I
don't know where the other definition comes from.
Signed-off-by: Florian Forster <octo@collectd.org>
Some versions of Perl / ExtUtils::MakeMaker will else abort with an error
message explaining INSTALL_BASE and PREFIX may not be used both. However, I
don't know where the other definition comes from.
Signed-off-by: Florian Forster <octo@collectd.org>
configure: Don't add -liptc to the global LIBS setting.
AC_SEARCH_LIBS() would do that, so save and restore LIBS when calling that
macro.
Signed-off-by: Florian Forster <octo@collectd.org>
AC_SEARCH_LIBS() would do that, so save and restore LIBS when calling that
macro.
Signed-off-by: Florian Forster <octo@collectd.org>
configure: Use AC_INCLUDES_DEFAULT when checking any libkvm stuff.
kvm.h requires sys/types.h to be included. Using AC_INCLUDES_DEFAULT will
hopefully make sure that we're save for a bit ;-)
Signed-off-by: Florian Forster <octo@collectd.org>
kvm.h requires sys/types.h to be included. Using AC_INCLUDES_DEFAULT will
hopefully make sure that we're save for a bit ;-)
Signed-off-by: Florian Forster <octo@collectd.org>
curl_xml plugin: Mark read-only strings as const.
fix Host config being ignored
Change-Id: I8a109818d8a821e2f3e0660fbb6ba1843279fcc2
Signed-off-by: Florian Forster <octo@collectd.org>
Change-Id: I8a109818d8a821e2f3e0660fbb6ba1843279fcc2
Signed-off-by: Florian Forster <octo@collectd.org>
apcups plugin: Retry sending the "status" command.
If that fails more than twice in the first 10 iterations, gracefully shut
down the socket in all future iterations.
This should fix Github issue #15.
If that fails more than twice in the first 10 iterations, gracefully shut
down the socket in all future iterations.
This should fix Github issue #15.
apcups plugin: Add function net_shutdown().
apcups plugin: Make sure the socket is closed on errors.
src/utils_db_query.c: Use the right field when checking for size.
Revert "swap plugin: Add the "ReportBytes" option."
This reverts commit 25fd1667c186eb871a4b66f9866d6446e41f1bc2.
This reverts commit 25fd1667c186eb871a4b66f9866d6446e41f1bc2.
swap plugin: Add the "ReportBytes" option.
When enabled, swap I/O is reported in bytes, not pages. Only valid for Linux.
This should fix Github issue #10.
When enabled, swap I/O is reported in bytes, not pages. Only valid for Linux.
This should fix Github issue #10.
exec plugin: Really remove STDERR from the select() set.
select(2) is actually using a variable called "copy", which we didn't set in
this case.
Fixes Github issue #12. Thanks to Tetsuya Kawaguchi for reporting this problem.
select(2) is actually using a variable called "copy", which we didn't set in
this case.
Fixes Github issue #12. Thanks to Tetsuya Kawaguchi for reporting this problem.
configure.in: Make sure sa_familiy_t is defined when checking rtnl_dump_filter().
netlink plugin: Check for the number of arguments to 'rtnl_dump_filter'.
In recent versions of iproute2, 'rtnl_dump_filter' expects three rather than
five arguments.
This should fix Github issue #7.
Signed-off-by: Florian Forster <octo@collectd.org>
In recent versions of iproute2, 'rtnl_dump_filter' expects three rather than
five arguments.
This should fix Github issue #7.
Signed-off-by: Florian Forster <octo@collectd.org>
Fixed collectd's unixsock read interrupted by SIGCHLD's.
Signed-off-by: Florian Forster <octo@collectd.org>
Signed-off-by: Florian Forster <octo@collectd.org>
Fixed various collectd memory leaks.
Once I understood what's going on I tried to keep the changes to a minimum.
Signed-off-by: Florian Forster <octo@collectd.org>
Once I understood what's going on I tried to keep the changes to a minimum.
Signed-off-by: Florian Forster <octo@collectd.org>
Merge branch 'ff/kstat' into collectd-4.10