collectd.git
7 years agoMerge branch 'collectd-5.7'
Ruben Kerkhof [Sat, 17 Dec 2016 17:56:47 +0000 (18:56 +0100)]
Merge branch 'collectd-5.7'

7 years agoFix parallel build
Ruben Kerkhof [Sat, 17 Dec 2016 16:44:47 +0000 (17:44 +0100)]
Fix parallel build

Fixes #2110

7 years agoAuto-Merge pull request #2053 from nuclearcat/master
Florian Forster [Sat, 17 Dec 2016 10:39:08 +0000 (11:39 +0100)]
Auto-Merge pull request #2053 from nuclearcat/master

Automatically merged due to "Automerge" label

7 years agoSuggestions
Denys Fedoryshchenko [Wed, 30 Nov 2016 04:07:40 +0000 (04:07 +0000)]
Suggestions

7 years agoMore appropriate metric
Denys Fedoryshchenko [Tue, 29 Nov 2016 00:28:30 +0000 (00:28 +0000)]
More appropriate metric

7 years agoRemoving double reference
Denys Fedoryshchenko [Tue, 29 Nov 2016 00:24:56 +0000 (00:24 +0000)]
Removing double reference

7 years agoAdding support of drops value monitoring
Denys Fedoryshchenko [Thu, 24 Nov 2016 01:20:25 +0000 (01:20 +0000)]
Adding support of drops value monitoring

7 years agoAuto-Merge pull request #2111 from octo/cid/157643
Florian Forster [Fri, 16 Dec 2016 18:39:06 +0000 (19:39 +0100)]
Auto-Merge pull request #2111 from octo/cid/157643

Automatically merged due to "Automerge" label

7 years agosrc/utils_cmd_getthreshold.c: Fix formatting.
Florian Forster [Fri, 16 Dec 2016 17:42:13 +0000 (18:42 +0100)]
src/utils_cmd_getthreshold.c: Fix formatting.

7 years agoset target: Avoid casting negative int to size_t.
Florian Forster [Fri, 16 Dec 2016 17:38:34 +0000 (18:38 +0100)]
set target: Avoid casting negative int to size_t.

CID: 157643

7 years agoupdate README to mention write_prometheus & support lib
Marc Fournier [Thu, 15 Dec 2016 22:22:59 +0000 (23:22 +0100)]
update README to mention write_prometheus & support lib

7 years agoAuto-Merge pull request #2096 from rubenk/target-set-plug-leak
Florian Forster [Thu, 15 Dec 2016 10:44:10 +0000 (11:44 +0100)]
Auto-Merge pull request #2096 from rubenk/target-set-plug-leak

Automatically merged due to "Automerge" label

7 years agoAuto-Merge pull request #2092 from rubenk/prometheus-plug-leak
Florian Forster [Thu, 15 Dec 2016 10:27:40 +0000 (11:27 +0100)]
Auto-Merge pull request #2092 from rubenk/prometheus-plug-leak

Automatically merged due to "Automerge" label

7 years agoMerge pull request #2100 from mojaves/pr-virt-disconnect-on-inst0
Ruben Kerkhof [Tue, 13 Dec 2016 15:36:26 +0000 (16:36 +0100)]
Merge pull request #2100 from mojaves/pr-virt-disconnect-on-inst0

virt plugin: handle disconnect on inst#0

7 years agovirt plugin: Use lv_disconnect on shutdown
Francesco Romani [Tue, 13 Dec 2016 15:34:24 +0000 (16:34 +0100)]
virt plugin: Use lv_disconnect on shutdown

Avoiding duplication of the code and let's use
the new lv_disconnect() helper in the lv_shutdown() callback.

Signed-off-by: Francesco Romani <fromani@redhat.com>
7 years agovirt plugin: handle disconnect on inst#0
Francesco Romani [Mon, 12 Dec 2016 11:05:11 +0000 (12:05 +0100)]
virt plugin: handle disconnect on inst#0

Only one virt reader instance should take care of connection
handling (connection/disconnection) to avoid races and plugin
data corruption, potentially crashing collectd.

This bug cannot be triggered with instances=1 (default settings).

Signed-off-by: Francesco Romani <fromani@redhat.com>
7 years agoMerge pull request #2101 from mojaves/pr-virt-open-on-init
Ruben Kerkhof [Tue, 13 Dec 2016 15:18:42 +0000 (16:18 +0100)]
Merge pull request #2101 from mojaves/pr-virt-open-on-init

virt plugin: Open connection on init()

7 years agovirt plugin: fail init with no libvirt connection
Francesco Romani [Mon, 12 Dec 2016 15:07:25 +0000 (16:07 +0100)]
virt plugin: fail init with no libvirt connection

Even though we handle disconnection and reconnection
in the read() callback, we expect the libvirt connection
to be available most of the time, including the init()
stage.

Thus, let's fail init() if the connection is not available.

Signed-off-by: Francesco Romani <fromani@redhat.com>
7 years agovirt plugin: Open connection on init()
Francesco Romani [Mon, 12 Dec 2016 11:03:43 +0000 (12:03 +0100)]
virt plugin: Open connection on init()

If we use more than one reader instance, we can spot errors like
this in the system logs:

Dec 12 09:59:24 $HOST collectd[19338]: reading number of
domains: invalid connection pointer in virConnectNumOfDomains
Dec 12 09:59:24 benji.rokugan.lan collectd[19338]: read-function of
plugin `virt-2' failed. Will suspend it for 20.000 seconds.

This causes unnecessary delay in the sampling of libvirt.
The reason for this is just one instance (always #0) takes care
of establishing the libvirt connection.

But this could be done safely in the plugin init callback: according
to doc, this function is called at least once before all the read
instances.

Signed-off-by: Francesco Romani <fromani@redhat.com>
7 years agoAlign dots in ./configure output
Ruben Kerkhof [Mon, 12 Dec 2016 11:34:25 +0000 (12:34 +0100)]
Align dots in ./configure output

7 years agoBump version to 5.7.0; Update ChangeLog. collectd-5.7.0
Florian Forster [Mon, 12 Dec 2016 07:57:37 +0000 (08:57 +0100)]
Bump version to 5.7.0; Update ChangeLog.

7 years agoutils_random.{c,h}: fix build warning
Ruben Kerkhof [Sun, 11 Dec 2016 15:15:01 +0000 (16:15 +0100)]
utils_random.{c,h}: fix build warning

utils_random.c:53:8: warning: no previous prototype for function 'cdrand_d' [-Wmissing-prototypes]
double cdrand_d() {
       ^
./utils_random.h:32:8: note: this declaration is not a prototype; add 'void' to make it a prototype for a zero-parameter function
double cdrand_d();
       ^
                void
utils_random.c:64:10: warning: no previous prototype for function 'cdrand_u' [-Wmissing-prototypes]
uint32_t cdrand_u() {
         ^
./utils_random.h:40:10: note: this declaration is not a prototype; add 'void' to make it a prototype for a zero-parameter function
uint32_t cdrand_u();
         ^
                  void
2 warnings generated.

7 years agoconfigure.ac: fixup some style issues
Ruben Kerkhof [Sun, 11 Dec 2016 14:04:15 +0000 (15:04 +0100)]
configure.ac: fixup some style issues

I missed these in 865f2eb3

7 years agoconfigure.ac: fix indentation
Ruben Kerkhof [Sun, 11 Dec 2016 13:34:26 +0000 (14:34 +0100)]
configure.ac: fix indentation

7 years agoTravis: install libmicrohttpd
Ruben Kerkhof [Fri, 9 Dec 2016 18:38:11 +0000 (19:38 +0100)]
Travis: install libmicrohttpd

For the write_prometheus plugin

7 years agoTravis: install libgps
Ruben Kerkhof [Fri, 9 Dec 2016 18:31:58 +0000 (19:31 +0100)]
Travis: install libgps

7 years agoTravis: install lua libs
Ruben Kerkhof [Fri, 9 Dec 2016 17:52:20 +0000 (18:52 +0100)]
Travis: install lua libs

7 years agotravis.yml: remove unrecognized option
Ruben Kerkhof [Fri, 9 Dec 2016 17:34:42 +0000 (18:34 +0100)]
travis.yml: remove unrecognized option

configure: WARNING: unrecognized options: --with-python

7 years agotarget_set: plug leak on error
Ruben Kerkhof [Fri, 9 Dec 2016 17:15:29 +0000 (18:15 +0100)]
target_set: plug leak on error

CID 157645

7 years agoemail plugin: initialize structure
Ruben Kerkhof [Fri, 9 Dec 2016 16:20:43 +0000 (17:20 +0100)]
email plugin: initialize structure

CID 38125

7 years agoMerge pull request #2093 from mojaves/pr-virt-domain-tag-fix
Ruben Kerkhof [Fri, 9 Dec 2016 16:00:25 +0000 (17:00 +0100)]
Merge pull request #2093 from mojaves/pr-virt-domain-tag-fix

virt plugin: fix error path in lv_domain_get_tag

7 years agovirt plugin: fix error path in lv_domain_get_tag
Francesco Romani [Fri, 9 Dec 2016 15:22:03 +0000 (16:22 +0100)]
virt plugin: fix error path in lv_domain_get_tag

Document the return value and fix the error path of
lv_domain_get_tag

Signed-off-by: Francesco Romani <fromani@redhat.com>
7 years agowrite_prometheus: plug a small leak
Ruben Kerkhof [Fri, 9 Dec 2016 14:41:18 +0000 (15:41 +0100)]
write_prometheus: plug a small leak

Found by scan-build

7 years agoMerge pull request #2089 from maryamtahhan/upstream_intelRdt
Ruben Kerkhof [Thu, 8 Dec 2016 21:16:49 +0000 (22:16 +0100)]
Merge pull request #2089 from maryamtahhan/upstream_intelRdt

intel_rdt: fix plugin based on new version of libpqos

7 years agoMerge pull request #2088 from landryb/fix/2061
Ruben Kerkhof [Thu, 8 Dec 2016 21:13:29 +0000 (22:13 +0100)]
Merge pull request #2088 from landryb/fix/2061

Fix processes and tcpconns plugins on OpenBSD

7 years agoMerge branch 'collectd-5.7'
Florian Forster [Thu, 8 Dec 2016 14:42:05 +0000 (15:42 +0100)]
Merge branch 'collectd-5.7'

7 years agoMerge branch 'collectd-5.6' into collectd-5.7
Florian Forster [Thu, 8 Dec 2016 14:27:03 +0000 (15:27 +0100)]
Merge branch 'collectd-5.6' into collectd-5.7

7 years agointel_rdt: reset pqos monitoring groups on initialization.
Korynkevych, RomanX [Tue, 6 Dec 2016 12:13:37 +0000 (12:13 +0000)]
intel_rdt: reset pqos monitoring groups on initialization.

Monitoring groups fail to start when intel_rdt plugin has unpredictably
stopped without unsubscribing from the pqos library. Reset pqos monitoring
groups registers after pqos library is initialized.

Change-Id: I231ba44e531deb8791f34730e7572bfe0cbd825d
Signed-off-by: Korynkevych, RomanX <romanx.korynkevych@intel.com>
7 years agordtmon: Use pqos callback to redirect pqos library messages to collectd.
Korynkevych, RomanX [Wed, 23 Nov 2016 13:33:44 +0000 (13:33 +0000)]
rdtmon: Use pqos callback to redirect pqos library messages to collectd.

Change-Id: I142e8940878926adf7752eabbad34a6c37cca1d4
Signed-off-by: Korynkevych, RomanX <romanx.korynkevych@intel.com>
7 years agoFix tcpconns plugin on OpenBSD by using kvm_getfiles() interface (#2061)
Jeremie Courreges-Anglas [Thu, 8 Dec 2016 09:57:53 +0000 (10:57 +0100)]
Fix tcpconns plugin on OpenBSD by using kvm_getfiles() interface (#2061)

Starting with OpenBSD 6.1, access to kvm device is restricted by default,
and tcpconns plugin used the kvm_nlist() interface which needs specific
privileges to access kernel memory. kvm_getfiles() doesn't need these
privileges, and is the interface used by netstat(1) to list connections.

7 years agoUse kvm_openfiles with KVM_NO_FILES on OpenBSD (#2061)
Jeremie Courreges-Anglas [Thu, 8 Dec 2016 09:55:04 +0000 (10:55 +0100)]
Use kvm_openfiles with KVM_NO_FILES on OpenBSD (#2061)

Starting with OpenBSD 6.1, access to kvm device is restricted by default,
and processes plugin doesnt need specific privileges on it.

Fixes 'permission denied' error messages with the kern.allowkmem sysctl
defaulting to 0.

7 years agoReformat gRPC plugin.
Sebastian Harl [Tue, 6 Dec 2016 20:14:41 +0000 (21:14 +0100)]
Reformat gRPC plugin.

I guess this was missed because the file uses a .cc suffix.

7 years agoMerge remote-tracking branch 'github/pr/2080'
Florian Forster [Tue, 6 Dec 2016 13:06:05 +0000 (14:06 +0100)]
Merge remote-tracking branch 'github/pr/2080'

7 years agoMerge remote-tracking branch 'github/pr/2081' into collectd-5.7
Florian Forster [Tue, 6 Dec 2016 12:40:09 +0000 (13:40 +0100)]
Merge remote-tracking branch 'github/pr/2081' into collectd-5.7

7 years agosmart plugin: Refactor, demote warnings to debug.
Florian Forster [Tue, 6 Dec 2016 12:28:20 +0000 (13:28 +0100)]
smart plugin: Refactor, demote warnings to debug.

Fixes: #2062

7 years agoFix configure on RHEL6
Ruben Kerkhof [Tue, 6 Dec 2016 11:12:49 +0000 (12:12 +0100)]
Fix configure on RHEL6

Older versions of autoconf really don't like empty action-if-not-found
sections.

7 years agoperl plugin: Include <stdbool.h> unconditionally.
Florian Forster [Tue, 6 Dec 2016 10:50:53 +0000 (11:50 +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.

7 years agosrc/utils_cmd_*.[ch]: Remove unused and redundant includes.
Florian Forster [Tue, 6 Dec 2016 09:55:42 +0000 (10:55 +0100)]
src/utils_cmd_*.[ch]: Remove unused and redundant includes.

7 years agosrc/Makefile.am: Fix linking with libcmds.la.
Florian Forster [Tue, 6 Dec 2016 09:55:06 +0000 (10:55 +0100)]
src/Makefile.am: Fix linking with libcmds.la.

Issue: #2067

7 years agoturbostat plugin: don't depend on capabilities
Ruben Kerkhof [Mon, 5 Dec 2016 22:45:25 +0000 (23:45 +0100)]
turbostat plugin: don't depend on capabilities

The plugin builds fine without them. Fixes build on RHEL6.

7 years agouuid plugin: remove support for HAL
Ruben Kerkhof [Mon, 5 Dec 2016 19:55:49 +0000 (20:55 +0100)]
uuid plugin: remove support for HAL

HAL has been deprecated for a long time.

7 years agoMerge branch 'contrib-docker-cleanup'
Ruben Kerkhof [Mon, 5 Dec 2016 19:53:48 +0000 (20:53 +0100)]
Merge branch 'contrib-docker-cleanup'

7 years agoTreewide: remove vim modelines from C code files
Ruben Kerkhof [Fri, 2 Dec 2016 14:50:40 +0000 (15:50 +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.

7 years agoMore autoconf work
Ruben Kerkhof [Sun, 7 Aug 2016 12:50:06 +0000 (14:50 +0200)]
More autoconf work

7 years agoFix some automake warnings
Ruben Kerkhof [Mon, 5 Dec 2016 19:23:39 +0000 (20:23 +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 `.'

7 years agoFix autoreconf error on Mac OS
Ruben Kerkhof [Mon, 5 Dec 2016 19:19:40 +0000 (20:19 +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

7 years agoMerge pull request #2048 from mojaves/pr-virt-domain-tag
Ruben Kerkhof [Mon, 5 Dec 2016 19:13:31 +0000 (20:13 +0100)]
Merge pull request #2048 from mojaves/pr-virt-domain-tag

Add support for virt domain tags

7 years agoAdd rootfs_prefix.so to .gitignore
Ruben Kerkhof [Mon, 5 Dec 2016 19:05:36 +0000 (20:05 +0100)]
Add rootfs_prefix.so to .gitignore

7 years agoAddress review comments
Ruben Kerkhof [Mon, 5 Dec 2016 19:04:46 +0000 (20:04 +0100)]
Address review comments

7 years agoMerge branch 'collectd-5.7'
Ruben Kerkhof [Mon, 5 Dec 2016 18:49:07 +0000 (19:49 +0100)]
Merge branch 'collectd-5.7'

7 years agodpdkstats: fix detection of local libdpdk
Mytnyk, VolodymyrX [Wed, 30 Nov 2016 14:12:49 +0000 (14:12 +0000)]
dpdkstats: fix detection of local libdpdk

- Fix typo.

Change-Id: I7cfb6dff4e1c2728650cd1d44aaaa36169880809
Signed-off-by: Mytnyk, VolodymyrX <volodymyrx.mytnyk@intel.com>
7 years agowrite_kafka plugin: Use 32bit random number when formatting a random key.
Florian Forster [Mon, 5 Dec 2016 10:52:35 +0000 (11:52 +0100)]
write_kafka plugin: Use 32bit random number when formatting a random key.

Previously, negative numbers would be truncated to "ffffffff" by the
buffer length on architectures where longs are 64 bit.

Fixes: #2074

7 years agosrc/daemon/utils_random.[ch]: Implement cdrand_u().
Florian Forster [Mon, 5 Dec 2016 10:49:34 +0000 (11:49 +0100)]
src/daemon/utils_random.[ch]: Implement cdrand_u().

7 years agoutils_format_graphite_test.c: fix build warnings
Ruben Kerkhof [Fri, 2 Dec 2016 13:59:47 +0000 (14:59 +0100)]
utils_format_graphite_test.c: fix build warnings

7 years agobattery_statefs: fix a few build warnings
Ruben Kerkhof [Fri, 2 Dec 2016 13:53:40 +0000 (14:53 +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
       ^~~~~~~~~~~~~~~~~~~~~~

7 years agometa_data.c: fix a build warning
Ruben Kerkhof [Fri, 2 Dec 2016 13:39:25 +0000 (14:39 +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.

7 years agoMerge branch 'collectd-5.7'
Ruben Kerkhof [Fri, 2 Dec 2016 13:01:27 +0000 (14:01 +0100)]
Merge branch 'collectd-5.7'

7 years agoMerge pull request #2069 from octo/issue/2067
Ruben Kerkhof [Fri, 2 Dec 2016 12:59:32 +0000 (13:59 +0100)]
Merge pull request #2069 from octo/issue/2067

src/Makefile.am: Fix dependencies for the "tail" and "match" utilities.

7 years agosrc/Makefile.am: Fix dependencies for the "tail" and "match" utilities.
Florian Forster [Thu, 1 Dec 2016 13:52:06 +0000 (14:52 +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

7 years agovirt plugin: Document the partition/tag support
Francesco Romani [Wed, 23 Nov 2016 17:39:51 +0000 (18:39 +0100)]
virt plugin: Document the partition/tag support

document the tag schema, and explain one use case
and rationale for it.

7 years agovirt plugin: Properly reset the lists
Francesco Romani [Thu, 24 Nov 2016 15:09:41 +0000 (16:09 +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@redhat.com>
7 years agovirt plugin: Disable tests momentarily
Francesco Romani [Thu, 24 Nov 2016 09:16:00 +0000 (10:16 +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.

7 years agovirt plugin: Add tests for the domain tags
Francesco Romani [Wed, 23 Nov 2016 17:38:42 +0000 (18:38 +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@redhat.com>
7 years agovirt plugin: Minor fixes
Francesco Romani [Wed, 30 Nov 2016 09:20:55 +0000 (10:20 +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@redhat.com>
7 years agovirt plugin: Use int, for the number of instances
Francesco Romani [Wed, 23 Nov 2016 17:53:08 +0000 (18:53 +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@redhat.com>
7 years agovirt plugin: Avoid NULL pointer deference
Francesco Romani [Wed, 23 Nov 2016 17:50:18 +0000 (18:50 +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@redhat.com>
7 years agovirt plugin: Add support for domain tags
Francesco Romani [Mon, 21 Nov 2016 10:29:52 +0000 (11:29 +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@redhat.com>
7 years agovirt plugin: Support for multiple read callbacks
Francesco Romani [Mon, 21 Nov 2016 08:30:45 +0000 (09:30 +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@redhat.com>
7 years agovirt plugin: Factor the read state into a struct
Francesco Romani [Wed, 30 Nov 2016 08:19:42 +0000 (09:19 +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@redhat.com>
7 years agoBump version to 5.6.1; Update ChangeLog. collectd-5.6.2
Florian Forster [Wed, 30 Nov 2016 08:44:51 +0000 (09:44 +0100)]
Bump version to 5.6.1; Update ChangeLog.

7 years agoMerge pull request #1898 from rubenk/remove-libltdl-support
Ruben Kerkhof [Tue, 29 Nov 2016 18:29:46 +0000 (19:29 +0100)]
Merge pull request #1898 from rubenk/remove-libltdl-support

Replace libltdl with plain dlopen.

7 years agocontrib/docker: cleanup wrapper a bit
Ruben Kerkhof [Tue, 29 Nov 2016 16:26:37 +0000 (17:26 +0100)]
contrib/docker: cleanup wrapper a bit

- No need to declare errno
- Remove one level of indentation

7 years agoDrop support for libtool version 1
Ruben Kerkhof [Fri, 19 Aug 2016 20:14:30 +0000 (22:14 +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.

7 years agosrc/utils_format_graphite.[ch]: Test correct null termination.
Florian Forster [Tue, 29 Nov 2016 15:21:23 +0000 (16:21 +0100)]
src/utils_format_graphite.[ch]: Test correct null termination.

Issue: #2063

7 years agoMerge branch 'collectd-5.7'
Ruben Kerkhof [Tue, 29 Nov 2016 14:47:53 +0000 (15:47 +0100)]
Merge branch 'collectd-5.7'

7 years agoMerge pull request #2064 from rubenk/fix-make-distcheck
Ruben Kerkhof [Tue, 29 Nov 2016 14:46:52 +0000 (15:46 +0100)]
Merge pull request #2064 from rubenk/fix-make-distcheck

Fix make distcheck

7 years agoFix make distcheck
Ruben Kerkhof [Tue, 29 Nov 2016 14:43:22 +0000 (15:43 +0100)]
Fix make distcheck

This was broken by 1d888f3

7 years agoCollected podtypo
Kevin Bowling [Wed, 6 Apr 2016 06:17:26 +0000 (23:17 -0700)]
Collected podtypo

7 years agoMerge branch 'collectd-5.7'
Ruben Kerkhof [Tue, 29 Nov 2016 11:39:33 +0000 (12:39 +0100)]
Merge branch 'collectd-5.7'

7 years agoMerge branch 'collectd-5.6' into collectd-5.7
Ruben Kerkhof [Tue, 29 Nov 2016 11:38:59 +0000 (12:38 +0100)]
Merge branch 'collectd-5.6' into collectd-5.7

Conflicts:
contrib/redhat/collectd.spec

7 years agocollectd.spec: also disable write_redis on EL6
Ruben Kerkhof [Tue, 29 Nov 2016 11:33:20 +0000 (12:33 +0100)]
collectd.spec: also disable write_redis on EL6

This plugin also depends on the hiredis library, which was retired from
EPEL6.

7 years agoMerge branch 'collectd-5.5' into collectd-5.6
Ruben Kerkhof [Tue, 29 Nov 2016 11:31:39 +0000 (12:31 +0100)]
Merge branch 'collectd-5.5' into collectd-5.6

Conflicts:
contrib/redhat/collectd.spec

7 years agocontrib: clang-format rootfs_prefix.c
Ruben Kerkhof [Tue, 29 Nov 2016 11:21:29 +0000 (12:21 +0100)]
contrib: clang-format rootfs_prefix.c

7 years agocollectd.spec: disable redis plugin on EL6
Ruben Kerkhof [Tue, 29 Nov 2016 10:48:40 +0000 (11:48 +0100)]
collectd.spec: disable redis plugin on EL6

hiredis has been retired from EPEL6

7 years agocollectd.spec: disable redis plugin on EL6
Ruben Kerkhof [Tue, 29 Nov 2016 10:43:08 +0000 (11:43 +0100)]
collectd.spec: disable redis plugin on EL6

7 years agoMerge pull request #2041 from mfournier/contrib-docker
Ruben Kerkhof [Tue, 29 Nov 2016 10:26:24 +0000 (11:26 +0100)]
Merge pull request #2041 from mfournier/contrib-docker

Add sample Dockerfile & LD_PRELOAD wrapper to contrib

7 years agoEven more renormalization.
Florian Forster [Mon, 28 Nov 2016 21:23:24 +0000 (22:23 +0100)]
Even more renormalization.

7 years agoMerge branch 'collectd-5.6'
Florian Forster [Mon, 28 Nov 2016 21:23:04 +0000 (22:23 +0100)]
Merge branch 'collectd-5.6'

7 years agoMore reformatting.
Florian Forster [Mon, 28 Nov 2016 21:22:01 +0000 (22:22 +0100)]
More reformatting.

No idea why the previous round missed these files.

7 years agoMerge branch 'collectd-5.6'
Florian Forster [Mon, 28 Nov 2016 21:16:04 +0000 (22:16 +0100)]
Merge branch 'collectd-5.6'