Processes: fix types in ps_read_status, change to unsigned long.
Processes: in ps_read_status fix check to skip lines
if it doesn't start with "Vm" and it doesn't start "Threads".
if it doesn't start with "Vm" and it doesn't start "Threads".
Plugin process: in Linux read the number of threads from
/proc/pid/status instead of counter the number of files in
/proc/pid/task/*.
/proc/pid/status instead of counter the number of files in
/proc/pid/task/*.
Merge branch 'collectd-5.4'
Merge branch 'collectd-5.3' into collectd-5.4
Merge branch 'collectd-4.10' into collectd-5.3
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.
Enable the processes plugin by default on Solaris.
It now builds and works correctly in both 32-bit and 64-bit mode.
It now builds and works correctly in both 32-bit and 64-bit mode.
processes: Solaris: Consistently use long to represent a pid
pid_t may be defined as an int or a long depending on circumstances.
Use a long everywhere so we don't have to fiddle with typecasts.
This fixes an issue where an incorrect printf format string would
be used for a pid_t in 32-bit builds.
pid_t may be defined as an int or a long depending on circumstances.
Use a long everywhere so we don't have to fiddle with typecasts.
This fixes an issue where an incorrect printf format string would
be used for a pid_t in 32-bit builds.
processes: Fix build for Solaris 32-bit binary
Work around a #error in <sys/procfs.h> that occurs when building a
32-bit binary with _FILE_OFFSET_BITS=64. This uses a hack similar
to the one in swap.c.
Work around a #error in <sys/procfs.h> that occurs when building a
32-bit binary with _FILE_OFFSET_BITS=64. This uses a hack similar
to the one in swap.c.
processes: Fix ps_get_cmdline() on Solaris.
Return value of read_file_contents() was checked incorrectly.
Return value of read_file_contents() was checked incorrectly.
zfs_arc: Don't spam the log if we fail to read the "l2_size" kstat value.
The value got lost with some patch to Solaris 10 and has only reappeared
recently in 11.2. If we ever fail to read this value, stop trying, so we
don't report an error on every interval.
The value got lost with some patch to Solaris 10 and has only reappeared
recently in 11.2. If we ever fail to read this value, stop trying, so we
don't report an error on every interval.
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 remote-tracking branch 'github/pr/1009'
Adding fhcount plugin
README: add mention to libcap
Merge remote-tracking branch 'origin/pr/651'
Conflicts:
contrib/redhat/collectd.spec
Conflicts:
contrib/redhat/collectd.spec
Merge pull request #919 from baryonix/solaris-misc-fixes
Fixes for zfs_arc and processes plugins on Solaris
Fixes for zfs_arc and processes plugins on Solaris
Merge pull request #1023 from ciomaire/write_kafka_ldflags
when --with-librdkafka arg is not a path searched by linker
when --with-librdkafka arg is not a path searched by linker
Turbostat: Use the 'count' gauge to count SMIs
Merge remote-tracking branch 'github/pr/1027'
libcollectdclient: Propagate errors when signing / encrypting network packets.
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
when --with-librdkafka arg is not a path searched by linker
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
Turbostat: reorganise metric names
The `plugin_instance` now always is the hardware element
(cpuNN/coreNN/pkgNN) the data belongs to. Any optional identifier string
is moved to the `type_instance`.
Also remove the "_W" unit suffix as the "power" `type` implies we're
dealing with Watts.
The idea is to have the naming scheme in line with the way most other
plugins usually organise data.
The `plugin_instance` now always is the hardware element
(cpuNN/coreNN/pkgNN) the data belongs to. Any optional identifier string
is moved to the `type_instance`.
Also remove the "_W" unit suffix as the "power" `type` implies we're
dealing with Watts.
The idea is to have the naming scheme in line with the way most other
plugins usually organise data.
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: take turbostat plugin in account
Turbostat: downcase plugin name in log messages
... to be consistent with the other plugins.
... to be consistent with the other plugins.
Turbostat: confine AC_COMPILE_IFELSE() inside a AC_CACHE_CHECK block
The previous way of doing worked as expected, but didn't print out
anything in the summary, making it difficult to know why the plugin
wasn't built on older systems.
The previous way of doing worked as expected, but didn't print out
anything in the summary, making it difficult to know why the plugin
wasn't built on older systems.
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.
Turbostat: test asm/msr-index.h compatibility
Olds versions of asm/msr-index.h don't contain the required macros.
Test at least if it contains MSR_CORE_C3_RESIDENCY
Olds versions of asm/msr-index.h don't contain the required macros.
Test at least if it contains MSR_CORE_C3_RESIDENCY
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);
Turbostat: fix thread max number detection
There is no "thread_id" and the value we compute is the direct number.
It can only be '1' or '2' and do not start at 0 like other values.
There is no "thread_id" and the value we compute is the direct number.
It can only be '1' or '2' and do not start at 0 like other values.
Turbostat: Initialize non existing threads cpu_id
Turbostat: Remove useless initialization
Turbostat: build only if requirements are met
Turbostat: add missing types in configure.ac
Turbostat: Only check capabilities if supported
Turbostat: remove 'common' headers
This headers are already included by the collectd headers
This headers are already included by the collectd headers
Turbostat: Fix a 64b to 32b truncation
Found while compiling with clang and -Wshorten-64-to-32 enabled
Found while compiling with clang and -Wshorten-64-to-32 enabled
Turbostat: cpu/core/package number are > 0
Use unsigned integers to reprensent the cpu, core and package
numbers. Do not set it to -1 at init time.
Use unsigned integers to reprensent the cpu, core and package
numbers. Do not set it to -1 at init time.
Turbostat: Use uint32_t for 32b wrapping
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.