oconfig: fix oconfig_free to free all elements
The recursive nature of this function made it difficult to free the root
node of the config tree. Splitting it in 2 allows to work around this
problem.
The recursive nature of this function made it difficult to free the root
node of the config tree. Splitting it in 2 allows to work around this
problem.
Merge branch 'collectd-5.4'
Merge branch 'collectd-5.3' into collectd-5.4
/bin/sh on OSX doesn't understand -n
This breaks PACKAGEVERSION since the -n is left verbatim in the string.
Use the more portable printf instead
This breaks PACKAGEVERSION since the -n is left verbatim in the string.
Use the more portable printf instead
Merge pull request #1024 from rubenk/fix-version-gen-on-osx
/bin/sh on OSX doesn't understand -n
/bin/sh on OSX doesn't understand -n
Merge pull request #1016 from mfournier/write_sensu-format-string
write_sensu: fix format-string portability problem
write_sensu: fix format-string portability problem
/bin/sh on OSX doesn't understand -n
This breaks PACKAGEVERSION since the -n is left verbatim in the string.
Use the more portable printf instead
This breaks PACKAGEVERSION since the -n is left verbatim in the string.
Use the more portable printf instead
Merge pull request #1002 from ciomaire/master
write_kafka plugin : Create kafka handles from kafka_write callback rather than the config callback
write_kafka plugin : Create kafka handles from kafka_write callback rather than the config callback
Merge pull request #1014 from mfournier/fix-path-to-java
improve java detection/defaults in configure script
improve java detection/defaults in configure script
RPM specfile: update summary to be consistent with .deb packages
RPM specfile: remove superfluous '--without-*' configure flags
- use _POSIX2_LINE_MAX for errbuf as stated by kvm(3).
- fix error msg on kvm_openfiles failure
- fix error msg on kvm_openfiles failure
fixes swap plugin on FreeBSD Jail
fixes processes plugin on FreeBSD Jail
configure: add return() statements in 3 AC_LANG_PROGRAM() blocks
This allows the dns and df plugins to get built also in the case the
configure script is run with `CC="gcc -Wall -Werror"`.
This allows the dns and df plugins to get built also in the case the
configure script is run with `CC="gcc -Wall -Werror"`.
RPM specfile: correct copy-paste error
write_sensu: fix format-string portability problem
Casting counters, derives and abolutes to int64_t was incorrect, as they
are respectively `unsigned long long`, `int64_t` and `uint64_t`.
Apart from potentially loosing precision, the `%ld` format-string made
clang choke on the 32bit architecture (follow-up to 78340212).
Casting counters, derives and abolutes to int64_t was incorrect, as they
are respectively `unsigned long long`, `int64_t` and `uint64_t`.
Apart from potentially loosing precision, the `%ld` format-string made
clang choke on the 32bit architecture (follow-up to 78340212).
make java components discovery follow symlinks
When `--with-java` points to a symlink, `find` should resolve it, making
the configure script work seamlessly with symlinks pointing to JDK
installations.
This fixes the confusing discrepancy between `--with-java=/path/to/java`
failing and `--with-java=/path/to/java/` working.
When `--with-java` points to a symlink, `find` should resolve it, making
the configure script work seamlessly with symlinks pointing to JDK
installations.
This fixes the confusing discrepancy between `--with-java=/path/to/java`
failing and `--with-java=/path/to/java/` working.
Fallback to /usr/lib/jvm if JAVA_HOME is not set
This makes the java plugin build out of the box
on systems with a JDK installed.
/usr/lib/jvm is the default location for the JDK
on at least Fedora, Red Hat and Debian.
This makes the java plugin build out of the box
on systems with a JDK installed.
/usr/lib/jvm is the default location for the JDK
on at least Fedora, Red Hat and Debian.
cleanup test-related files
update ignored test-related files
tests: include tests/macros.h in release tarballs
This is needed to run the tests outside of the git repository.
This is needed to run the tests outside of the git repository.
Merge branch 'collectd-4.10' into collectd-5.3
Merge pull request #1008 from remicollet/issue-librabbitmq-060
fix build with librabbitmq 0.6.0
Also backported to the collectd-5.3 branch as bd60e5 and 7fd46078d.
fix build with librabbitmq 0.6.0
Also backported to the collectd-5.3 branch as bd60e5 and 7fd46078d.
check if AMQP_VERSION exists
check if AMQP_VERSION exists
fix build with librabbitmq 0.6.0
fix build with librabbitmq 0.6.0
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);
fix double free errors found by valgrind
Create kafka handles from within write callback
write_sensu: fix 2 format-related details
The default CC on freebsd-10 (clang 3.4) spotted these issues:
write_sensu.c:494:38: error: format specifies type 'long long' but the argument has type 'int64_t' (aka 'long') [-Werror,-Wformat]
write_sensu.c:494:45: error: data argument not used by format string [-Werror,-Wformat-extra-args]
The default CC on freebsd-10 (clang 3.4) spotted these issues:
write_sensu.c:494:38: error: format specifies type 'long long' but the argument has type 'int64_t' (aka 'long') [-Werror,-Wformat]
write_sensu.c:494:45: error: data argument not used by format string [-Werror,-Wformat-extra-args]
Merge branch 'collectd-5.4'
Conflicts:
src/Makefile.am
src/network.c
Conflicts:
src/Makefile.am
src/network.c
Merge branch 'collectd-5.3' into collectd-5.4
write_kafka: correct mistyped function name
write_kafka: fix typo preventing --with-librdkafka from working as expected
Merge remote-tracking branch 'origin/pr/1001'
Merge branch 'collectd-4.10' into collectd-5.3
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
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.
This flag seems to have been accidentally added in 451d75bae1 and
prevents building the plugin on platforms which don't have GNU libc.
Merge branch 'collectd-5.3' into collectd-5.4
Revert "version-gen.sh: Switch to bash due to bashisms."
The last bashism was removed in 4d376681. Reverting to /bin/sh prevents
build errors on platforms without bash installed by default.
This reverts commit 3bda88e8b425f43644e303e6957e38ae59c1bc83.
The last bashism was removed in 4d376681. Reverting to /bin/sh prevents
build errors on platforms without bash installed by default.
This reverts commit 3bda88e8b425f43644e303e6957e38ae59c1bc83.
write_sensu: pass literal string to ERROR() macro
This allows building with gcc's `-Werror=format-security` flag, which is
enforced when building debian packages.
See https://wiki.debian.org/Hardening
This allows building with gcc's `-Werror=format-security` flag, which is
enforced when building debian packages.
See https://wiki.debian.org/Hardening
Merge remote-tracking branch 'origin/pr/998'
network: set ttl before opening server sockets
If TimeToLive is defined in collectd.conf after Server options, the
net_config_ttl value is updated after network_config_add_server and
the desired ttl is not used.
If TimeToLive is defined in collectd.conf after Server options, the
net_config_ttl value is updated after network_config_add_server and
the desired ttl is not used.
Warn if ttl is out of bounds
openvpn plugin: Don't signal an error when no clients are connected.
In the multi1_read() function, an error (zero) was returned when no
clients were currently connected to the OpenVPN server, because the
"read" variable was initialized to zero and the while loop exited before
it was set to one. This is not the intended behavior.
Thanks to @srix for reporting this issue!
Fixes: #731
In the multi1_read() function, an error (zero) was returned when no
clients were currently connected to the OpenVPN server, because the
"read" variable was initialized to zero and the while loop exited before
it was set to one. This is not the intended behavior.
Thanks to @srix for reporting this issue!
Fixes: #731
Merge branch 'collectd-5.4'
README: ordering
RPM specfile: add write_sensu and ipc plugins
Merge branch 'collectd-5.3' into collectd-5.4
ipc: don't enable by default in example config file
ipc: build on AIX by default
ipc: don't document plugin without any options
ipc: remove extraneous call to sysconf()
Merge remote-tracking branch 'origin/pr/925'
write_sensu: documentation wording, wrap long lines
Thanks to @jamtur01 for reviewing !
Thanks to @jamtur01 for reviewing !
Merge remote-tracking branch 'origin/pr/912'
Merge remote-tracking branch 'origin/pr/946'
Conflicts:
src/collectd.conf.pod
Conflicts:
src/collectd.conf.pod
curl-based plugins: disable Timeout option if libcurl < 7.16.2
This could be done better, but as it's a non-essential feature and
7.16.2 is 8 years old, I favor not over-complicating things.
This could be done better, but as it's a non-essential feature and
7.16.2 is 8 years old, I favor not over-complicating things.
Merge remote-tracking branch 'origin/pr/993'
Merge remote-tracking branch 'origin/pr/985'
Merge remote-tracking branch 'origin/pr/693'
Conflicts:
src/collectd.conf.pod
Conflicts:
src/collectd.conf.pod
dbi plugin: fix a warning mentioning snmp plugin
write_http: make sure CURLOPT_* only get longs
... to avoid portability problems.
... to avoid portability problems.
make sure CURLOPT_TIMEOUT_MS only gets longs
... to avoid portability problems.
... to avoid portability problems.
bind: fix a memory leak
Bind plugin: Add support for per-zone stats in v3 XML
Contrary to Victor's saying in commit 78e89b2e0c205 (bind plugin: add
support for the new XML v3 API.), XML v3 API does support per-zone
statistics.
By default those statistics are limited to zone serial as if
zone-statistics terse;
was listed in each zone definition block.
To obtain full statistics the above default must be overridden with:
zone-statistics full;
Signed-off-by: Bruno Prémont <bonbons@linux-vserver.org>
Contrary to Victor's saying in commit 78e89b2e0c205 (bind plugin: add
support for the new XML v3 API.), XML v3 API does support per-zone
statistics.
By default those statistics are limited to zone serial as if
zone-statistics terse;
was listed in each zone definition block.
To obtain full statistics the above default must be overridden with:
zone-statistics full;
Signed-off-by: Bruno Prémont <bonbons@linux-vserver.org>
collectd.conf.pod: clarify possibly confusing statement
curl: correct typo in error message
doc & comments: s/mili/milli/
ascent: Add support for specifying a connection timeout
nginx: Add support for specifying a connection timeout
bind: Add support for specifying a connection timeout
apache: Add support for specifying a connection timeout
curl_xml: Add support for specifying a connection timeout
curl: adapt Timeout doc bits to new behaviour
Also clarify the ins and outs of stalled network connections regarding
threads consumption and add warning about timeouts and
MeasureResponseTime.
Also clarify the ins and outs of stalled network connections regarding
threads consumption and add warning about timeouts and
MeasureResponseTime.
Merge branch 'collectd-4.10' into collectd-5.3
Fix type instance sanitization in bind plugin
curl_json: allow Timeout to be set to 0
also use the per-instance interval or plugin_get_interval() as the
default value, depending on which one is configured.
also use the per-instance interval or plugin_get_interval() as the
default value, depending on which one is configured.
curl: allow Timeout to be set to 0
also use plugin_get_interval() rather than cf_get_default_interval() to
take per-plugin interval in account.
also use plugin_get_interval() rather than cf_get_default_interval() to
take per-plugin interval in account.
curl_json: Add support for specifying a connection timeout
There's apparently no need to init the config values in the `db` struct;
memset() is used earlier in the process. This patch doesn't change this
convention.
There's apparently no need to init the config values in the `db` struct;
memset() is used earlier in the process. This patch doesn't change this
convention.
curl: Add support for specifying a connection timeout
battery: do not report sysfs ENODEV failure
Linux reports ENODEV if the reported battery values are equal to
ACPI_BATTERY_VALUE_UNKNOWN. This can be observed for an unpatched Clevo
B7130 laptop while reading the "Battery Present Charge" attribute.
Since this is a non-fatal, non-recoverable event, do not report such
errors. Also change the error message to report the filename triggering
this error to ease hunting down the error.
Linux reports ENODEV if the reported battery values are equal to
ACPI_BATTERY_VALUE_UNKNOWN. This can be observed for an unpatched Clevo
B7130 laptop while reading the "Battery Present Charge" attribute.
Since this is a non-fatal, non-recoverable event, do not report such
errors. Also change the error message to report the filename triggering
this error to ease hunting down the error.
battery: report current if known
The power field is not always available (take my Clevo B7130 laptop for
example). The current is reported though via "current_now".
According to the ACPI spec v5.0, sect. 10.2.2.6 _BST (Battery Status),
the reported field is "battery present rate" which is always positive
(its direction depends on the charging state).
Contents of /sys/class/power_supply/BAT0/uevent for my laptop:
POWER_SUPPLY_NAME=BAT0
POWER_SUPPLY_STATUS=Discharging
POWER_SUPPLY_PRESENT=1
POWER_SUPPLY_TECHNOLOGY=Li-ion
POWER_SUPPLY_CYCLE_COUNT=0
POWER_SUPPLY_VOLTAGE_MIN_DESIGN=11100000
POWER_SUPPLY_VOLTAGE_NOW=11824000
POWER_SUPPLY_CURRENT_NOW=1498000
POWER_SUPPLY_CHARGE_FULL_DESIGN=5200000
POWER_SUPPLY_CHARGE_FULL=5280000
POWER_SUPPLY_CHARGE_NOW=4797000
POWER_SUPPLY_CAPACITY=90
POWER_SUPPLY_CAPACITY_LEVEL=Normal
POWER_SUPPLY_MODEL_NAME=BAT
POWER_SUPPLY_MANUFACTURER=NOTEBOOK
POWER_SUPPLY_SERIAL_NUMBER=0001
Note for Clevo B7130 owners, the charging rate is not reported when
discharging but this can be [patched][1].
[1]: https://github.com/Lekensteyn/acpi-stuff/blob/master/Clevo-B7130/BatteryFix.dsl
The power field is not always available (take my Clevo B7130 laptop for
example). The current is reported though via "current_now".
According to the ACPI spec v5.0, sect. 10.2.2.6 _BST (Battery Status),
the reported field is "battery present rate" which is always positive
(its direction depends on the charging state).
Contents of /sys/class/power_supply/BAT0/uevent for my laptop:
POWER_SUPPLY_NAME=BAT0
POWER_SUPPLY_STATUS=Discharging
POWER_SUPPLY_PRESENT=1
POWER_SUPPLY_TECHNOLOGY=Li-ion
POWER_SUPPLY_CYCLE_COUNT=0
POWER_SUPPLY_VOLTAGE_MIN_DESIGN=11100000
POWER_SUPPLY_VOLTAGE_NOW=11824000
POWER_SUPPLY_CURRENT_NOW=1498000
POWER_SUPPLY_CHARGE_FULL_DESIGN=5200000
POWER_SUPPLY_CHARGE_FULL=5280000
POWER_SUPPLY_CHARGE_NOW=4797000
POWER_SUPPLY_CAPACITY=90
POWER_SUPPLY_CAPACITY_LEVEL=Normal
POWER_SUPPLY_MODEL_NAME=BAT
POWER_SUPPLY_MANUFACTURER=NOTEBOOK
POWER_SUPPLY_SERIAL_NUMBER=0001
Note for Clevo B7130 owners, the charging rate is not reported when
discharging but this can be [patched][1].
[1]: https://github.com/Lekensteyn/acpi-stuff/blob/master/Clevo-B7130/BatteryFix.dsl
write_http: add 2 new options to example config
write_http: control rate using only one parameter
- do not enable the feature with an on/off switch. Enable it by setting
a positive value to the parameter instead. Therefore drop the
arbitrary default value used previously.
- rename LowLimitBytesPerSec to LowSpeedLimit.
- make LowSpeedLimit refer to bytes per second rather than bytes per
Interval.
- do not enable the feature with an on/off switch. Enable it by setting
a positive value to the parameter instead. Therefore drop the
arbitrary default value used previously.
- rename LowLimitBytesPerSec to LowSpeedLimit.
- make LowSpeedLimit refer to bytes per second rather than bytes per
Interval.
write_http: adapt the behaviour of Timeout option
- rename PostTimeoutSec parameter to Timeout
- change Timeout to take milliseconds rather than seconds, for the sake
of consistency: collectd allow working at the sub-second scale if need
be, so it's a shame to restrain this here.
- do *not* set the default timeout to the value of Interval. Rationale:
what matters here is that each POST request completes before the send
buffer fills up again. How fast the send buffer fills up completely
depends on how much data is collected. Interval is unrelated to this,
and unlike read plugins, I don't think it makes a good value to use as
the default timeout.
- rename PostTimeoutSec parameter to Timeout
- change Timeout to take milliseconds rather than seconds, for the sake
of consistency: collectd allow working at the sub-second scale if need
be, so it's a shame to restrain this here.
- do *not* set the default timeout to the value of Interval. Rationale:
what matters here is that each POST request completes before the send
buffer fills up again. How fast the send buffer fills up completely
depends on how much data is collected. Interval is unrelated to this,
and unlike read plugins, I don't think it makes a good value to use as
the default timeout.
fix functions indentation and statuses initialization.
write_sensu cannot be endpoint/proxy.
Merge remote-tracking branch 'origin/pr/752' into wh_low_speed_limit
Conflicts:
src/write_http.c
Also slipped in a couple of conding-style consistentcy related changes.
Conflicts:
src/write_http.c
Also slipped in a couple of conding-style consistentcy related changes.
Upgrade spec to 5.4.2
Merge branch 'collectd-5.3' into collectd-5.4
Conflicts:
contrib/redhat/collectd.spec
src/collectd.conf.pod
Conflicts:
contrib/redhat/collectd.spec
src/collectd.conf.pod
RPM specfile: bump version number
Thanks to @Poil for pointing that out !
Thanks to @Poil for pointing that out !
log_logstash: adapt JSON format to logstash 1.2+
Fixes #974
Fixes #974
write_sensu plugin to write datapoints and notification to sensu client TCP socket. Inspired from write_riemann.
collectd.conf(5): move misplaced block in postgresql section
Remove more references to the Globals option
This is a follow up to commit 5eabeb9248
At this point, the last reference to Globals in the doc & examples is
the detailed explanation in collectd.conf(5).
This is a follow up to commit 5eabeb9248
At this point, the last reference to Globals in the doc & examples is
the detailed explanation in collectd.conf(5).
Merge branch 'collectd-5.4'
Conflicts:
configure.ac
src/dbi.c
src/utils_latency.c
Conflicts:
configure.ac
src/dbi.c
src/utils_latency.c