src/common.c: Fix strstripnewline().
Because the length of the string was decremented too late, the function
would actually overwrite the trailing null byte instead of the newline.
Because the length of the string was decremented too late, the function
would actually overwrite the trailing null byte instead of the newline.
RPM specfile: enable netlink plugin on RHEL > 5
RPM specfile: fix bogus dates
modern rpmbuild versions appear to be more strict on this point.
modern rpmbuild versions appear to be more strict on this point.
RPM specfile: support for RHEL7
RPM specfile: remove duplicate modbus block
network plugin: Improve client connecting behavior.
This moves the socket creation logic so it's called from
networt_send_buffer_plain(). This allows us to recover after network
failures or when collectd was started before the network was available.
Fixes: #627
This moves the socket creation logic so it's called from
networt_send_buffer_plain(). This allows us to recover after network
failures or when collectd was started before the network was available.
Fixes: #627
src/utils_match.[ch]: Implement match_value_reset().
This is called from the curl and memcachec plugins. Previously, gauge
average, minimum and maximum values were calculated since the start of
the daemon, rather than per-interval. This is not the documented
functionality.
Fixes: #663
This is called from the curl and memcachec plugins. Previously, gauge
average, minimum and maximum values were calculated since the start of
the daemon, rather than per-interval. This is not the documented
functionality.
Fixes: #663
curl plugin: Use the utility functions for config handling.
Merge remote-tracking branch 'github/collectd-5.3' into collectd-5.3
src/meta_data.c: If the meta_data_t is empty, avoid calling malloc(0).
src/utils_format_json.c: Handle empty meta_data_t gracefully.
Previously, `meta != NULL` and `keys_num == 0` was possible and would
result in "{}", which is not valid JSON.
Fixes: 716
Previously, `meta != NULL` and `keys_num == 0` was possible and would
result in "{}", which is not valid JSON.
Fixes: 716
python plugin: Don't create empty meta_data_t objects.
Fixes: #716
Fixes: #716
src/utils_rrdcreate.c: Free "args".
Thanks to Yves Mettier for pointing this out!
Fixes: #661
Thanks to Yves Mettier for pointing this out!
Fixes: #661
RPM specfile: update changelog without incrementing release number
GenericJMXConfConnection: Remove unused imports.
java plugin: Make sure cjni_thread_detach() is called on all paths.
Each call to cjni_thread_attach() much be accompanied by
a call to cjni_thread_detach(). Some error handling cases were missing
the call, potentially locking the plugin up.
Each call to cjni_thread_attach() much be accompanied by
a call to cjni_thread_detach(). Some error handling cases were missing
the call, potentially locking the plugin up.
EL <6 provide perl-ExtUtils-Embed with base perl
Conflicts:
contrib/redhat/collectd.spec
Conflicts:
contrib/redhat/collectd.spec
collectd.conf: Fix default packet size of the network plugin.
Fixes: #710
Fixes: #710
Merge branch 'collectd-4.10' into collectd-5.3
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>
collectd.conf(5): add detail & example about multi-instance filterchain targets
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.
Merge pull request #689 from ymettier/ym/cd53_fix_tcpconns_inet_diag
Fix for 'linux/inet_diag.h: No such file or directory'
Fix for 'linux/inet_diag.h: No such file or directory'
RedHat RPM spec: add modbus plugin
... now that EPEL6 provides libmodbus
... now that EPEL6 provides libmodbus
Fix for 'linux/inet_diag.h: No such file or directory'
fix: use DOUBLE_TO_CDTIME_T() to match input type
... as strtod() returns a double not a time_t.
Follow-up to 7d1d59fb to match what ada80db25 does (currently in
master) and avoid a merge conflict.
... as strtod() returns a double not a time_t.
Follow-up to 7d1d59fb to match what ada80db25 does (currently in
master) and avoid a merge conflict.
mistake, SAVE_LIBS="$LIBS" is correct.
patch required to build oracle plugin, collectd-5.4.0 (#653)
Merge pull request #579 from mfournier/libiptc-ldflags
link iptables plugin against flags from pkg-config
link iptables plugin against flags from pkg-config
utils_vl_lookup: Fixed a race when creating user objects.
This could cause multiple aggregation instances to be created in the
aggregation plugin when first writing data to the plugin. This, in turn, led
to "value too old" warnings because subsequently all data was submitted twice.
Thanks to @faxm0dem for reporting this in GH #535.
This could cause multiple aggregation instances to be created in the
aggregation plugin when first writing data to the plugin. This, in turn, led
to "value too old" warnings because subsequently all data was submitted twice.
Thanks to @faxm0dem for reporting this in GH #535.
Plugin exec: change notification time to integer.
Acording to collectd-exec.5 NOTIFICATION DATA FORMAT: time is epoch, i. e. as seconds since 1970-01-01 00:00:00 UTC.
Acording to collectd-exec.5 NOTIFICATION DATA FORMAT: time is epoch, i. e. as seconds since 1970-01-01 00:00:00 UTC.
cmd PUTNOTIF time option: handle double values.
Conflicts:
src/utils_cmd_putnotif.c
Conflicts:
src/utils_cmd_putnotif.c
Plugin java: fix notification time conversion to cdtime_t.
Plugin threshold: time is not set in missing notifications.
manpage: document 2 missing options to amqp plugin section
add missing backticks which broke the build
write_riemann: coding style consistency
Make the style in line with 50d1b34d6 (from master) and avoid later
merge conflict.
Make the style in line with 50d1b34d6 (from master) and avoid later
merge conflict.
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
Add DeleteSocket option in synopsis of manpage
Signed-off-by: Florian Forster <octo@collectd.org>
Signed-off-by: Florian Forster <octo@collectd.org>
add brackets to the list of characters graphite chokes on
Graphite deals poorly with metric names containing quotes.
Sanitize graphite metrics with our own escaping function,
better suited for this use-case than the one in `utils_parse_option`
Sanitize graphite metrics with our own escaping function,
better suited for this use-case than the one in `utils_parse_option`
fix for #477: Notification time gone wrong
Sub-second time handling was added in collectd 5.0.0. This adds support
for this to the target_notification plugin, which got missed out at the
time.
Sub-second time handling was added in collectd 5.0.0. This adds support
for this to the target_notification plugin, which got missed out at the
time.
Updated Color to match DataSources and DSName for single-series graphs.
Fix missed change from int to double for interval
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
link iptables plugin against flags from pkg-config
This solves issue #326 for ubuntu versions >= 13.10
This solves issue #326 for ubuntu versions >= 13.10
write_riemann plugin: Receive acknowledge message when using TCP.
Not receiving an acknowledge message when communicating with riemann over TCP
will cause the riemann instance to eventually hang for extended periods of time
because of resource exhaustion.
Took the time to reaorganize the riemann_send function to simplify locking.
Not receiving an acknowledge message when communicating with riemann over TCP
will cause the riemann instance to eventually hang for extended periods of time
because of resource exhaustion.
Took the time to reaorganize the riemann_send function to simplify locking.
Please free strings *after* printing them ;-)
Signed-off-by: Florian Forster <octo@collectd.org>
Signed-off-by: Florian Forster <octo@collectd.org>
Merge remote-tracking branch 'origin/collectd-4.10' into collectd-5.3
Merge remote-tracking branch 'origin/pr/490' into collectd-5.3
configure: Fixed linker options when checking for amqp_tcp_socket_new.
This fixes the check when using GCC's --as-needed which fails when options are
not specified in the right order. Libraries (-l options) have to be specified
after any source files. autoconf does the right thing when using $LIBS for
that case rather than $LDFLAGS.
This fixes the check when using GCC's --as-needed which fails when options are
not specified in the right order. Libraries (-l options) have to be specified
after any source files. autoconf does the right thing when using $LIBS for
that case rather than $LDFLAGS.
amqp plugin: Don't use C++ style comments.
Merge pull request #2 from mfournier/amqp-symbol_lookup
amqp: fix symbol lookup error with librabbitmq >= 0.4.0
amqp: fix symbol lookup error with librabbitmq >= 0.4.0
amqp: fix symbol lookup error with librabbitmq >= 0.4.0
amqp_socket_close() which we were using isn't exported anymore.
See https://github.com/alanxz/rabbitmq-c/commit/bdda7ab
amqp_destroy_connection() implicitly closes the socket, so we don't need
to bother about this if using librabbitmq >= 0.4.0
credits to @tokkee for figuring that out !
amqp_socket_close() which we were using isn't exported anymore.
See https://github.com/alanxz/rabbitmq-c/commit/bdda7ab
amqp_destroy_connection() implicitly closes the socket, so we don't need
to bother about this if using librabbitmq >= 0.4.0
credits to @tokkee for figuring that out !
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>
amqp plugin: Fixed compilation when using rabbitmq-c < 0.4.
Thanks to Marc Fournier for noticing!
Thanks to Marc Fournier for noticing!
Merge branch 'collectd-4.10' into collectd-5.3
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
curl plugin: Fixed a segfault when using <Match> without an Instance.
Thanks to Alexander Golovko for reporting this in
http://bugs.debian.org/732701
Thanks to Alexander Golovko for reporting this in
http://bugs.debian.org/732701
amqp plugin: Added support for rabbitmq-c 0.4.x.
Upstream introduced a new socket interface and deprecated the old one. This
leads to compiler errors when using GCC and -Werror.
Upstream introduced a new socket interface and deprecated the old one. This
leads to compiler errors when using GCC and -Werror.
collection3: Fix data source names
Data sources were renamed in 6c1415d, but the data source names for some
of these entries still referenced the old data sources.
Data sources were renamed in 6c1415d, but the data source names for some
of these entries still referenced the old data sources.
Link to IOKit using -framework
The libIOKit.dylib symlink no longer exists in OS X 10.9 Mavericks, we
now have to link using -framework. This should also work in all previous
versions of OS X.
Signed-off-by: Florian Forster <octo@collectd.org>
The libIOKit.dylib symlink no longer exists in OS X 10.9 Mavericks, we
now have to link using -framework. This should also work in all previous
versions of OS X.
Signed-off-by: Florian Forster <octo@collectd.org>
src/types.db: Remove maximum value on "cache_size".
Fixes #466. Thanks to @dlacko for pointing this out!
Fixes #466. Thanks to @dlacko for pointing this out!
Merge pull request #393 from mfournier/prevent-building-with-old-libpcap
Prevent building with old libpcap
Prevent building with old libpcap
fix error message in target_{replace,set}
Remove erroneous hint that "Type" can be altered. Also correct a small
typo. Thanks to @mjulian for pointing that out !
Fixes GH#448
Remove erroneous hint that "Type" can be altered. Also correct a small
typo. Thanks to @mjulian for pointing that out !
Fixes GH#448
Update collectd.conf.pod
spotted by lukas227 in IRC:
23:43 < lukas227> Hi, I think I found a mistake in the threshold.conf(5) man page: the example
THRESHOLD CONFIGURATION is within <Threshold></Threshold> tags, but should
probably be within <Plugin "threshold"></Plugin> tags (doesn work with
<Threshold> for me)
Day changed to 27 Sep 2013
Signed-off-by: Florian Forster <octo@collectd.org>
spotted by lukas227 in IRC:
23:43 < lukas227> Hi, I think I found a mistake in the threshold.conf(5) man page: the example
THRESHOLD CONFIGURATION is within <Threshold></Threshold> tags, but should
probably be within <Plugin "threshold"></Plugin> tags (doesn work with
<Threshold> for me)
Day changed to 27 Sep 2013
Signed-off-by: Florian Forster <octo@collectd.org>
Avoid using first person in the error message
Signed-off-by: Florian Forster <octo@collectd.org>
Signed-off-by: Florian Forster <octo@collectd.org>
Replace you with your in error message
Signed-off-by: Florian Forster <octo@collectd.org>
Signed-off-by: Florian Forster <octo@collectd.org>
zfs_arc plugin: Collect "allocated" and "stolen" on FreeBSD only.
The appropriate log messages have been demoted to WARNING.
Github: #305
The appropriate log messages have been demoted to WARNING.
Github: #305
curl_json plugin: avoid accessing off the end of the avl_tree_s
It's not written this way, but really we have a union { *key; *tree; }
which is differentiated by checking for the presence a magic field
which only exists in key. This leads to accesses off the end of the
tree. Putting the magic at start of the key avoids this.
Signed-off-by: Florian Forster <octo@collectd.org>
It's not written this way, but really we have a union { *key; *tree; }
which is differentiated by checking for the presence a magic field
which only exists in key. This leads to accesses off the end of the
tree. Putting the magic at start of the key avoids this.
Signed-off-by: Florian Forster <octo@collectd.org>
curl_json plugin: avoid unlikely overrun
Signed-off-by: Florian Forster <octo@collectd.org>
Signed-off-by: Florian Forster <octo@collectd.org>
Merge branch 'collectd-5.2' into collectd-5.3
Attempt to fix collectd/collectd#229 by doing user / group lookups before we fork.
Signed-off-by: Florian Forster <octo@collectd.org>
Signed-off-by: Florian Forster <octo@collectd.org>
RedHat RPM spec: support for RHEL5
plus some minor updates: bump version to 5.3.1 & add usage example.
plus some minor updates: bump version to 5.3.1 & add usage example.
check if libpcap has PCAP_ERROR_IFACE_NOT_UP
This should prevent DNS plugin from being built on systems with libpcap
older than 1.0.0.
GitHub issue #373
This should prevent DNS plugin from being built on systems with libpcap
older than 1.0.0.
GitHub issue #373
memcached plugin: actually connect when using a unix socket
Signed-off-by: Florian Forster <octo@collectd.org>
Signed-off-by: Florian Forster <octo@collectd.org>
csv plugin: set datadir null when free
If you define twice DataDir:
<Plugin csv>
DataDir "/opt/collectd/var/lib/collectd/csv"
DataDir stdout
</Plugin>
the second time datadir will not be null and
you will get garbage in value_list_to_filename
Signed-off-by: Florian Forster <octo@collectd.org>
If you define twice DataDir:
<Plugin csv>
DataDir "/opt/collectd/var/lib/collectd/csv"
DataDir stdout
</Plugin>
the second time datadir will not be null and
you will get garbage in value_list_to_filename
Signed-off-by: Florian Forster <octo@collectd.org>
csv plugin: fix forgotten "datadir" in re-implement value_list_to_filename()
In the commit 7f90e30 the re-implementation of value_list_to_filename
forgot to prepend the datadir string.
Signed-off-by: Florian Forster <octo@collectd.org>
In the commit 7f90e30 the re-implementation of value_list_to_filename
forgot to prepend the datadir string.
Signed-off-by: Florian Forster <octo@collectd.org>
rrdcached, rrdtool plugins: Add directory separator after datadir.
D'oh! Thanks to @rcpoison for pointing this out!
Github: #380
D'oh! Thanks to @rcpoison for pointing this out!
Github: #380
rrdcached, rrdtool plugins: Honor the "DataDir" setting.
This fixes a regression introduced in:
bfd3f06ef4996707036756371c5724ebf2748821
Github: #380
This fixes a regression introduced in:
bfd3f06ef4996707036756371c5724ebf2748821
Github: #380
lpar: make dots in configure.in consistent with other plugins
Bump version to 5.3.1; Update ChangeLog.
Merge branch 'collectd-5.2' into collectd-5.3
src/plugin.c: Free the "data_sets" AVL tree.
This pops up every time I investigate memory leaks and it's annoying me.
This pops up every time I investigate memory leaks and it's annoying me.
write_graphite plugin: Don't call close() on invalid file descriptors.
write_graphite plugin: Don't call close() on invalid file descriptors.
write_graphite plugin: Actually check the return value of wg_send_message().
Assignment to "status" was missing.
Assignment to "status" was missing.
Merge branch 'collectd-5.2' into collectd-5.3
rrdtool, rrdcached plugins: Re-implement value_list_to_filename().
Faster version without snprintf().
Faster version without snprintf().
csv plugin: Re-implement value_list_to_filename().
The new implementation is faster, because it doesn't use snprintf().
The new implementation is faster, because it doesn't use snprintf().
src/common.c: Reimplement format_name for performance.
This is used from uc_update(), i.e. for every value list dispatched, and was
one of the most expensive functions thanks to snprintf().
This reduces total time spent in the format_name() function from 7.78% to 1.89%
during a network stress test.
This is used from uc_update(), i.e. for every value list dispatched, and was
one of the most expensive functions thanks to snprintf().
This reduces total time spent in the format_name() function from 7.78% to 1.89%
during a network stress test.
Test for end of oid tree without breaking collection loop.
collectd-threshold(5): Correct the description of the "Interesting" config option.