Ruben Kerkhof [Sat, 25 Jul 2015 13:21:52 +0000 (15:21 +0200)]
utils_mount: use reentrant getmntent_r when we can
Fixes #1162
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
Ruben Kerkhof [Sat, 4 Jul 2015 21:04:30 +0000 (23:04 +0200)]
varnish: fix some leaks in error paths
Florian Forster [Fri, 10 Jul 2015 08:56:58 +0000 (10:56 +0200)]
src/daemon/meta_data.[ch]: Add unit test.
Florian Forster [Thu, 9 Jul 2015 07:37:41 +0000 (09:37 +0200)]
src/Makefile.am: Remove BUILD_WITH_LIBMOSQUITTO_CFLAGS.
This substitution is undefined.
Florian Forster [Thu, 9 Jul 2015 07:35:08 +0000 (09:35 +0200)]
Merge branch 'pr/36' into mqtt
Marc Fournier [Wed, 8 Jul 2015 22:24:21 +0000 (00:24 +0200)]
mqtt plugin: properly set CPPFLAGS in Makefile
This fixes the build when the --with-libmosquitto option is used.
Florian Forster [Wed, 8 Jul 2015 11:09:26 +0000 (13:09 +0200)]
mqtt plugin: Add support for libmosquitto, major version >0.
Florian Forster [Wed, 8 Jul 2015 10:41:04 +0000 (12:41 +0200)]
network plugin: Fix function name in error output.
Florian Forster [Wed, 8 Jul 2015 10:40:48 +0000 (12:40 +0200)]
daemon: Fix -Wunused-parameter warnings.
Florian Forster [Wed, 8 Jul 2015 10:39:56 +0000 (12:39 +0200)]
oconfig: Fix -Wshadow and -Wsign-compare warnings.
Also re-indent oconfig_clone().
Florian Forster [Wed, 8 Jul 2015 10:39:03 +0000 (12:39 +0200)]
Fix -Wshorten-64-to-32 warnings.
Florian Forster [Wed, 8 Jul 2015 10:36:35 +0000 (12:36 +0200)]
Fix -Wsign-conversion warnings.
Florian Forster [Wed, 8 Jul 2015 09:57:35 +0000 (11:57 +0200)]
daemon: Clean up the Upstart and Systemd notification code.
Document the use of "Linux abstract namespace sockets" and use sendto(2)
instead of sendmsg(2) to avoid having to initialize struct msghdr
and struct iovec. Removes the non-portable bzero() calls.
Marc Fournier [Tue, 7 Jul 2015 22:35:27 +0000 (00:35 +0200)]
Merge branch 'collectd-5.5'
Marc Fournier [Tue, 7 Jul 2015 22:29:58 +0000 (00:29 +0200)]
Merge branch 'collectd-5.4' into collectd-5.5
Gustavo Zacarias [Mon, 6 Jul 2015 12:59:30 +0000 (09:59 -0300)]
build: add libavltree, libcommon & libheap dependencies
Otherwise it can break on very parallel builds since collectd link time
arrives before one or more of these were built.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Ruben Kerkhof [Sat, 4 Jul 2015 11:25:23 +0000 (13:25 +0200)]
Add test-suite logs to .gitignore
Ruben Kerkhof [Sat, 4 Jul 2015 17:52:52 +0000 (19:52 +0200)]
collectd.conf: order plugins alphabetically again
Ruud van Melick [Tue, 30 Jun 2015 16:08:49 +0000 (16:08 +0000)]
Fix Perl errors
"my" variable $cmd masks earlier declaration in same scope at /tmp/contrib_collectd2html.pl line 223.
syntax error at /tmp/contrib_collectd2html.pl line 219, near "$span qw(1hour 1day 1week 1month)"
Global symbol "$span" requires explicit package name at /tmp/contrib_collectd2html.pl line 221.
Global symbol "$span" requires explicit package name at /tmp/contrib_collectd2html.pl line 224.
Global symbol "$span" requires explicit package name at /tmp/contrib_collectd2html.pl line 225.
Global symbol "$span" requires explicit package name at /tmp/contrib_collectd2html.pl line 232.
Global symbol "$span" requires explicit package name at /tmp/contrib_collectd2html.pl line 237.
syntax error at /tmp/contrib_collectd2html.pl line 245, near "}"
Michal Humpula [Mon, 6 Jul 2015 11:43:43 +0000 (13:43 +0200)]
bind: fix zone count check
Florian Forster [Fri, 3 Jul 2015 08:46:14 +0000 (10:46 +0200)]
collectd.conf(5): Add documentation.
Also add example config to src/collectd.conf.in
Florian Forster [Fri, 3 Jul 2015 08:45:37 +0000 (10:45 +0200)]
mqtt plugin: Change some default values.
* qos: 0 for publishers, 2 for subscribers
* store_rates: true
* clean_session: true
Florian Forster [Fri, 3 Jul 2015 08:44:35 +0000 (10:44 +0200)]
mqtt plugin: Use the "name" argument for the callback name.
Florian Forster [Fri, 3 Jul 2015 08:43:38 +0000 (10:43 +0200)]
mqtt plugin: Increase keepalive interval to 60s.
This is the default used by the Mosquitto tools. The new define makes
it possible to easily override this at compile time.
Florian Forster [Fri, 3 Jul 2015 08:42:44 +0000 (10:42 +0200)]
mqtt plugin: Add myself to list of authors, copyright holders.
Florian Forster [Fri, 21 Nov 2014 16:41:17 +0000 (17:41 +0100)]
mqtt plugin: Add proof-of-concept subscriber code.
Publisher and subscriber should now be able to send metrics to one another.
Florian Forster [Fri, 21 Nov 2014 15:03:22 +0000 (16:03 +0100)]
mqtt plugin: Send only the acutally used part of the payload buffer.
Florian Forster [Fri, 21 Nov 2014 12:17:54 +0000 (13:17 +0100)]
mqtt plugin: Let "client ID" default to the hostname.
The MQTT documentation says that this needs to be unique and stable, so
I think the hostname is the best match for this.
Florian Forster [Fri, 21 Nov 2014 11:05:39 +0000 (12:05 +0100)]
mqtt plugin: Add support for multiple brokers.
Also adds support for authentication and configuring a couple of settings
(QoS, rates, retention).
Florian Forster [Fri, 21 Nov 2014 10:23:01 +0000 (11:23 +0100)]
mqtt plugin: Correctly check the return value of format_topic().
Florian Forster [Fri, 21 Nov 2014 09:39:50 +0000 (10:39 +0100)]
mqtt plugin: Use the thread-safe sstrerror().
Florian Forster [Fri, 21 Nov 2014 09:38:55 +0000 (10:38 +0100)]
mqtt plugin: Don't use <stdbool.h>.
Instead, use the standard _Bool type.
Florian Forster [Thu, 20 Nov 2014 19:05:50 +0000 (20:05 +0100)]
mqtt plugin: Add preliminary configuration support.
Florian Forster [Thu, 20 Nov 2014 17:26:02 +0000 (18:26 +0100)]
mqtt plugin: Rename mqtt_publish_message() to publish().
Florian Forster [Thu, 20 Nov 2014 17:25:21 +0000 (18:25 +0100)]
mqtt plugin: Change message format to one topic per metric.
The payload now includes all data sources and the timestamp. The payload
is formatted with the existing format_values() function, which removed
quite a couple of lines of code.
Florian Forster [Thu, 20 Nov 2014 17:19:37 +0000 (18:19 +0100)]
mqtt plugin: Concurrency fixes, pick up conf->lock in publish.
Florian Forster [Thu, 20 Nov 2014 16:42:42 +0000 (17:42 +0100)]
mqtt plugin: Compile fixes.
This compiles with libmosquitto 0.15.0. It appears newer versions of the
library have some interface changes, so we should add a version check.
Luckily, libmosquitto provides everything we need.
Florian Forster [Thu, 20 Nov 2014 16:38:15 +0000 (17:38 +0100)]
configure.ac, src/Makefile.am: Add mqtt to the build system.
Marc Falzon [Wed, 19 Nov 2014 16:41:30 +0000 (17:41 +0100)]
Initial import
Marc Falzon [Wed, 19 Nov 2014 16:29:33 +0000 (17:29 +0100)]
Initial commit
Florian Forster [Fri, 3 Jul 2015 13:15:09 +0000 (15:15 +0200)]
serial plugin: Fix -Wshorten-64-to-32 warning.
serial.c:87:28: error: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Werror,-Wshorten-64-to-32]
len = strlen (fields[0]) - 1;
~ ~~~~~~~~~~~~~~~~~~~^~~
serial.c:96:10: error: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Werror,-Wshorten-64-to-32]
len = strlen (fields[i]);
~ ^~~~~~~~~~~~~~~~~~
Florian Forster [Fri, 3 Jul 2015 13:06:28 +0000 (15:06 +0200)]
src/utils_ignorelist.c: Reimplement ignorelist_append_regex().
There's a signed / unsigned conversion in that function ...
... aaaaand it's fully rewritten. Oops.
Florian Forster [Fri, 3 Jul 2015 11:55:24 +0000 (13:55 +0200)]
collectd-tg: Remove use of NAN.
This broke the build under Solaris, once again *sigh*.
collectd-tg.c: In function ‘dtime’:
collectd-tg.c:108:12: error: ‘NAN’ undeclared (first use in this function)
return NAN;
^
Dagobert Michelsen [Thu, 18 Jun 2015 13:28:36 +0000 (15:28 +0200)]
Take out explicit definitions as they are already checked via enable_standards in configure.ac.
Fixes: #978
Florian Forster [Fri, 3 Jul 2015 10:31:32 +0000 (12:31 +0200)]
collectd-tg: Move _POSIX_C_SOURCE and friends to the Makefile.
Apparently defining this in the source files confuses Solaris' libc.
Thanks to @dago for looking into this.
Hopefully fixes: #978
Florian Forster [Fri, 3 Jul 2015 09:52:50 +0000 (11:52 +0200)]
collectdctl: Fix -Wsign-conversion warnings.
Also fixes a shadowed local variable warning.
Florian Forster [Fri, 3 Jul 2015 09:49:07 +0000 (11:49 +0200)]
collectd-nagios: Fix -Wsign-conversion warnings.
Florian Forster [Fri, 3 Jul 2015 09:44:28 +0000 (11:44 +0200)]
collectd-tg: Fix unintentional cast from double to time_t.
This fix is likely incomplete: the printf() line is probably executed way
too often now.
Florian Forster [Fri, 3 Jul 2015 06:23:29 +0000 (08:23 +0200)]
utils_cache.c, scale target: Don't re-implement counter wrap-around logic.
Florian Forster [Mon, 29 Jun 2015 15:56:37 +0000 (17:56 +0200)]
src/daemon/utils_subst_test.c: Actually add unit test.
D'oh!
Florian Forster [Mon, 29 Jun 2015 15:32:44 +0000 (17:32 +0200)]
src/daemon/utils_subst.c: Sanitize buffer offsets better.
The previous implementation broke when off1 / off2 were outside of "string"
but within "buflen". It also had problems if the replacement string was
too long. This new implementation truncates the buffer as expected and
is properly tested.
Florian Forster [Mon, 29 Jun 2015 10:52:03 +0000 (12:52 +0200)]
write_riemann plugin: Ensure that "statuses" is always initialized.
Hopefully fixes "Uninitialized argument value" warning.
Florian Forster [Mon, 29 Jun 2015 10:50:51 +0000 (12:50 +0200)]
src/daemon/common.[ch]: Improve signature of value_to_rate().
Passing in "value" as a derive_t and returning the rate as a value_t is
just inconvenient and wrong. Instead, pass "value" as a value_t and return
the rate in a gauge_t. While at it, move the state pointer to the end of
the argument list.
Florian Forster [Mon, 29 Jun 2015 07:51:12 +0000 (09:51 +0200)]
src/daemon/common_test.c: Fix "decimal constant is unsigned only in ISO C90" warning.
Florian Forster [Sun, 28 Jun 2015 13:05:45 +0000 (15:05 +0200)]
Merge branch 'collectd-5.5'
Florian Forster [Sun, 28 Jun 2015 13:05:36 +0000 (15:05 +0200)]
Merge branch 'collectd-5.4' into collectd-5.5
Florian Forster [Sun, 28 Jun 2015 13:00:49 +0000 (15:00 +0200)]
src/daemon/common.c: Fix handling of counter_t in value_to_rate().
Also fixes an off-by-one error in counter_diff() and adds a unit test for
the function.
Florian Forster [Sun, 28 Jun 2015 12:05:05 +0000 (14:05 +0200)]
src/daemon/common.c: Fix off-by-one error in escape_slashes().
Partial cherry-pick of
0cba91923be9326224f8434e4aae7691f7b6dad1.
Florian Forster [Sun, 28 Jun 2015 12:08:02 +0000 (14:08 +0200)]
src/daemon/common.c: Add unit test for escape_string().
Florian Forster [Sun, 28 Jun 2015 12:05:05 +0000 (14:05 +0200)]
src/daemon/common.c: Fix off-by-one error in escape_slashes().
This also adds a unit test for this issue.
Marc Fournier [Fri, 26 Jun 2015 06:09:47 +0000 (08:09 +0200)]
Merge branch 'collectd-5.5'
Conflicts:
src/write_redis.c
Florian Forster [Thu, 25 Jun 2015 20:37:20 +0000 (22:37 +0200)]
Merge remote-tracking branch 'github/pr/1097'
Landry Breuil [Wed, 24 Jun 2015 04:48:16 +0000 (06:48 +0200)]
properly handle error cases when kvm_read fails (#1094)
Florian Forster [Thu, 25 Jun 2015 20:34:26 +0000 (22:34 +0200)]
Merge remote-tracking branch 'github/pr/1093'
Marek Becka [Wed, 24 Jun 2015 15:39:55 +0000 (11:39 -0400)]
don't report inodes if fs doesn't provide f_files and f_ffree
Florian Forster [Thu, 25 Jun 2015 20:18:27 +0000 (22:18 +0200)]
write_redis plugin: Call freeReplyObject() for each redisReply.
Florian Forster [Thu, 25 Jun 2015 20:11:17 +0000 (22:11 +0200)]
write_redis plugin: Use the prefix for the "values" set, too.
Make the code match the documentation and use the prefix for the set of all
metrics, too. Also add documentation for the "Prefix" option and let the
default prefix be set at compile time.
Florian Forster [Thu, 25 Jun 2015 19:40:27 +0000 (21:40 +0200)]
Merge remote-tracking branch 'github/pr/1082'
Florian Forster [Thu, 25 Jun 2015 10:36:42 +0000 (12:36 +0200)]
Fix signed / unsigned comparison errors.
A lot of loop counters need to be size_t now, because values_len and ds_num
are now of that type.
Florian Forster [Thu, 25 Jun 2015 09:31:19 +0000 (11:31 +0200)]
src/daemon/common.c: Add parse_values() unit test.
Florian Forster [Thu, 25 Jun 2015 09:30:46 +0000 (11:30 +0200)]
src/daemon/plugin.h: Change "values_len" to type "size_t".
Florian Forster [Tue, 23 Jun 2015 12:26:55 +0000 (14:26 +0200)]
src/Makefile.am: Move tests towards the libraries tested.
Sebastian Pfahl [Mon, 15 Jun 2015 14:07:57 +0000 (14:07 +0000)]
removed separator between prefix and the rest of the key
Ruben Kerkhof [Mon, 22 Jun 2015 19:24:09 +0000 (21:24 +0200)]
Remove unmaintained Fedora contrib files
Florian Forster [Fri, 19 Jun 2015 18:08:24 +0000 (20:08 +0200)]
Merge branch 'collectd-5.5'
Florian Forster [Fri, 19 Jun 2015 18:03:08 +0000 (20:03 +0200)]
barometer plugin: Fix "Allocator sizeof operand mismatch" warning.
Florian Forster [Fri, 19 Jun 2015 17:27:27 +0000 (19:27 +0200)]
write_sensu plugin: Fix debug message.
It still referenced the variables, which have been removed in
1c4008c3216edbc9c7cbeffd1c597c9b32e8f64d.
Florian Forster [Fri, 19 Jun 2015 14:28:01 +0000 (16:28 +0200)]
Merge branch 'collectd-5.5'
Florian Forster [Fri, 19 Jun 2015 14:27:26 +0000 (16:27 +0200)]
write_sensu plugin: Fix memory leak.
Florian Forster [Fri, 19 Jun 2015 14:26:53 +0000 (16:26 +0200)]
turbostat plugin: Fix "Undefined allocation of 0 bytes (CERT MEM04-C; CWE-131)" warning.
Florian Forster [Fri, 19 Jun 2015 14:26:12 +0000 (16:26 +0200)]
openvpn plugin: Fix "Dead assignment" warning.
Florian Forster [Fri, 19 Jun 2015 13:11:39 +0000 (15:11 +0200)]
Merge branch 'collectd-5.4' into collectd-5.5
Florian Forster [Fri, 19 Jun 2015 11:06:34 +0000 (13:06 +0200)]
src/utils_cmd_flush.c: Fix memory leak.