Merge remote-tracking branch 'github/pr/1065' into collectd-5.5
contrib/redhat/collectd.spec: added bison and flex
Current .spec does not work due to missing bison and flex dependencies.
This fix lets install bison and flex into the build environment as well as
define YACC and YFLAGS environment variables.
Current .spec does not work due to missing bison and flex dependencies.
This fix lets install bison and flex into the build environment as well as
define YACC and YFLAGS environment variables.
processes plugin: Initialize the cswitch_{in,}vol fields.
Makefile.am: Link tests with required libraries, too.
"make check" fails on Solaris because libraries are missing:
CCLD test_common
Undefined first referenced
symbol in file
kc ./.libs/libcommon.a(common.o)
kstat_data_lookup ./.libs/libcommon.a(common.o)
kstat_lookup ./.libs/libcommon.a(common.o)
kstat_read ./.libs/libcommon.a(common.o)
getaddrinfo ./.libs/libcommon.a(common.o)
freeaddrinfo ./.libs/libcommon.a(common.o)
gai_strerror ./.libs/libcommon.a(common.o)
ld: fatal: symbol referencing errors. No output written to test_common
collect2: error: ld returned 1 exit status
"make check" fails on Solaris because libraries are missing:
CCLD test_common
Undefined first referenced
symbol in file
kc ./.libs/libcommon.a(common.o)
kstat_data_lookup ./.libs/libcommon.a(common.o)
kstat_lookup ./.libs/libcommon.a(common.o)
kstat_read ./.libs/libcommon.a(common.o)
getaddrinfo ./.libs/libcommon.a(common.o)
freeaddrinfo ./.libs/libcommon.a(common.o)
gai_strerror ./.libs/libcommon.a(common.o)
ld: fatal: symbol referencing errors. No output written to test_common
collect2: error: ld returned 1 exit status
configure.ac: Ask users to build 64-bit Solaris binaries.
By default, the compilers will build 32-bit binaries on Solaris. This is
sub-optimal for us, for example reading /proc entries for 64-bit
processes doesn't work when collectd is 32-bit.
Fixes: #1077
By default, the compilers will build 32-bit binaries on Solaris. This is
sub-optimal for us, for example reading /proc entries for 64-bit
processes doesn't work when collectd is 32-bit.
Fixes: #1077
Merge branch 'collectd-5.4' into collectd-5.5
dns plugin: Check for "struct ip6_ext".
Solaris appears to declare the struct, but only when The Right defines
are specified at compile time. As a quick and dirty fix, only build with
IPv6 support when the struct is usable.
Fixes: #348
Solaris appears to declare the struct, but only when The Right defines
are specified at compile time. As a quick and dirty fix, only build with
IPv6 support when the struct is usable.
Fixes: #348
smart: KNF
Update smart.c
Are you sure this doesn't memory-leak?
(I didn't have time to run valgrind but is it possible that this command is missing?)
Are you sure this doesn't memory-leak?
(I didn't have time to run valgrind but is it possible that this command is missing?)
vmem plugin: fix types for nr_dirtied and nr_written
tcpconns plugin: Fix memory leak.
"prev" was set to NULL and never updated, leading to "port_list_head" to
be set to an entry later in the list. This leaks memory because earlier
entries in the list are now unreachable.
Fixes: #1074
"prev" was set to NULL and never updated, leading to "port_list_head" to
be set to an entry later in the list. This leaks memory because earlier
entries in the list are now unreachable.
Fixes: #1074
tail plugin: initialize user_data_t
src/configfile.c: Set a plugin context when autoloading plugins.
Fixes: #1069
Fixes: #1069
statsd plugin: Dispatch NaN when no timer event was recorded.
This makes timing events appear faster when writing to RRD files.
Fixes: #1038, #1049
This makes timing events appear faster when writing to RRD files.
Fixes: #1038, #1049
Fix VERSION->PACKAGE_VERSION and PACKAGE->PACKAGE_NAME so they're always defined
Fix header condition
The dependency is either UTMPX or UTMP or Statgrab. The inclusion above hasn't statgrab.h in the elif-chain, that means compilation fails when only libstatgrab is available. The line can safely be taken out as the same condition is checked in #L120.
The dependency is either UTMPX or UTMP or Statgrab. The inclusion above hasn't statgrab.h in the elif-chain, that means compilation fails when only libstatgrab is available. The line can safely be taken out as the same condition is checked in #L120.
disk plugin: Coding style changes.
I also reorganized the code to try to keep the CFReleases and
IOObjectReleases a little more manageable.
Signed-off-by: Florian Forster <octo@collectd.org>
I also reorganized the code to try to keep the CFReleases and
IOObjectReleases a little more manageable.
Signed-off-by: Florian Forster <octo@collectd.org>
disk plugin: Fix compatibility for Mac OS X 10.10.
Here’s a fixed version of the disk plugin that makes it work under Mac
OSX 10.10, and hopefully previous releases. The original version was
looking for the disk name in one dictionary, but it was actually in
another. I suspect at some point, Apple moved the disk name property,
but I don’t have any previous releases to check.
I changed the code to look for the disk name in both dictionaries, so
hopefully it’s backward compatible.
Signed-off-by: Florian Forster <octo@collectd.org>
Here’s a fixed version of the disk plugin that makes it work under Mac
OSX 10.10, and hopefully previous releases. The original version was
looking for the disk name in one dictionary, but it was actually in
another. I suspect at some point, Apple moved the disk name property,
but I don’t have any previous releases to check.
I changed the code to look for the disk name in both dictionaries, so
hopefully it’s backward compatible.
Signed-off-by: Florian Forster <octo@collectd.org>
tail_csv plugin: Print warning and continue when metric is not found.
Previously, when multiple metrics were specified on one "Collect" line and one
didn't exist, all *following* metrics would be ignored. This patch changes this
to continue in this case and configure as many metrics as possible.
Previously, when multiple metrics were specified on one "Collect" line and one
didn't exist, all *following* metrics would be ignored. This patch changes this
to continue in this case and configure as many metrics as possible.
Plugin tail_csv: the manual says that you can use multiple times the
Collect option but the code expecs t"Collect n1 n2 n3 n4", fix
to allow to put the option Collect multiple times.
Collect option but the code expecs t"Collect n1 n2 n3 n4", fix
to allow to put the option Collect multiple times.
Plugin tail_csv: if TimeFrom is not specified in config file
the default value for time_from is -1 and the type of fileds_num
is size_t, so the comparsion of signed and unsigned not work as espected
the default value for time_from is -1 and the type of fileds_num
is size_t, so the comparsion of signed and unsigned not work as espected
stats plugin: Fix reference of undeclared symbol.
Issue: #997
Issue: #997
statsd plugin: Free latency counter and AVL trees.
latency counters (used by TIMER metrics) and AVL trees (used by SET metrics)
were not freed when cleaning up unused metrics. This resulted in leaked memory.
Fixes: #997
latency counters (used by TIMER metrics) and AVL trees (used by SET metrics)
were not freed when cleaning up unused metrics. This resulted in leaked memory.
Fixes: #997
cpu plugin: Correct number of expected CPU states on Mac OS X.
This appears to be a regression introduced in f14ab935. Thanks to Robert Viduya
for reporting the bug.
Signed-off-by: Florian Forster <octo@collectd.org>
This appears to be a regression introduced in f14ab935. Thanks to Robert Viduya
for reporting the bug.
Signed-off-by: Florian Forster <octo@collectd.org>
Merge remote-tracking branch 'origin/collectd-5.3' into collectd-5.4
update changelog + bump release dates
Build system: Fix linking with libheap.la and depend on testing.h.
collectd-tg tried to link with libheap.a (instead of ….la), which
doesn't exist. testing.h was not mentioned by any target, leading to it
being missing form the tarballs.
collectd-tg tried to link with libheap.a (instead of ….la), which
doesn't exist. testing.h was not mentioned by any target, leading to it
being missing form the tarballs.
Build system: Build tested units as libraries.
This simplifies the build rules for the tests, aka. check programs.
* test_foo.c have been renamed to foo_test.c.
* foo_test.c now reside right next to foo.c and foo.h.
* Build and refer to .la files, rather than depending on .c files from
other directories.
Fixes: #1042
This simplifies the build rules for the tests, aka. check programs.
* test_foo.c have been renamed to foo_test.c.
* foo_test.c now reside right next to foo.c and foo.h.
* Build and refer to .la files, rather than depending on .c files from
other directories.
Fixes: #1042
write_redis: Replaced method for checking for a NULL value for the redis connection
write_redis: Log error message from redis command failures
write_redis: improve checking the redis connection
Filterchain: if we don't find a writer, output the available writers to syslog.
bindings/java/Makefile.am: Add "uninstall-local" target.
Otherwise "make distcheck" will complain about leftover files.
Otherwise "make distcheck" will complain about leftover files.
bindings/java/Makefile.am: Use $(srcdir) when specifying dependencies.
This fixes out-of-tree builds, like "make distcheck" does.
This fixes out-of-tree builds, like "make distcheck" does.
bindings/java/Makefile.am: Add "uninstall-local" target.
Otherwise "make distcheck" will complain about leftover files.
Otherwise "make distcheck" will complain about leftover files.
bindings/java/Makefile.am: Use $(srcdir) when specifying dependencies.
This fixes out-of-tree builds, like "make distcheck" does.
This fixes out-of-tree builds, like "make distcheck" does.
ChangeLog: Update date to 2015-05-22.
write_sensu, write_tsdb plugins: Use GAUGE_FORMAT.
Issue #1039
Issue #1039
Merge branch 'collectd-5.4' into collectd-5.5
Conflicts:
src/write_redis.c
Conflicts:
src/write_redis.c
write_redis: Fix timestamp sent to Redis.
Various plugins: Use the global GAUGE_FORMAT.
This fixes the postgresql, rrdtool, target_notification, write_graphite and
write_redis plugins to use the globally defined format for gauges.
Issue #1039
This fixes the postgresql, rrdtool, target_notification, write_graphite and
write_redis plugins to use the globally defined format for gauges.
Issue #1039
src/collectd.h: Define GAUGE_FORMAT.
This format is also used in format_values(), so exported gauges follow a common
format.
See also issue #1039
This format is also used in format_values(), so exported gauges follow a common
format.
See also issue #1039
src/utils_format_json.[ch]: Export gauges with 15 decimal places of precision.
Fixes: #1039
Fixes: #1039
ChangeLog: Import changes from the wiki.
RPM specfile: fix changelog formatting
RPM specfile: also bump release number
RPM specfile: update changelog for 5.5
contrib/wiki2changelog.pl: Add script converting from wiki to ChangeLog.
ChangeLog: Change text width to 80 characters.
Bump version to 5.5.0; Update ChangeLog.
ipc plugin: Group functions by operating system.
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