Florian Forster [Thu, 11 Jun 2015 13:35:43 +0000 (14:35 +0100)]
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
Florian Forster [Thu, 11 Jun 2015 13:34:01 +0000 (14:34 +0100)]
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.
Florian Forster [Thu, 11 Jun 2015 06:46:54 +0000 (07:46 +0100)]
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.
Florian Forster [Wed, 10 Jun 2015 07:39:24 +0000 (08:39 +0100)]
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.
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.
Florian Forster [Sun, 31 May 2015 20:54:47 +0000 (22:54 +0200)]
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.
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.
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
Florian Forster [Sat, 30 May 2015 21:13:42 +0000 (23:13 +0200)]
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.
Florian Forster [Tue, 26 May 2015 19:43:10 +0000 (21:43 +0200)]
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.
Florian Forster [Tue, 26 May 2015 06:52:39 +0000 (08:52 +0200)]
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.
Marc Fournier [Tue, 12 May 2015 20:14:23 +0000 (22:14 +0200)]
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.
Jan Andres [Sat, 31 Jan 2015 08:43:30 +0000 (09:43 +0100)]
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.
Jan Andres [Wed, 28 Jan 2015 14:06:04 +0000 (15:06 +0100)]
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.
Marc Fournier [Tue, 12 May 2015 20:40:27 +0000 (22:40 +0200)]
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.
Marc Fournier [Tue, 12 May 2015 20:40:27 +0000 (22:40 +0200)]
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.
Marc Fournier [Tue, 5 May 2015 20:10:16 +0000 (22:10 +0200)]
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.
Marc Fournier [Fri, 1 May 2015 18:40:59 +0000 (20:40 +0200)]
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.
Marc Fournier [Wed, 29 Apr 2015 22:15:19 +0000 (00:15 +0200)]
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).
Marc Fournier [Tue, 28 Apr 2015 05:39:02 +0000 (07:39 +0200)]
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.
Ruben Kerkhof [Sun, 18 Nov 2012 10:38:24 +0000 (11:38 +0100)]
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.