Code

collectd.git
9 years agoLet systemd handle logging
Ruben Kerkhof [Wed, 9 Sep 2015 15:46:32 +0000 (17:46 +0200)]
Let systemd handle logging

9 years agonotify_systemd: unset NOTIFY_SOCKET later
Ruben Kerkhof [Tue, 8 Sep 2015 14:46:27 +0000 (16:46 +0200)]
notify_systemd: unset NOTIFY_SOCKET later

getenv returns a pointer, possibly to a static buffer.
If I understand the specs correctly, unsetenv is basically free
to do what it wants with this, so don't keep using the pointer
after we do unsetenv.

9 years agonotify_systemd: remove dead code
Ruben Kerkhof [Tue, 8 Sep 2015 14:13:47 +0000 (16:13 +0200)]
notify_systemd: remove dead code

The whole function is already wrapped in #ifdef KERNEL_LINUX

9 years agonotify_systemd: use close-on-exit on socket
Ruben Kerkhof [Tue, 8 Sep 2015 14:11:56 +0000 (16:11 +0200)]
notify_systemd: use close-on-exit on socket

9 years agocollectd-tg: Fall back to gettimeofday(3) if clock_gettime(3) is not available.
Florian Forster [Tue, 1 Sep 2015 20:16:11 +0000 (22:16 +0200)]
collectd-tg: Fall back to gettimeofday(3) if clock_gettime(3) is not available.

Sometimes Mac OS/X is stupid. clock_gettime() was introduced in 1997, just
sayin'.

Fixes: #1247
9 years agoMerge branch 'collectd-5.5'
Marc Fournier [Wed, 26 Aug 2015 22:44:23 +0000 (00:44 +0200)]
Merge branch 'collectd-5.5'

9 years agosrc/daemon/utils_time_test.c: add ULL suffix to large literals
Marc Fournier [Wed, 26 Aug 2015 22:20:12 +0000 (00:20 +0200)]
src/daemon/utils_time_test.c: add ULL suffix to large literals

This should prevent some 32bit compilers from complaining about:
`integer constant is too large for 'long' type`

9 years agoMerge branch 'collectd-5.4' into collectd-5.5
Marc Fournier [Wed, 26 Aug 2015 21:40:18 +0000 (23:40 +0200)]
Merge branch 'collectd-5.4' into collectd-5.5

9 years agoFix harmless build warnings with newer binutils
Ruben Kerkhof [Fri, 14 Aug 2015 20:25:20 +0000 (22:25 +0200)]
Fix harmless build warnings with newer binutils

I see a lot of those on Rawhide:
ar: `u' modifier ignored since `D' is the default (see `U')

It's going to take a while to get this fixed upstream.
Meanwhile, silence the warnings.

Macro copied from libvirt.

9 years agoliboconfig: Fix implicit declaration warning
Ruben Kerkhof [Sun, 16 Aug 2015 10:28:43 +0000 (12:28 +0200)]
liboconfig: Fix implicit declaration warning

strlen declaration is in string.h

9 years agoDon't unlock lock twice
Ruben Kerkhof [Sun, 16 Aug 2015 11:47:24 +0000 (13:47 +0200)]
Don't unlock lock twice

Fixes make check on OpenBSD

9 years agopf: fix compilation on OpenBSD
Ruben Kerkhof [Sun, 16 Aug 2015 12:39:23 +0000 (14:39 +0200)]
pf: fix compilation on OpenBSD

9 years agodns: fix compilation on OpenBSD
Ruben Kerkhof [Sun, 16 Aug 2015 13:07:03 +0000 (15:07 +0200)]
dns: fix compilation on OpenBSD

OpenBSD doesn't have pcap-bpf.h

pcap.h has been including pcap/bpf.h since 2006.
Since we require a pcap which has PCAP_ERROR_IFACE_NOT_UP, introduced in 2008
this shouldn't break anything.

9 years agocoding style fixes over 94e5622
Marc Fournier [Wed, 26 Aug 2015 21:28:50 +0000 (23:28 +0200)]
coding style fixes over 94e5622

9 years agoFix pipe leak in exec plugin
Gautam BT [Mon, 9 Feb 2015 11:01:24 +0000 (16:31 +0530)]
Fix pipe leak in exec plugin

Fixes #762

9 years agosrc/testing.h: Rename the EXPECT_EQ_{DOUBLE,INT,STR} macros.
Florian Forster [Fri, 21 Aug 2015 11:55:42 +0000 (13:55 +0200)]
src/testing.h: Rename the EXPECT_EQ_{DOUBLE,INT,STR} macros.

Let all equality macros follow a common naming and logging schema.

9 years agosrc/testing.h: Rewrite the EXPECT_EQ_UINT64() macro.
Florian Forster [Fri, 21 Aug 2015 11:37:30 +0000 (13:37 +0200)]
src/testing.h: Rewrite the EXPECT_EQ_UINT64() macro.

Cast the input to uint64_t, so we don't need to do this when calling the
macro. This results in cleaner log messages and prevents macros to be
expanded in the log output.

9 years agosrc/daemon/utils_time_test.c: Test ms conversion.
Florian Forster [Fri, 21 Aug 2015 11:34:49 +0000 (13:34 +0200)]
src/daemon/utils_time_test.c: Test ms conversion.

The CDTIME_T_TO_MS() macro is used by all plugins using the cURL library,
so we should properly test this macro, too.

9 years agosrc/daemon/utils_time.h: Don't cast input to time_t.
Florian Forster [Fri, 21 Aug 2015 10:49:04 +0000 (12:49 +0200)]
src/daemon/utils_time.h: Don't cast input to time_t.

The CDTIME_T_TO_TIME_T() macro used to cast its input to time_t, which is
a 32bit type on (some?) 32bit architectures.

This is a regression introduced in db1391aaa66b8b8fad82219494f61f3452441f62
and not found in any released version of collectd. Phew!

9 years agosrc/daemon/utils_time.h: Treat nanoseconds as 64bit integer.
Florian Forster [Fri, 21 Aug 2015 09:56:57 +0000 (11:56 +0200)]
src/daemon/utils_time.h: Treat nanoseconds as 64bit integer.

The assumed type was "long", because that is what struct timespec is
using. However, struct timespec only stores the fraction of a second in
the approrpiate field and therefore only cares about values up to 10^9.
We, on the other hand, assume a UNIX epoch in ns precision, so we
require the entire 64bits.

This patch changes the [MUN]S_TO_CDTIME_T() macros to assume a uint64_t
input and moves the casting to the appropriate data type for struct
time{val,spec} to the CDTIME_T_TO_TIME{VAL,SPEC}() macros. Appropriate
casts are added to the cURL based plugins which need to pass a "long" to
cURL when specifying timeouts.

It also fixes the unit test, which assigned large (> 32 bit) literals to
a "long" field, which breaks on 32 bit architectures.

9 years agosrc/daemon/utils_time.h: Improve precision of conversion macros.
Florian Forster [Wed, 19 Aug 2015 12:26:24 +0000 (14:26 +0200)]
src/daemon/utils_time.h: Improve precision of conversion macros.

This patch also adds test cases for most conversions. It is inspired by
collectd/go-collectd#5 and uses some of the same test cases.

9 years agoltdl: only compile included libltdl when needed
Ruben Kerkhof [Sun, 9 Aug 2015 17:46:08 +0000 (19:46 +0200)]
ltdl: only compile included libltdl when needed

If configure finds an external libltdl, it's going to
use it, so there's no use in compiling the shipped libltdl.

9 years agoMerge remote-tracking branch 'origin/pr/1216'
Marc Fournier [Thu, 13 Aug 2015 21:36:19 +0000 (23:36 +0200)]
Merge remote-tracking branch 'origin/pr/1216'

9 years agoMerge remote-tracking branch 'origin/pr/1188'
Marc Fournier [Thu, 13 Aug 2015 21:35:57 +0000 (23:35 +0200)]
Merge remote-tracking branch 'origin/pr/1188'

9 years agoUse the devstat struct directly instead of using devstat_compute_statistics().
Brad Davis [Tue, 11 Aug 2015 13:49:04 +0000 (07:49 -0600)]
Use the devstat struct directly instead of using devstat_compute_statistics().

9 years agopowerdns: update recursor stats to 3.7.3
Ruben Kerkhof [Mon, 10 Aug 2015 20:29:07 +0000 (22:29 +0200)]
powerdns: update recursor stats to 3.7.3

Fixes #555

9 years agoMerge branch 'collectd-5.5'
Marc Fournier [Fri, 7 Aug 2015 08:14:59 +0000 (10:14 +0200)]
Merge branch 'collectd-5.5'

9 years agoMerge branch 'collectd-5.4' into collectd-5.5
Marc Fournier [Fri, 7 Aug 2015 08:14:17 +0000 (10:14 +0200)]
Merge branch 'collectd-5.4' into collectd-5.5

9 years agorouteros: fix a small build error pointed out by clang
Marc Fournier [Wed, 5 Aug 2015 16:05:02 +0000 (18:05 +0200)]
routeros: fix a small build error pointed out by clang

routeros.c:334:35: error: 'memset' call operates on objects of type 'cr_data_t' (aka 'struct cr_data_s') while the size is based on a different type 'cr_data_t *' (aka 'struct cr_data_s *') [-Werror,-Wsizeof-pointer-memaccess]
  memset (router_data, 0, sizeof (router_data));
          ~~~~~~~~~~~             ^~~~~~~~~~~
routeros.c:334:35: note: did you mean to dereference the argument to 'sizeof' (and multiply it by the number of elements)?
  memset (router_data, 0, sizeof (router_data));
                                  ^~~~~~~~~~~

9 years agoMerge pull request #1153 from mbethke/fix-unixsock
Pierre-Yves Ritschard [Wed, 5 Aug 2015 09:08:22 +0000 (11:08 +0200)]
Merge pull request #1153 from mbethke/fix-unixsock

Fix Unixsock.pm

9 years agoMerge pull request #1178 from rubenk/fix-libmodbus-compilation-on-freebsd
Pierre-Yves Ritschard [Wed, 5 Aug 2015 09:07:27 +0000 (11:07 +0200)]
Merge pull request #1178 from rubenk/fix-libmodbus-compilation-on-freebsd

core: include <sys/socket.h> in collectd.h

9 years agoipc: enable _GNU_SOURCE to fix build with musl libc
Natanael Copa [Wed, 5 Aug 2015 06:48:08 +0000 (08:48 +0200)]
ipc: enable _GNU_SOURCE to fix build with musl libc

This fixes compile the compile error:

> ipc.c:154:49: error: 'struct shm_info' has no member named 'used_ids'
>    ipc_submit_g("shm", "segments", NULL, shm_info.used_ids);
>                                                   ^

Fixes #1147

9 years agoRevert "amqp: look for librabbitmq in /usr/local as well"
Marc Fournier [Tue, 4 Aug 2015 16:39:33 +0000 (18:39 +0200)]
Revert "amqp: look for librabbitmq in /usr/local as well"

This reverts commit c1c5087fd5d9e66427cee8c98c523519d578bee6.

... as a follow-up to the discussion which took place in #1201

9 years agofhcount: this plugin only works on Linux
Ruben Kerkhof [Tue, 4 Aug 2015 09:21:19 +0000 (11:21 +0200)]
fhcount: this plugin only works on Linux

9 years agoMerge pull request #1196 from rubenk/travis
Pierre-Yves Ritschard [Tue, 4 Aug 2015 10:39:45 +0000 (12:39 +0200)]
Merge pull request #1196 from rubenk/travis

Travis

9 years agoTravis: add some whitelisted packages
Ruben Kerkhof [Tue, 4 Aug 2015 08:33:39 +0000 (10:33 +0200)]
Travis: add some whitelisted packages

The list is at https://github.com/travis-ci/apt-package-whitelist/blob/master/ubuntu-precise

9 years agoTravis: test with both gcc and clang
Ruben Kerkhof [Tue, 4 Aug 2015 08:20:50 +0000 (10:20 +0200)]
Travis: test with both gcc and clang

Travis does this in parallel so the build doesn't become
twice as long.

9 years agoTravis: run make distcheck
Ruben Kerkhof [Tue, 4 Aug 2015 08:18:36 +0000 (10:18 +0200)]
Travis: run make distcheck

This way we test if we can successfully build from tarball,
and we didn't leave out any files or forgot to clean something up.

9 years agodisk: no need to link with kvm, bsdxml, sbuf
Ruben Kerkhof [Sun, 2 Aug 2015 12:05:17 +0000 (14:05 +0200)]
disk: no need to link with kvm, bsdxml, sbuf

9 years agodisk: rename snap_present to snap
Ruben Kerkhof [Sun, 2 Aug 2015 11:57:05 +0000 (13:57 +0200)]
disk: rename snap_present to snap

There's only one of them now

9 years agodisk: gather statistics since boot on FreeBSD
Ruben Kerkhof [Sun, 2 Aug 2015 11:47:18 +0000 (13:47 +0200)]
disk: gather statistics since boot on FreeBSD

disk_octets and disk_ops are derives, so we don't want rates
but absolute values.

I tested this with fio with a constant IO rate and confirmed
that the values are correct for disk_octets and disk_ops.

disk_time is a different matter and I need some help with that.
devstat_compute_statistics returns a long double and it didn't
seem to increase much on my system, but that might be because I
tested this with a fast SSD.

9 years agoMake disk plugin compatible with FreeBSD.
Xin Li [Tue, 4 Jun 2013 21:44:34 +0000 (14:44 -0700)]
Make disk plugin compatible with FreeBSD.

9 years agoMerge branch 'collectd-5.5'
Marc Fournier [Mon, 3 Aug 2015 21:29:16 +0000 (23:29 +0200)]
Merge branch 'collectd-5.5'

9 years agosystemd.collectd.service: take debian/ubuntu's env file in account too
Marc Fournier [Mon, 3 Aug 2015 21:28:39 +0000 (23:28 +0200)]
systemd.collectd.service: take debian/ubuntu's env file in account too

9 years agoMerge remote-tracking branch 'origin/pr/1191'
Marc Fournier [Mon, 3 Aug 2015 21:27:10 +0000 (23:27 +0200)]
Merge remote-tracking branch 'origin/pr/1191'

9 years agoMerge remote-tracking branch 'origin/pr/1181'
Marc Fournier [Mon, 3 Aug 2015 21:26:55 +0000 (23:26 +0200)]
Merge remote-tracking branch 'origin/pr/1181'

9 years agoMerge remote-tracking branch 'origin/pr/1175'
Marc Fournier [Mon, 3 Aug 2015 21:26:21 +0000 (23:26 +0200)]
Merge remote-tracking branch 'origin/pr/1175'

9 years agoMerge remote-tracking branch 'origin/pr/1164'
Marc Fournier [Mon, 3 Aug 2015 21:26:05 +0000 (23:26 +0200)]
Merge remote-tracking branch 'origin/pr/1164'

9 years agoMerge branch 'collectd-5.4' into collectd-5.5
Marc Fournier [Mon, 3 Aug 2015 21:23:37 +0000 (23:23 +0200)]
Merge branch 'collectd-5.4' into collectd-5.5

9 years agologstash: initialize conf struct to 0
Vincent Bernat [Mon, 3 Aug 2015 08:06:30 +0000 (10:06 +0200)]
logstash: initialize conf struct to 0

With YAJL 1 (at least on Ubuntu Precise), if `conf.indentString` is not
initialized correctly, we would get a segfault even when `conf.beautify`
is set to 0. We avoid this case by initializing the whole structure to
0. `conf.beautify = 0` is kept for explicitness.

9 years agoFix libmodbus detection on FreeBSD
Ruben Kerkhof [Sat, 1 Aug 2015 09:46:45 +0000 (11:46 +0200)]
Fix libmodbus detection on FreeBSD

We look for modbus/modbus.h in /usr/local/include/modbus
but we should look for modbus.h

This is only an issue on FreeBSD since /usr/local/include is not
in the default search path.

9 years agoamqp: look for librabbitmq in /usr/local as well
Ruben Kerkhof [Sat, 1 Aug 2015 11:01:30 +0000 (13:01 +0200)]
amqp: look for librabbitmq in /usr/local as well

This detects it automatically on FreeBSD.
Ideally we should just use pkg-config but that is
left as an exercise for the reader ;)

9 years agoFix varnish detection on FreeBSD
Ruben Kerkhof [Sat, 1 Aug 2015 11:22:07 +0000 (13:22 +0200)]
Fix varnish detection on FreeBSD

We look for varnish/vapi/vsc.h in /usr/include/varnish
but we should look for vapi/vsc.h

This is only an issue on FreeBSD since /usr/local/include is not
in the default search path.

9 years agoirq: skip FIQ line in /proc/interrupts
Ruben Kerkhof [Sun, 2 Aug 2015 18:54:51 +0000 (20:54 +0200)]
irq: skip FIQ line in /proc/interrupts

/proc/interrupts on my Raspberry PI contains:
FIQ:              usb_fiq

This line doesn't contain any per cpu counters
but we try to parse it anyway, resulting in:
parse_value: Failed to parse string as derive: usb_fiq.

Fixes #971

9 years agoconfigure.ac: remove some redundant x'es
Ruben Kerkhof [Sat, 1 Aug 2015 18:18:51 +0000 (20:18 +0200)]
configure.ac: remove some redundant x'es

9 years agoconfigure.ac: fix indentation
Ruben Kerkhof [Sat, 1 Aug 2015 18:21:41 +0000 (20:21 +0200)]
configure.ac: fix indentation

9 years agoFix a memory leak on shutdown
Ruben Kerkhof [Sat, 25 Jul 2015 10:32:06 +0000 (12:32 +0200)]
Fix a memory leak on shutdown

9 years agoUse environmental variables from /etc/sysconfig/collectd
Fabien Wernli [Mon, 3 Aug 2015 08:15:56 +0000 (10:15 +0200)]
Use environmental variables from /etc/sysconfig/collectd

Change-Id: I948ce3d7a3071cc1ac26a24b059a5ee4aacba0d9

9 years agotravis: make check as well
Pierre-Yves Ritschard [Sun, 2 Aug 2015 08:40:07 +0000 (10:40 +0200)]
travis: make check as well

9 years agoAdd more test stuff to .gitignore
Ruben Kerkhof [Sat, 1 Aug 2015 11:13:40 +0000 (13:13 +0200)]
Add more test stuff to .gitignore

9 years agocore: include <sys/socket.h> in collectd.h
Ruben Kerkhof [Sat, 1 Aug 2015 10:19:58 +0000 (12:19 +0200)]
core: include <sys/socket.h> in collectd.h

Fixes #1127

9 years agoMerge branch 'collectd-5.5'
Marc Fournier [Sat, 1 Aug 2015 07:34:28 +0000 (09:34 +0200)]
Merge branch 'collectd-5.5'

9 years agoMerge branch 'collectd-5.4' into collectd-5.5
Marc Fournier [Sat, 1 Aug 2015 07:30:22 +0000 (09:30 +0200)]
Merge branch 'collectd-5.4' into collectd-5.5

9 years agoAdd utils_parse_option.c/h to amqp plugin source files list
Shahul Hameed [Mon, 20 Jul 2015 17:06:23 +0000 (13:06 -0400)]
Add utils_parse_option.c/h to amqp plugin source files list

9 years agocollectd -T: fix memory leak
Ruben Kerkhof [Sat, 25 Jul 2015 09:57:12 +0000 (11:57 +0200)]
collectd -T: fix memory leak

9 years agoFix some small leaks on error paths
Ruben Kerkhof [Sat, 25 Jul 2015 17:17:07 +0000 (19:17 +0200)]
Fix some small leaks on error paths

9 years agoliboconfig: really fix lex warnings
Ruben Kerkhof [Sat, 25 Jul 2015 19:29:50 +0000 (21:29 +0200)]
liboconfig: really fix lex warnings

Flex has two options to disable input and unput.
Turn them on.

9 years agoAdd remark about length of HostnameFormat string in virt plugin
Wojtek Bocer [Mon, 27 Jul 2015 08:16:46 +0000 (09:16 +0100)]
Add remark about length of HostnameFormat string in virt plugin

9 years agoMerge remote-tracking branch 'origin/pr/1168'
Marc Fournier [Sat, 1 Aug 2015 07:09:03 +0000 (09:09 +0200)]
Merge remote-tracking branch 'origin/pr/1168'

9 years agoUse standard ints in write_kafka plugin for portability
Shahul Hameed [Wed, 29 Jul 2015 15:06:50 +0000 (11:06 -0400)]
Use standard ints in write_kafka plugin for portability

9 years agotravis: move to new infra
Pierre-Yves Ritschard [Fri, 31 Jul 2015 15:02:03 +0000 (17:02 +0200)]
travis: move to new infra

9 years agotravis: update script
Pierre-Yves Ritschard [Fri, 31 Jul 2015 15:01:19 +0000 (17:01 +0200)]
travis: update script

9 years agotravis: enable ci
Pierre-Yves Ritschard [Fri, 31 Jul 2015 14:59:11 +0000 (16:59 +0200)]
travis: enable ci

9 years agosrc/utils_latency.c: Fix format string error.
Florian Forster [Tue, 14 Jul 2015 06:42:15 +0000 (08:42 +0200)]
src/utils_latency.c: Fix format string error.

9 years agosrc/utils_latency.c: Ensure that LLONG_MAX is defined.
Florian Forster [Tue, 14 Jul 2015 06:34:52 +0000 (08:34 +0200)]
src/utils_latency.c: Ensure that LLONG_MAX is defined.

EPEL5 doesn't have it in <limits.h> apparently.

9 years agoRPM specfile: take mqtt plugin in account
Marc Fournier [Wed, 29 Jul 2015 09:29:42 +0000 (11:29 +0200)]
RPM specfile: take mqtt plugin in account

9 years agowrite_redis: fix a few typos in manpage
Ruben Kerkhof [Tue, 28 Jul 2015 09:59:35 +0000 (11:59 +0200)]
write_redis: fix a few typos in manpage

Also correct the maximum length of the node name.
The callback name is "write_redis/%s" so the maximum
length of a node name is DATA_MAX_NAME_LEN - strlen("write_redis") -1.

9 years agowrite_graphite: set service at config time
Ruben Kerkhof [Fri, 24 Jul 2015 20:57:19 +0000 (22:57 +0200)]
write_graphite: set service at config time

9 years agowrite_graphite: set service at config time
Ruben Kerkhof [Fri, 24 Jul 2015 20:40:11 +0000 (22:40 +0200)]
write_graphite: set service at config time

This fixes the (null) I saw in an error message:
write_graphite plugin: send to localhost:(null) (udp) failed with status -1 (Connection refused)

9 years agowrite_graphite: set default node at config time
Ruben Kerkhof [Fri, 24 Jul 2015 20:37:36 +0000 (22:37 +0200)]
write_graphite: set default node at config time

9 years agowrite_graphite: remove #ifndefs
Ruben Kerkhof [Fri, 24 Jul 2015 20:02:24 +0000 (22:02 +0200)]
write_graphite: remove #ifndefs

If these are defined somewhere else to a different value,
we'd like to know about it.

9 years agomake _escape_argument() readonly-safe on older Perls
Matthias Bethke [Tue, 21 Jul 2015 08:02:16 +0000 (15:02 +0700)]
make _escape_argument() readonly-safe on older Perls

9 years agofix evil autoderef
Matthias Bethke [Tue, 21 Jul 2015 08:00:49 +0000 (15:00 +0700)]
fix evil autoderef

9 years agosrc/utils_latency_test.c: Disable the "-1" test for now.
Florian Forster [Thu, 16 Jul 2015 07:17:55 +0000 (09:17 +0200)]
src/utils_latency_test.c: Disable the "-1" test for now.

Issue: #1139

9 years agosrc/utils_latency_test.c: Assure that large latency values also work.
Florian Forster [Wed, 15 Jul 2015 08:30:25 +0000 (10:30 +0200)]
src/utils_latency_test.c: Assure that large latency values also work.

The cdtime_t representation of 99s doesn't fit into 32bit anymore, thereby
assuring that cdtime_t is actually 64bit on platforms that currently
don't pass the test, i.e. EPEL {5,6} on i386.

Issue: #1139

9 years agosrc/utils_latency_test.c: Log result of DOUBLE_TO_CDTIME_T() conversion.
Florian Forster [Wed, 15 Jul 2015 07:57:41 +0000 (09:57 +0200)]
src/utils_latency_test.c: Log result of  DOUBLE_TO_CDTIME_T() conversion.

The test fails on some i386 architectures. Time for some printf debugging.

9 years agosrc/daemon/utils_time_mock.c: Mark static return value as "ULL".
Florian Forster [Tue, 14 Jul 2015 07:15:51 +0000 (09:15 +0200)]
src/daemon/utils_time_mock.c: Mark static return value as "ULL".

Build on i386 squeeze fails with:
utils_time_mock.c:31: error: integer constant is too large for 'long' type

9 years agoLink libcommon.la with $(COMMON_LIBS).
Florian Forster [Tue, 14 Jul 2015 07:00:49 +0000 (09:00 +0200)]
Link libcommon.la with $(COMMON_LIBS).

This hopefully fixes link errors on Solaris:

  CCLD     test_utils_vl_lookup
Undefined first referenced
 symbol       in file
kstat_data_lookup                   daemon/.libs/libcommon.a(common.o)
kstat_lookup                        daemon/.libs/libcommon.a(common.o)
kstat_read                          daemon/.libs/libcommon.a(common.o)
getaddrinfo                         daemon/.libs/libcommon.a(common.o)
freeaddrinfo                        daemon/.libs/libcommon.a(common.o)
gai_strerror                        daemon/.libs/libcommon.a(common.o)
ld: fatal: symbol referencing errors. No output written to test_utils_vl_lookup
collect2: error: ld returned 1 exit status

9 years agosrc/utils_latency.c: Fix format string error.
Florian Forster [Tue, 14 Jul 2015 06:42:15 +0000 (08:42 +0200)]
src/utils_latency.c: Fix format string error.

9 years agosrc/utils_latency.c: Ensure that LLONG_MAX is defined.
Florian Forster [Tue, 14 Jul 2015 06:34:52 +0000 (08:34 +0200)]
src/utils_latency.c: Ensure that LLONG_MAX is defined.

EPEL5 doesn't have it in <limits.h> apparently.

9 years agoplugin_mock.c: Declare "kc".
Florian Forster [Tue, 14 Jul 2015 06:22:18 +0000 (08:22 +0200)]
plugin_mock.c: Declare "kc".

This hopefully fixes "make check" on Solaris, which currently fails
with:

  CC       common_test.o
  CCLD     test_common
Undefined first referenced
 symbol       in file
kc                                  ./.libs/libcommon.a(common.o)
ld: fatal: symbol referencing errors. No output written to test_common
collect2: error: ld returned 1 exit status

9 years agoMerge remote-tracking branch 'github/pr/1124'
Florian Forster [Tue, 14 Jul 2015 06:19:38 +0000 (08:19 +0200)]
Merge remote-tracking branch 'github/pr/1124'

9 years agoMerge remote-tracking branch 'github/pr/1130'
Florian Forster [Mon, 13 Jul 2015 10:20:54 +0000 (12:20 +0200)]
Merge remote-tracking branch 'github/pr/1130'

9 years agosrc/utils_latency.c: Add unit test.
Florian Forster [Mon, 13 Jul 2015 09:30:16 +0000 (11:30 +0200)]
src/utils_latency.c: Add unit test.

This test successfully reproduces the crash reported in #1131 by calling
latency_counter_add (l, DOUBLE_TO_CDTIME_T (-1.0));

9 years agoMerge branch 'collectd-5.5'
Florian Forster [Mon, 13 Jul 2015 10:09:55 +0000 (12:09 +0200)]
Merge branch 'collectd-5.5'

9 years agosrc/utils_latency.c: Store "bin_width" as cdtime_t.
Florian Forster [Mon, 13 Jul 2015 09:53:58 +0000 (11:53 +0200)]
src/utils_latency.c: Store "bin_width" as cdtime_t.

This solves the integer overflow when passing huge latency values to
latency_counter_add(). In addition to fixing the overflow the function
will now ignore values that are larger than LLONG_MAX, i.e. the longest
possible latency is 272 years. As a nice side-effect, the precission of
latency_counter_get_percentile() is improved.

Issue: #1131

9 years agosrc/utils_latency.c: Fix change_bin_width().
Florian Forster [Sun, 12 Jul 2015 10:58:20 +0000 (12:58 +0200)]
src/utils_latency.c: Fix change_bin_width().

A missing cast when calculating "width_change_ratio" caused all metrics to
be moved to bucket #0.

9 years agoAdded option to choose redis database to use
Sebastian Pfahl [Fri, 10 Jul 2015 11:33:11 +0000 (11:33 +0000)]
Added option to choose redis database to use

9 years agoTesting: Return failure from OK1() and other fixes.
Florian Forster [Fri, 10 Jul 2015 11:14:43 +0000 (13:14 +0200)]
Testing: Return failure from OK1() and other fixes.

* The tests for common and meta_data logged "not ok" but didn't signal
  failure because OK1() didn't include a return(-1) line. Adding this line
  caused some restructuring of the utils_vl_lookup test, because it used
  that macro in non-int functions.
* Fix DBLEQ() to work correctly with an expected NaN. Previously, the
  if condition would fall through to the "expect != actual" part, which
  is true for "NaN != NaN".
* Let the mock cdtime() return a non-zero value, as the (invalid) zero
  value is used in parse_values() to detect whether the time has been
  parsed already. This lead to the "N:..." tests failing.
* Correct the expected behavior of meta_data_add_*() when keys already
  exist: they're replaced rather than causing an error.

9 years agovarnish: fix leak on read
Ruben Kerkhof [Sat, 4 Jul 2015 20:49:49 +0000 (22:49 +0200)]
varnish: fix leak on read

Since VSM_Close doesn't free the object we leak a few bytes
every interval