[collectd-changes] collectd, the system statistics collection daemon: Changes to 'master'
Florian Forster
octo at verplant.org
Tue Dec 6 13:32:51 CET 2016
.gitignore | 10 +-
Makefile.am | 13 +-
README | 1 -
build.sh | 2 +-
clean.sh | 1 -
configure.ac | 9112 +++++++++++-----------
contrib/docker/rootfs_prefix/.gitignore | 1 +
contrib/docker/rootfs_prefix/rootfs_prefix.c | 34 +-
contrib/redhat/collectd.spec | 3 +-
docs/README.virt.md | 240 +
src/Makefile.am | 73 +-
src/aggregation.c | 2 -
src/amqp.c | 2 -
src/apache.c | 2 -
src/apple_sensors.c | 4 -
src/aquaero.c | 2 -
src/ascent.c | 2 -
src/battery_statefs.c | 6 +-
src/bind.c | 2 -
src/ceph.c | 1 -
src/ceph_test.c | 2 -
src/collectd-tg.c | 2 -
src/collectd.conf.in | 1 +
src/collectd.conf.pod | 6 +
src/collectdctl.c | 2 -
src/collectdmon.c | 2 -
src/cpu.c | 2 -
src/curl.c | 2 -
src/curl_json.c | 2 -
src/curl_xml.c | 2 -
src/daemon/Makefile.am | 21 +-
src/daemon/collectd.h | 58 +-
src/daemon/common.c | 4 -
src/daemon/common_test.c | 2 -
src/daemon/configfile.c | 6 +-
src/daemon/filter_chain.c | 2 -
src/daemon/filter_chain.h | 1 -
src/daemon/meta_data.c | 4 +-
src/daemon/meta_data.h | 1 -
src/daemon/meta_data_test.c | 2 -
src/daemon/plugin.c | 46 +-
src/daemon/plugin.h | 6 +-
src/daemon/plugin_mock.c | 15 +-
src/daemon/types_list.c | 4 -
src/daemon/utils_avltree_test.c | 2 -
src/daemon/utils_cache.c | 2 -
src/daemon/utils_cache.h | 1 -
src/daemon/utils_complain.c | 2 -
src/daemon/utils_complain.h | 2 -
src/daemon/utils_heap.c | 2 -
src/daemon/utils_heap.h | 1 -
src/daemon/utils_heap_test.c | 2 -
src/daemon/utils_match.c | 372 -
src/daemon/utils_match.h | 181 -
src/daemon/utils_subst.c | 2 -
src/daemon/utils_subst.h | 2 -
src/daemon/utils_subst_test.c | 2 -
src/daemon/utils_tail.c | 235 -
src/daemon/utils_tail.h | 88 -
src/daemon/utils_tail_match.c | 340 -
src/daemon/utils_tail_match.h | 141 -
src/daemon/utils_threshold.h | 2 -
src/daemon/utils_time.c | 2 -
src/daemon/utils_time.h | 1 -
src/daemon/utils_time_test.c | 2 -
src/dbi.c | 4 -
src/disk.c | 20 +-
src/email.c | 2 -
src/ethstat.c | 2 -
src/exec.c | 4 -
src/filecount.c | 4 -
src/fscache.c | 2 -
src/gmond.c | 2 -
src/grpc.cc | 2 -
src/ipc.c | 2 -
src/ipmi.c | 2 -
src/ipvs.c | 2 -
src/java.c | 2 -
src/libcollectdclient/client.c | 2 -
src/libcollectdclient/collectd/client.h | 3 -
src/libcollectdclient/collectd/lcc_features.h.in | 3 -
src/libcollectdclient/collectd/network.h | 1 -
src/libcollectdclient/collectd/network_buffer.h | 1 -
src/libcollectdclient/network.c | 2 -
src/libcollectdclient/network_buffer.c | 14 +-
src/liboconfig/oconfig.c | 4 -
src/liboconfig/oconfig.h | 3 -
src/log_logstash.c | 2 -
src/logfile.c | 2 -
src/lpar.c | 2 -
src/lua.c | 2 -
src/match_empty_counter.c | 2 -
src/match_hashed.c | 2 -
src/match_regex.c | 2 -
src/match_timediff.c | 2 -
src/match_value.c | 2 -
src/memcachec.c | 2 -
src/mic.c | 4 -
src/modbus.c | 2 -
src/mqtt.c | 2 -
src/multimeter.c | 3 +-
src/netapp.c | 2 -
src/netlink.c | 4 -
src/network.c | 82 +-
src/nginx.c | 4 -
src/notify_desktop.c | 2 -
src/notify_email.c | 2 -
src/notify_nagios.c | 2 -
src/ntpd.c | 3 -
src/numa.c | 2 -
src/nut.c | 2 -
src/olsrd.c | 2 -
src/onewire.c | 2 -
src/openvpn.c | 2 -
src/oracle.c | 4 -
src/perl.c | 4 -
src/pinba.c | 2 -
src/ping.c | 2 -
src/postgresql.c | 2 -
src/powerdns.c | 2 -
src/protocols.c | 2 -
src/redis.c | 2 -
src/routeros.c | 2 -
src/rrdcached.c | 4 -
src/snmp.c | 4 -
src/statsd.c | 2 -
src/swap.c | 2 -
src/table.c | 2 -
src/tail.c | 2 -
src/tail_csv.c | 2 -
src/target_notification.c | 2 -
src/target_replace.c | 2 -
src/target_scale.c | 2 -
src/target_set.c | 2 -
src/target_v5upgrade.c | 2 -
src/tcpconns.c | 4 -
src/teamspeak2.c | 2 -
src/ted.c | 5 +-
src/threshold.c | 2 -
src/tokyotyrant.c | 2 -
src/unixsock.c | 2 -
src/utils_cmd_flush.c | 2 -
src/utils_cmd_flush.h | 2 -
src/utils_cmd_getthreshold.c | 2 -
src/utils_cmd_getthreshold.h | 2 -
src/utils_cmd_getval.c | 2 -
src/utils_cmd_getval.h | 2 -
src/utils_cmd_listval.c | 2 -
src/utils_cmd_listval.h | 2 -
src/utils_cmd_putnotif.c | 2 -
src/utils_cmd_putnotif.h | 2 -
src/utils_cmds.c | 2 -
src/utils_db_query.c | 2 -
src/utils_db_query.h | 1 -
src/utils_dns.c | 3 -
src/utils_fbhash.c | 2 -
src/utils_fbhash.h | 2 -
src/utils_format_graphite.c | 2 -
src/utils_format_graphite_test.c | 37 +-
src/utils_format_json.c | 2 -
src/utils_format_kairosdb.c | 2 -
src/utils_latency.c | 2 -
src/utils_latency.h | 2 -
src/utils_latency_test.c | 2 -
src/utils_lua.c | 2 -
src/utils_lua.h | 1 -
src/utils_match.c | 370 +
src/utils_match.h | 179 +
src/utils_mount_test.c | 2 -
src/utils_parse_option.c | 2 -
src/utils_parse_option.h | 2 -
src/utils_rrdcreate.c | 2 -
src/utils_rrdcreate.h | 2 -
src/utils_tail.c | 235 +
src/utils_tail.h | 88 +
src/utils_tail_match.c | 338 +
src/utils_tail_match.h | 139 +
src/uuid.c | 14 -
src/varnish.c | 2 -
src/virt.c | 449 +-
src/virt_test.c | 207 +
src/vmem.c | 2 -
src/vserver.c | 2 -
src/write_graphite.c | 2 -
src/write_http.c | 2 -
src/write_log.c | 2 -
src/write_mongodb.c | 6 -
src/write_prometheus.c | 2 -
src/write_redis.c | 2 -
src/write_riemann.c | 2 -
src/write_riemann_threshold.c | 2 -
src/write_sensu.c | 2 -
src/write_tsdb.c | 2 -
src/xmms.c | 4 -
194 files changed, 6849 insertions(+), 6682 deletions(-)
New commits:
commit 579c00afb0ad01cbd0577b4391fa320b158585b0
Author: Florian Forster <octo at collectd.org>
Date: Tue Dec 6 11:50:53 2016 +0100
perl plugin: Include <stdbool.h> unconditionally.
With the autoconf work in dcb67fd746e550f73f4db4db2e2b24ff9788f209,
HAVE_STDBOOL_H will no longer be defined. Since we depend on C99, we can
include this header unconditionally.
commit 4e8e1adb1b6affe8af4a844480b4cd11fbfae27e
Author: Ruben Kerkhof <ruben at rubenkerkhof.com>
Date: Mon Dec 5 23:45:25 2016 +0100
turbostat plugin: don't depend on capabilities
The plugin builds fine without them. Fixes build on RHEL6.
commit b9f877bc827ea4c0097682fc87cc5bcfd0000807
Merge: c7c89cc 2c2a8af
Author: Ruben Kerkhof <ruben at rubenkerkhof.com>
Date: Mon Dec 5 20:53:48 2016 +0100
Merge branch 'contrib-docker-cleanup'
commit c7c89cc9618ef25cc9b0861ac2782cb1a5d6782d
Author: Ruben Kerkhof <ruben at rubenkerkhof.com>
Date: Fri Dec 2 15:50:40 2016 +0100
Treewide: remove vim modelines from C code files
They often conflict with the formatting we do with clang-format.
And while we're at it, remove blank lines for end of files too.
commit 865f2eb31e8264edd9337bc63ac59f6c2fa3b5a7
Author: Ruben Kerkhof <ruben at rubenkerkhof.com>
Date: Sun Aug 7 14:50:06 2016 +0200
More autoconf work
commit dcb67fd746e550f73f4db4db2e2b24ff9788f209
Author: Ruben Kerkhof <ruben at rubenkerkhof.com>
Date: Mon Dec 5 20:23:39 2016 +0100
Fix some automake warnings
src/Makefile.am:1286: warning: variable 'test_plugin_virt_SOURCES' is defined but no program or
src/Makefile.am:1286: library has 'test_plugin_virt' as canonical name (possible typo)
src/Makefile.am:1290: warning: variable 'test_plugin_virt_LDADD' is defined but no program or
src/Makefile.am:1290: library has 'test_plugin_virt' as canonical name (possible typo)
src/Makefile.am:1289: warning: variable 'test_plugin_virt_LDFLAGS' is defined but no program or
src/Makefile.am:1289: library has 'test_plugin_virt' as canonical name (possible typo)
autoreconf: Leaving directory `.'
commit 2de529274cd527a2bd61844cb3e52148693ce8bb
Author: Ruben Kerkhof <ruben at rubenkerkhof.com>
Date: Mon Dec 5 20:19:40 2016 +0100
Fix autoreconf error on Mac OS
autoreconf: running: /usr/local/Cellar/autoconf/2.69/bin/autoconf --force
configure.ac:39: error: possibly undefined macro: AC_DISABLE_STATIC
If this token and others are legitimate, please use m4_pattern_allow.
See the Autoconf documentation.
autoreconf: /usr/local/Cellar/autoconf/2.69/bin/autoconf failed with exit status: 1
commit 83eb320536762bfb6a473b41adfc48295410f3b7
Merge: c7fa732 999efc2
Author: Ruben Kerkhof <ruben at rubenkerkhof.com>
Date: Mon Dec 5 20:13:31 2016 +0100
Merge pull request #2048 from mojaves/pr-virt-domain-tag
Add support for virt domain tags
commit 2c2a8af7bcc3529dabe2a1cb71386f41259fba69
Author: Ruben Kerkhof <ruben at rubenkerkhof.com>
Date: Mon Dec 5 20:05:36 2016 +0100
Add rootfs_prefix.so to .gitignore
commit f610ada7c7523e655c2d701dc2e494dcc192a7c8
Author: Ruben Kerkhof <ruben at rubenkerkhof.com>
Date: Mon Dec 5 20:04:46 2016 +0100
Address review comments
commit c7fa732db30f2886e64829047e8912bd84afb65f
Merge: f65cebb b88aba2
Author: Ruben Kerkhof <ruben at rubenkerkhof.com>
Date: Mon Dec 5 19:49:07 2016 +0100
Merge branch 'collectd-5.7'
commit b88aba2e5d98699cd19b6634b1183a3d839ec2a5
Author: Mytnyk, VolodymyrX <volodymyrx.mytnyk at intel.com>
Date: Wed Nov 30 14:12:49 2016 +0000
dpdkstats: fix detection of local libdpdk
- Fix typo.
Change-Id: I7cfb6dff4e1c2728650cd1d44aaaa36169880809
Signed-off-by: Mytnyk, VolodymyrX <volodymyrx.mytnyk at intel.com>
commit f65cebb764a2e005148d00311caec48dd2540c20
Author: Ruben Kerkhof <ruben at rubenkerkhof.com>
Date: Fri Dec 2 14:59:47 2016 +0100
utils_format_graphite_test.c: fix build warnings
commit 6ab19698c76f14696e606c5b1de22190d00ca903
Author: Ruben Kerkhof <ruben at rubenkerkhof.com>
Date: Fri Dec 2 14:53:40 2016 +0100
battery_statefs: fix a few build warnings
battery_statefs.c:95:8: warning: initializing 'char *' with an expression of type 'const char [38]' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers]
{STATEFS_ROOT "Current", "current", NULL, 1e-6}, // from uA to A
^~~~~~~~~~~~~~~~~~~~~~
commit d6b4d8a4fce28d6c6bc689de582ebff525fa13dc
Author: Ruben Kerkhof <ruben at rubenkerkhof.com>
Date: Fri Dec 2 14:39:25 2016 +0100
meta_data.c: fix a build warning
make[3]: Entering directory '/home/ruben/src/collectd/src/daemon'
CC meta_data.lo
meta_data.c:728:12: warning: assigning to 'char *' from 'const char *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers]
actual = e->value.mv_boolean ? "true" : "false";
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 warning generated.
CCLD libmetadata.la
CC collectd-meta_data.o
meta_data.c:728:12: warning: assigning to 'char *' from 'const char *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers]
actual = e->value.mv_boolean ? "true" : "false";
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 warning generated.
commit 2e79fb47c10ffd9efc9532c68fc18a1ad8eaaf61
Merge: 797ed5e d5569bf
Author: Ruben Kerkhof <ruben at rubenkerkhof.com>
Date: Fri Dec 2 14:01:27 2016 +0100
Merge branch 'collectd-5.7'
commit d5569bf266133d0bef3a1d3f805d72713ceb84cf
Merge: 1584297 391ceea
Author: Ruben Kerkhof <ruben at rubenkerkhof.com>
Date: Fri Dec 2 13:59:32 2016 +0100
Merge pull request #2069 from octo/issue/2067
src/Makefile.am: Fix dependencies for the "tail" and "match" utilities.
commit 391ceea5afd965889ac1f928840dc7f4e3c66a7b
Author: Florian Forster <octo at collectd.org>
Date: Thu Dec 1 14:52:06 2016 +0100
src/Makefile.am: Fix dependencies for the "tail" and "match" utilities.
Since being pulled out of the core daemon, the daemon no longer provides
all the required symbols for these shared objects. The "tail", "match"
and "tail_match" utils need to be compiled in explicitly. Also, we need
to link with the liblatency.la convenience library for the
"Distribution" handling in the "match" util.
Issue: #2067
commit 999efc28d8e2e96bc15f535254d412a79755ca4f
Author: Francesco Romani <fromani at redhat.com>
Date: Wed Nov 23 18:39:51 2016 +0100
virt plugin: Document the partition/tag support
document the tag schema, and explain one use case
and rationale for it.
commit 0936a9ec3f007731f43c7c207a085baec88ab461
Author: Francesco Romani <fromani at redhat.com>
Date: Thu Nov 24 16:09:41 2016 +0100
virt plugin: Properly reset the lists
If all the libvirt domains are shutdown between two refresh cycles,
the code failed to clean the lists.
Thus, the last detected libvirt domains are kept forever, leading
to failures in the data collection.
This leads to messages like
Nov 24 15:34:57 benji.rokugan.lan collectd[15083]: libvirt: QEMU Driver
error : Domain not found: no domain with matching uuid
'bc324fee-5707-4ac6-a650-6037562d4632' (nano_C010)
In the logs.
This bug was also present in collectd 5.6.1.
Signed-off-by: Francesco Romani <fromani at redhat.com>
commit 6188d7d378e3598f8794c03530bb12f335235f4c
Author: Francesco Romani <fromani at redhat.com>
Date: Thu Nov 24 10:16:00 2016 +0100
virt plugin: Disable tests momentarily
Old libvirts (<= 0.10.z, such as the version shipped on debian wheezy)
depend on libnl-1. There is a small memory leak caused by the
initialization of the library, and we have no means to avoid it.
This causes valgrind to complain in the tests, creating a false
positive.
Anyway, libvirt switched to libnl-3, which should also fix this leak.
The simplest solution is just to disable those tests until we
can depend on libnl-3 enabled libvirt.
commit 98e38add333bfcb893fcde408ecf3a0c43d99e31
Author: Francesco Romani <fromani at redhat.com>
Date: Wed Nov 23 18:38:42 2016 +0100
virt plugin: Add tests for the domain tags
Bootstrap the unit tests for the virt plugin, starting with
the newly-added partition/tag support.
Signed-off-by: Francesco Romani <fromani at redhat.com>
commit 19828ada837ae5c39927fab00f899ec82fac4292
Author: Francesco Romani <fromani at redhat.com>
Date: Wed Nov 30 10:20:55 2016 +0100
virt plugin: Minor fixes
- avoid double registration with useless lv_read callback (will do
nothing now without userdata)
- fix configuration parsing
- improve and reformat logging
- avoid unitialized memory in partition tag buffer
- refactor and improve finalization, and ensure deregistration of
namespaces to improve cleanup.
Signed-off-by: Francesco Romani <fromani at redhat.com>
commit a726d25c36e8eb73000148c955f5002a66cff53c
Author: Francesco Romani <fromani at redhat.com>
Date: Wed Nov 23 18:53:08 2016 +0100
virt plugin: Use int, for the number of instances
One 'int' is big enough, and we check the boundaries anyway
in lv_config.
Signed-off-by: Francesco Romani <fromani at redhat.com>
commit c84646c105b7ea2b47b58fb470e5222da71323ca
Author: Francesco Romani <fromani at redhat.com>
Date: Wed Nov 23 18:50:18 2016 +0100
virt plugin: Avoid NULL pointer deference
As per pull request review. Moving the variable assignement after
the check avoid any potential issues in the future.
Signed-off-by: Francesco Romani <fromani at redhat.com>
commit 452324c4a5b6ec07575cfc5d5d339852b040509b
Author: Francesco Romani <fromani at redhat.com>
Date: Mon Nov 21 11:29:52 2016 +0100
virt plugin: Add support for domain tags
One "domain tag" is one custom attribute in the libvirt domain
metadata section. This patch enhances the virt plugin to partition
the domains to sample into reader instances according to tags.
One reader instance will only query the domains with attached
a macthing tag.
The special-purpose reader instance #0, guaranteed to be always present,
(since <0 instances are not allowed), will query all the domains
with missing or unrecognized tag, so no domain will ever left
out.
It's up to one external entity, like a management application,
to properly tag domains however it sees fit; how tags are picked
is completely transparent to the plugin
Tagging could be used by management application to evenly spread the
load among the reader threads, or to pin on the same threads all
the libvirt domains which use the same shared storage, to minimize
the disruption in presence of storage outages.
Signed-off-by: Francesco Romani <fromani at redhat.com>
commit 9f9af17af0f568abf79b415473125f923be44a34
Author: Francesco Romani <fromani at redhat.com>
Date: Mon Nov 21 09:30:45 2016 +0100
virt plugin: Support for multiple read callbacks
Add support to register more than one read callbacks in the
reader thread pool.
The default configuration is to use just one read callback,
for backward compatibility. No user-visible changes are expected
in this scenario.
Signed-off-by: Francesco Romani <fromani at redhat.com>
commit 2846042936e80c1f619936677fb04aa00a18cc25
Author: Francesco Romani <fromani at redhat.com>
Date: Wed Nov 30 09:19:42 2016 +0100
virt plugin: Factor the read state into a struct
The lv_read function needs some bookkeeping data to track which
domain, block interface and network interface should be polled
for new data.
This patch factors out this data, previously scattered as module
globals, in a new struct. This makes the code a little tidier
and more reusable.
Signed-off-by: Francesco Romani <fromani at redhat.com>
commit 797ed5e5bee9ee89361f12e447ffc6ceb6ef79d2
Merge: 686cbcd 9815371
Author: Ruben Kerkhof <ruben at rubenkerkhof.com>
Date: Tue Nov 29 19:29:46 2016 +0100
Merge pull request #1898 from rubenk/remove-libltdl-support
Replace libltdl with plain dlopen.
commit 3d0f82ce316e9712e08493d21e7e792d62dff98e
Author: Ruben Kerkhof <ruben at rubenkerkhof.com>
Date: Tue Nov 29 17:26:37 2016 +0100
contrib/docker: cleanup wrapper a bit
- No need to declare errno
- Remove one level of indentation
commit 98153711785e87dbeb7d0e8c19075bc0a780e04f
Author: Ruben Kerkhof <ruben at rubenkerkhof.com>
Date: Fri Aug 19 22:14:30 2016 +0200
Drop support for libtool version 1
The only distro that we still support that uses libtool version 1
is RHEL5, but that will be EOL in a few months.
commit 686cbcd347f350aa59997478d0945ab0e952818b
Author: Florian Forster <octo at collectd.org>
Date: Tue Nov 29 16:21:23 2016 +0100
src/utils_format_graphite.[ch]: Test correct null termination.
Issue: #2063
commit 176a71f2e7684c4c6ab279b199450d2e0e949161
Merge: fe6da88 1584297
Author: Ruben Kerkhof <ruben at rubenkerkhof.com>
Date: Tue Nov 29 15:47:53 2016 +0100
Merge branch 'collectd-5.7'
commit 1584297665665f900011297f1ae0e29ecf9ce379
Merge: 2e632b0 88a030d
Author: Ruben Kerkhof <ruben at rubenkerkhof.com>
Date: Tue Nov 29 15:46:52 2016 +0100
Merge pull request #2064 from rubenk/fix-make-distcheck
Fix make distcheck
commit 88a030db20ff8dfa161fa10dd1d7fb1cf3f18bda
Author: Ruben Kerkhof <ruben at rubenkerkhof.com>
Date: Tue Nov 29 15:43:22 2016 +0100
Fix make distcheck
This was broken by 1d888f3
More information about the collectd-changes
mailing list