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
Ruben Kerkhof [Tue, 8 Sep 2015 14:11:56 +0000 (16:11 +0200)]
notify_systemd: use close-on-exit on socket
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
Marc Fournier [Wed, 26 Aug 2015 22:44:23 +0000 (00:44 +0200)]
Merge branch 'collectd-5.5'
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`
Marc Fournier [Wed, 26 Aug 2015 21:40:18 +0000 (23:40 +0200)]
Merge branch 'collectd-5.4' into collectd-5.5
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.
Ruben Kerkhof [Sun, 16 Aug 2015 10:28:43 +0000 (12:28 +0200)]
liboconfig: Fix implicit declaration warning
strlen declaration is in string.h
Ruben Kerkhof [Sun, 16 Aug 2015 11:47:24 +0000 (13:47 +0200)]
Don't unlock lock twice
Fixes make check on OpenBSD
Ruben Kerkhof [Sun, 16 Aug 2015 12:39:23 +0000 (14:39 +0200)]
pf: 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.
Marc Fournier [Wed, 26 Aug 2015 21:28:50 +0000 (23:28 +0200)]
coding style fixes over
94e5622
Gautam BT [Mon, 9 Feb 2015 11:01:24 +0000 (16:31 +0530)]
Fix pipe leak in exec plugin
Fixes #762
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.
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.
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.
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!
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.
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.
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.
Marc Fournier [Thu, 13 Aug 2015 21:36:19 +0000 (23:36 +0200)]
Merge remote-tracking branch 'origin/pr/1216'
Marc Fournier [Thu, 13 Aug 2015 21:35:57 +0000 (23:35 +0200)]
Merge remote-tracking branch 'origin/pr/1188'
Brad Davis [Tue, 11 Aug 2015 13:49:04 +0000 (07:49 -0600)]
Use the devstat struct directly instead of using devstat_compute_statistics().
Ruben Kerkhof [Mon, 10 Aug 2015 20:29:07 +0000 (22:29 +0200)]
powerdns: update recursor stats to 3.7.3
Fixes #555
Marc Fournier [Fri, 7 Aug 2015 08:14:59 +0000 (10:14 +0200)]
Merge branch '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
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));
^~~~~~~~~~~
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
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
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
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
Ruben Kerkhof [Tue, 4 Aug 2015 09:21:19 +0000 (11:21 +0200)]
fhcount: this plugin only works on Linux
Pierre-Yves Ritschard [Tue, 4 Aug 2015 10:39:45 +0000 (12:39 +0200)]
Merge pull request #1196 from rubenk/travis
Travis
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
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.
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.
Ruben Kerkhof [Sun, 2 Aug 2015 12:05:17 +0000 (14:05 +0200)]
disk: no need to link with kvm, bsdxml, sbuf
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
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.
Xin Li [Tue, 4 Jun 2013 21:44:34 +0000 (14:44 -0700)]
Make disk plugin compatible with FreeBSD.
Marc Fournier [Mon, 3 Aug 2015 21:29:16 +0000 (23:29 +0200)]
Merge branch 'collectd-5.5'
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
Marc Fournier [Mon, 3 Aug 2015 21:27:10 +0000 (23:27 +0200)]
Merge remote-tracking branch 'origin/pr/1191'
Marc Fournier [Mon, 3 Aug 2015 21:26:55 +0000 (23:26 +0200)]
Merge remote-tracking branch 'origin/pr/1181'
Marc Fournier [Mon, 3 Aug 2015 21:26:21 +0000 (23:26 +0200)]
Merge remote-tracking branch 'origin/pr/1175'
Marc Fournier [Mon, 3 Aug 2015 21:26:05 +0000 (23:26 +0200)]
Merge remote-tracking branch 'origin/pr/1164'
Marc Fournier [Mon, 3 Aug 2015 21:23:37 +0000 (23:23 +0200)]
Merge branch 'collectd-5.4' into collectd-5.5
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.
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.
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 ;)
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.
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
Ruben Kerkhof [Sat, 1 Aug 2015 18:18:51 +0000 (20:18 +0200)]
configure.ac: remove some redundant x'es
Ruben Kerkhof [Sat, 1 Aug 2015 18:21:41 +0000 (20:21 +0200)]
configure.ac: fix indentation
Ruben Kerkhof [Sat, 25 Jul 2015 10:32:06 +0000 (12:32 +0200)]
Fix a memory leak on shutdown
Fabien Wernli [Mon, 3 Aug 2015 08:15:56 +0000 (10:15 +0200)]
Use environmental variables from /etc/sysconfig/collectd
Change-Id: I948ce3d7a3071cc1ac26a24b059a5ee4aacba0d9
Pierre-Yves Ritschard [Sun, 2 Aug 2015 08:40:07 +0000 (10:40 +0200)]
travis: make check as well
Ruben Kerkhof [Sat, 1 Aug 2015 11:13:40 +0000 (13:13 +0200)]
Add more test stuff to .gitignore
Ruben Kerkhof [Sat, 1 Aug 2015 10:19:58 +0000 (12:19 +0200)]
core: include <sys/socket.h> in collectd.h
Fixes #1127
Marc Fournier [Sat, 1 Aug 2015 07:34:28 +0000 (09:34 +0200)]
Merge branch '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
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
Ruben Kerkhof [Sat, 25 Jul 2015 09:57:12 +0000 (11:57 +0200)]
collectd -T: fix memory leak
Ruben Kerkhof [Sat, 25 Jul 2015 17:17:07 +0000 (19:17 +0200)]
Fix some small leaks on error paths
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.
Wojtek Bocer [Mon, 27 Jul 2015 08:16:46 +0000 (09:16 +0100)]
Add remark about length of HostnameFormat string in virt plugin
Marc Fournier [Sat, 1 Aug 2015 07:09:03 +0000 (09:09 +0200)]
Merge remote-tracking branch 'origin/pr/1168'
Shahul Hameed [Wed, 29 Jul 2015 15:06:50 +0000 (11:06 -0400)]
Use standard ints in write_kafka plugin for portability
Pierre-Yves Ritschard [Fri, 31 Jul 2015 15:02:03 +0000 (17:02 +0200)]
travis: move to new infra
Pierre-Yves Ritschard [Fri, 31 Jul 2015 15:01:19 +0000 (17:01 +0200)]
travis: update script
Pierre-Yves Ritschard [Fri, 31 Jul 2015 14:59:11 +0000 (16:59 +0200)]
travis: enable ci
Florian Forster [Tue, 14 Jul 2015 06:42:15 +0000 (08:42 +0200)]
src/utils_latency.c: Fix format string error.
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.
Marc Fournier [Wed, 29 Jul 2015 09:29:42 +0000 (11:29 +0200)]
RPM specfile: take mqtt plugin in account
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.
Ruben Kerkhof [Fri, 24 Jul 2015 20:57:19 +0000 (22:57 +0200)]
write_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)
Ruben Kerkhof [Fri, 24 Jul 2015 20:37:36 +0000 (22:37 +0200)]
write_graphite: set default node at config time
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.
Matthias Bethke [Tue, 21 Jul 2015 08:02:16 +0000 (15:02 +0700)]
make _escape_argument() readonly-safe on older Perls
Matthias Bethke [Tue, 21 Jul 2015 08:00:49 +0000 (15:00 +0700)]
fix evil autoderef
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
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
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.
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
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
Florian Forster [Tue, 14 Jul 2015 06:42:15 +0000 (08:42 +0200)]
src/utils_latency.c: Fix format string error.
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.
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
Florian Forster [Tue, 14 Jul 2015 06:19:38 +0000 (08:19 +0200)]
Merge remote-tracking branch 'github/pr/1124'
Florian Forster [Mon, 13 Jul 2015 10:20:54 +0000 (12:20 +0200)]
Merge remote-tracking branch 'github/pr/1130'
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));
Florian Forster [Mon, 13 Jul 2015 10:09:55 +0000 (12:09 +0200)]
Merge branch 'collectd-5.5'
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
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.
Sebastian Pfahl [Fri, 10 Jul 2015 11:33:11 +0000 (11:33 +0000)]
Added option to choose redis database to use
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.
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
Florian Forster [Fri, 10 Jul 2015 09:29:45 +0000 (11:29 +0200)]
Revert "fix leak on exit"
This reverts commit
35e6b9d366016300178a55b163ac0173d7be5874.
Ruben Kerkhof [Sat, 4 Jul 2015 21:04:30 +0000 (23:04 +0200)]
varnish: fix some leaks in error paths