Radoslaw Jablonski [Wed, 2 May 2018 07:48:34 +0000 (08:48 +0100)]
virt unit tests: Add valgrind.suppress with libnl1 leak definition
Libnl-1 is used by libvirt on older systems (e.g. debian wheezy)
and unfortunately it has memory leaks that cannot be fixed from
collectd side - virt unit tests were failing on platforms with
libnl1 because of those leaks.
Valgrind.suppress file is used to pass definitions for leaks that
cannot be fixed and now virt unit tests can be run without any
problems on every platform - memory leaks are still validated and
the only difference is that libnl1 leaks are ignored during
valgrind check.
Change-Id: I5fc423402f7b89e4e43fb896f73cba89eea36226
Signed-off-by: Radoslaw Jablonski <radoslawx.jablonski@intel.com>
Radoslaw Jablonski [Mon, 23 Apr 2018 06:32:35 +0000 (07:32 +0100)]
virt: Add exit condition in notif-thread loop
Previously thread was stopped using pthread_cancel() call.
Now introduced state variable to track thread active state.
This patch fixes warning about 'infinite loop without
exit condition' generated by Klocwork static analisys.
Change-Id: Ifbaf1dacf422ad6a2a11057e6475c4320c709f33
Signed-off-by: Radoslaw Jablonski <radoslawx.jablonski@intel.com>
Radoslaw Jablonski [Fri, 30 Mar 2018 15:31:00 +0000 (16:31 +0100)]
virt: Fix memory handling for domains data
Memory with data for inactive domains was wrongly
freed earlier in refresh_lists() function and crash
was generated. Memory for active domains have
had the same problems with unnecessary free.
Also added handling for freeing inactive domain in
case of error.
Change-Id: I618798d9a369840be9ee596c96f12cbc1f7b24a6
Signed-off-by: Radoslaw Jablonski <radoslawx.jablonski@intel.com>
Radoslaw Jablonski [Thu, 29 Mar 2018 07:39:23 +0000 (08:39 +0100)]
virt: Fix code style in unit tests
Change-Id: I22501153af210082b444103a8c2ae2686064ebfa
Signed-off-by: Radoslaw Jablonski <radoslawx.jablonski@intel.com>
Radoslaw Jablonski [Tue, 27 Mar 2018 14:59:13 +0000 (15:59 +0100)]
virt: Fix memory leak when using libvirt <= 1.0
Cleanup was missing for libvirt-allocated virDomainPtr.
Change-Id: Ied152e9e4084ee9e25b7357e648a6aac8778d09b
Signed-off-by: Radoslaw Jablonski <radoslawx.jablonski@intel.com>
Radoslaw Jablonski [Mon, 26 Mar 2018 10:18:19 +0000 (11:18 +0100)]
virt: Replace malloc with calloc for array allocations
Change-Id: I5720ea4c4a237eca7aac19e2cdf7a37194c4c69c
Signed-off-by: Radoslaw Jablonski <radoslawx.jablonski@intel.com>
Antoine Naud [Wed, 21 Mar 2018 08:51:42 +0000 (08:51 +0000)]
src/virt.c: Decouple persistent notifications from refreshInterval
When persistentNotification is true, if refreshInterval value is larger than
(read) Interval, the notifications are not issued every read interval as should
be. The fix consist in decoupling persistent notifications from refreshInterval.
Change-Id: I157554a360510c21ffa631430446afd57b99dfab
Signed-off-by: Antoine Naud <antoinex.naud@intel.com>
Antoine Naud [Thu, 22 Mar 2018 09:48:09 +0000 (09:48 +0000)]
src/virt_test.c: Fix build error on ubuntu:trusty
Change-Id: Ie7dce42f52709c95e1cc51c2236276755278a0ec
Signed-off-by: Antoine Naud <antoinex.naud@intel.com>
Antoine Naud [Thu, 22 Mar 2018 08:31:23 +0000 (08:31 +0000)]
src/virt_test.c: Fix memory leaks detected by valgrind
src/virt.c: The same memory leaks are also fixed.
Change-Id: Ie970ec5ce500be7cc06512a52994b37cfb687e84
Signed-off-by: Antoine Naud <antoinex.naud@intel.com>
Antoine Naud [Wed, 14 Mar 2018 11:49:13 +0000 (11:49 +0000)]
src/virt.c: Fix build error on ubuntu:trusty
Change-Id: Ic76a5b9861360181c677b643245b24f40b80777b
Signed-off-by: Antoine Naud <antoinex.naud@intel.com>
Radoslaw Jablonski [Wed, 7 Mar 2018 14:40:35 +0000 (14:40 +0000)]
virt: Fix unit tests build with libvirt versions < 1.3
Previously too much code was disabled in ifdefs, and during
compilation with old libvirt (version < 1.3.x) warning was shown
because of unused test variables.
Change-Id: I631c9446add4ccef068a3c4585f8750a5930f406
Signed-off-by: Radoslaw Jablonski <radoslawx.jablonski@intel.com>
Radoslaw Jablonski [Wed, 7 Mar 2018 09:55:56 +0000 (09:55 +0000)]
plugin_mock: Fix code formatting after virt-plugin related changes
Change-Id: I759724b3b6ae9e2f62a66f82e59ca4ca29cc1db9
Signed-off-by: Radoslaw Jablonski <radoslawx.jablonski@intel.com>
Antoine Naud [Fri, 2 Mar 2018 15:00:01 +0000 (15:00 +0000)]
src/virt.c: Enable support for libvirt-1.3.1
Several macros are added to the definition of map_domain_event_detail_to_reason.
One unnecessary #ifdef macro is removed.
Change-Id: I5357816caa11009fbfee076524e03cdf2eb06109
Signed-off-by: Antoine Naud <antoinex.naud@intel.com>
Antoine Naud [Thu, 22 Feb 2018 14:21:50 +0000 (14:21 +0000)]
src/virt.c: Fix security issue detected by klocwork related to strncat
The fix consist in replacing all strncat invocations
with safer macro SSTRNCAT.
Change-Id: I4faee764762f8881d7f7539db6359685b910da44
Signed-off-by: Antoine Naud <antoinex.naud@intel.com>
Radoslaw Jablonski [Fri, 16 Feb 2018 13:58:36 +0000 (13:58 +0000)]
virt: Apply formatting rules on plugin code
Code formatted with contrib/format.sh script.
Change-Id: I49ad8bc48af11a09779027df7855e042e8d9de37
Signed-off-by: Radoslaw Jablonski <radoslawx.jablonski@intel.com>
Mozejko, MarcinX [Mon, 27 Nov 2017 10:57:50 +0000 (10:57 +0000)]
virt: Fix build error
Change-Id: I6b1111aded6391775a40911fdede288b3f0380d9
Signed-off-by: Mozejko, MarcinX <marcinx.mozejko@intel.com>
Mozejko, MarcinX [Mon, 6 Nov 2017 10:03:18 +0000 (10:03 +0000)]
virt: Add domain state metrics dispatch
Previously information about Virtual Machine domains state
(e.g. VIR_DOMAIN_RUNNING, VIR_DOMAIN_PAUSED..) was not
dispatched (e.g. file with domain states was not created by
CSV plugin).
Now current VM state information with corresponding reason is
dispatched as ‘domain_state’.
Change-Id: I781f11f53adb9ca0abcf6565d5717c6495f853b7
Signed-off-by: Mozejko, MarcinX <marcinx.mozejko@intel.com>
Antoine Naud [Thu, 14 Sep 2017 10:14:28 +0000 (11:14 +0100)]
src/virt.c: State notifications for all persistent domains
When virt option PersistentNotification is enabled, the notifications of VMs
states are sent only for running VMs (whereas they should be sent for all
persistent VMs, including running, suspended, shut off VMs). This behaviour is
due to the fact that VM states are notified while fetching all other metrics,
which is executed only for running VMs.
This commit fixes this issue by decoupling the notifications of VMs states from
fetching and dispatching metrics values. In this purpose, a new function named
persistent_domains_state_notification is added to fetch the states (and reasons)
of persistent VMs and notify them. This function is called at each read interval
before fetching and dispatching the metrics from running VMs.
Unit Tests for the new functions are implemented.
Change-Id: Ic2befb3e7826184696344b037916bc603ec01341
Signed-off-by: Antoine Naud <antoinex.naud@intel.com>
Antoine Naud [Mon, 28 Aug 2017 09:55:19 +0000 (10:55 +0100)]
src/virt.c: add lifecycle transition notifications
Notifications about VM state are received on every read interval, so the same
notification about specific VM state is received several times within a minute,
which lead to growing log files. This issue is fixed by generating notifications
only for VM state changes (denoted also here lifecycle transitions).
This commit adds a binary option PersistentNotification to virt plugin. When
this option is set to false (default value), only VM state changes are notified
as soon as they occur. When this option is set to true, VM states are notified
on every read interval.
Change-Id: I46ebe2d2f1b72432e7b458530c4cc0eac3e26c6a
Signed-off-by: Antoine Naud <antoinex.naud@intel.com>
Pavel Rochnyak [Sun, 18 Feb 2018 18:39:03 +0000 (01:39 +0700)]
Merge pull request #2692 from shastah/fix-readiness-spelling
s/readyness/readiness/
Jakub Jankowski [Sat, 17 Feb 2018 22:49:10 +0000 (23:49 +0100)]
s/readyness/readiness/
Signed-off-by: Jakub Jankowski <shasta@toxcorp.com>
Pavel Rochnyak [Wed, 14 Feb 2018 08:13:09 +0000 (15:13 +0700)]
Merge pull request #2687 from jeis2497052/master
Propose fix some typos
John Eismeier [Tue, 13 Feb 2018 18:52:43 +0000 (13:52 -0500)]
Propose fix some typos
Pavel Rochnyak [Wed, 24 Jan 2018 05:19:17 +0000 (12:19 +0700)]
Merge pull request #2660 from pbostley/master
Adding support for CDAB endian 32-bit modbus polls
PJ Bostley [Tue, 23 Jan 2018 22:33:23 +0000 (15:33 -0700)]
Adding documentation for the Modbus little endian modes where 32 bit values have thier registers swapped
PJ Bostley [Sat, 20 Jan 2018 23:39:36 +0000 (16:39 -0700)]
Adding support for CDAB endian 32-bit modbus polls
Sebastian Harl [Fri, 15 Dec 2017 13:10:08 +0000 (14:10 +0100)]
Merge pull request #2512 from Stackdriver/pri
Replace zu with PRIsz and llu with PRIu64.
Pavel Rochnyack [Thu, 14 Dec 2017 16:38:05 +0000 (23:38 +0700)]
Merge branch 'collectd-5.8'
collectd bot [Thu, 14 Dec 2017 15:05:23 +0000 (16:05 +0100)]
Auto-Merge pull request #2611 from rpv-tomsk/fix-2587
Automatically merged due to "Automerge" label
Pavel Rochnyack [Sun, 10 Dec 2017 17:14:01 +0000 (17:14 +0000)]
tail plugin, latency: Fix regressions after #2535
- Remove two fixed decimal places from type instance of percentiles
- Recover accuracy of bounds in type instance of buckets
+ Allow (compared to state before #2535) to report percentiles with fractional values
* Changed maximum length of reported type and type instance to 50 chars
References: #2535
Closes: #2587
collectd bot [Sun, 10 Dec 2017 21:10:59 +0000 (22:10 +0100)]
Auto-Merge pull request #2612 from rpv-tomsk/collectd-5.8-memcached
Automatically merged due to "Automerge" label
Pavel Rochnyack [Sun, 10 Dec 2017 20:24:33 +0000 (03:24 +0700)]
memcached: Check for closed connection to avoid deadloop
Check for 'recv(...) == 0' condition was missing.
collectd bot [Sun, 10 Dec 2017 16:17:05 +0000 (17:17 +0100)]
Auto-Merge pull request #2610 from rpv-tomsk/fix-2609
Automatically merged due to "Automerge" label
Pavel Rochnyack [Sun, 10 Dec 2017 15:06:00 +0000 (22:06 +0700)]
processes plugin: Fix compilation when ps_delay() not used.
Remove unused ps_delay() function when compiled without libtaskstats/libmnl
Closes: #2609
Florian Forster [Fri, 8 Dec 2017 18:51:50 +0000 (19:51 +0100)]
Merge pull request #2598 from octo/ff/delayacct
processes plugin: Add support for Linux Delay Accounting.
Florian Forster [Fri, 8 Dec 2017 08:39:59 +0000 (09:39 +0100)]
processes plugin: Use the new "delay_rate" type for Delay Accounting.
Florian Forster [Fri, 8 Dec 2017 07:28:35 +0000 (08:28 +0100)]
processes plugin: Add the "delay-" prefix to type instances.
This fixes a regression introduced in
17b81d4fa4eabbb7c029ccf424f43e4d89c27e35.
Florian Forster [Thu, 7 Dec 2017 21:20:28 +0000 (22:20 +0100)]
processes plugin: Fix error message.
Florian Forster [Thu, 7 Dec 2017 20:51:22 +0000 (21:51 +0100)]
processes plugin: Make delay metric reporting less repetitive.
Florian Forster [Thu, 7 Dec 2017 20:25:40 +0000 (21:25 +0100)]
contrib/systemd.collectd.service: Add the processes plugin.
Florian Forster [Thu, 7 Dec 2017 20:20:40 +0000 (21:20 +0100)]
processes plugin: Check for the CAP_NET_ADMIN capability.
This allows us to print helpful error messages to the user if something
goes wrong.
collectd bot [Thu, 7 Dec 2017 18:03:14 +0000 (19:03 +0100)]
Auto-Merge pull request #2605 from maryamtahhan/feat_turbostat_report_skl
Automatically merged due to "Automerge" label
Gordon Kelly [Thu, 7 Dec 2017 17:08:14 +0000 (12:08 -0500)]
turbostat: Add support of reporting GPU power on SKL in turbostat
Change-Id: Icb57cf5ab116069b1e4d9580e248af1207e3282b
Toshiaki Takahashi [Wed, 6 Dec 2017 12:19:41 +0000 (12:19 +0000)]
df: fix memory leak in error case
Because the memory of the STATANYFS list is not released
when the read callback function error occurs,
a memory leak may occur.
With this change, the memory is always released
by not returning in the loop.
Signed-off-by: Florian Forster <octo@collectd.org>
Florian Forster [Thu, 7 Dec 2017 16:12:35 +0000 (17:12 +0100)]
Merge branch 'collectd-5.8'
Florian Forster [Thu, 7 Dec 2017 16:10:05 +0000 (17:10 +0100)]
Merge branch 'collectd-5.7' into collectd-5.8
Florian Forster [Thu, 7 Dec 2017 16:06:49 +0000 (17:06 +0100)]
Makefile.am: Fix out-of-tree builds.
Fixes: #2602
Florian Forster [Wed, 6 Dec 2017 21:24:34 +0000 (22:24 +0100)]
processes plugin: Implement the "CollectDelayAccounting" option.
Florian Forster [Wed, 6 Dec 2017 21:03:52 +0000 (22:03 +0100)]
src/utils_taskstats.[ch]: Add library for Linux Delay Accounting.
collectd bot [Wed, 6 Dec 2017 10:12:13 +0000 (11:12 +0100)]
Auto-Merge pull request #2593 from octo/ff/grpc
Automatically merged due to "Automerge" label
Florian Forster [Wed, 6 Dec 2017 09:00:09 +0000 (10:00 +0100)]
configure: Be more verbose about why the grpc plugin cannot be built.
Florian Forster [Wed, 6 Dec 2017 08:58:06 +0000 (09:58 +0100)]
configure: Improve detection of grpc_cpp_plugin.
When the `--with-libgrpc++=<path>` command line argument is given, add
`<path>/bin` to the search path for grpc_cpp_plugin.
Sean Campbell [Wed, 6 Dec 2017 00:05:08 +0000 (19:05 -0500)]
Merge branch 'master' into pri
campbellsean@google.com [Tue, 31 Oct 2017 16:21:08 +0000 (12:21 -0400)]
Replace zu with PRIu64 and llu with new macro, PRIsz, which will make it easier to make the code platform-independent.
Florian Forster [Tue, 5 Dec 2017 15:58:29 +0000 (16:58 +0100)]
liboconfig: Coding style changes.
Mostly whitespace.
Florian Forster [Tue, 5 Dec 2017 15:56:53 +0000 (16:56 +0100)]
liboconfig: Improve error handling.
* Use the YYERROR macro instead of exit(3).
* Remove newlines from strings passed to yyerror().
* Change return valud or yyerror() from int to void.
Florian Forster [Tue, 5 Dec 2017 15:53:34 +0000 (16:53 +0100)]
liboconfig: Check return values of calloc() and realloc().
CID: 38123
Florian Forster [Tue, 5 Dec 2017 15:50:33 +0000 (16:50 +0100)]
email plugin: Avoid strtok_r to tokenize input.
Coverity (wrongly) thinks that "type" might have been NULL (since its
first argument is non-NULL, this cannot happen). It has a point about
insufficient NULL-ness checks, though, as "tmp" may very well be NULL and
we're passing it to atoi() which will likely not take this well.
CID: 37988
Florian Forster [Tue, 5 Dec 2017 11:15:17 +0000 (12:15 +0100)]
contrib/format.sh src/grpc.cc
Florian Forster [Tue, 5 Dec 2017 11:15:00 +0000 (12:15 +0100)]
grpc plugin: Implement the VerifyPeer option for servers.
Florian Forster [Tue, 5 Dec 2017 06:33:18 +0000 (07:33 +0100)]
Merge branch 'collectd-5.8'
Florian Forster [Tue, 5 Dec 2017 06:33:13 +0000 (07:33 +0100)]
.travis.yml: Send notifications to the changes ML.
Florian Forster [Mon, 4 Dec 2017 08:53:48 +0000 (09:53 +0100)]
Merge pull request #2590 from maryamtahhan/fix_collectd_ovs_deadlock
Fix collectd ovs deadlock
Aleksei Zakharov [Fri, 1 Dec 2017 16:07:04 +0000 (19:07 +0300)]
ceph plugin: Fix #2572
Signed-off-by: Florian Forster <octo@collectd.org>
Florian Forster [Mon, 4 Dec 2017 07:23:26 +0000 (08:23 +0100)]
Merge branch 'collectd-5.7' into collectd-5.8
Florian Forster [Mon, 4 Dec 2017 07:18:33 +0000 (08:18 +0100)]
table plugin: Add explicit NULL checks to clear functions.
CID: 37966
Florian Forster [Fri, 1 Dec 2017 20:05:00 +0000 (21:05 +0100)]
exec plugin: Check return value of plugin_thread_create().
CID: 37942, 37943
Florian Forster [Fri, 1 Dec 2017 19:45:04 +0000 (20:45 +0100)]
rrdtool plugin: Check return value of c_avl_get().
CID: 37940
collectd bot [Fri, 1 Dec 2017 15:14:57 +0000 (16:14 +0100)]
Auto-Merge pull request #2589 from octo/cid/37960
Automatically merged due to "Automerge" label
Tahhan, Maryam [Wed, 29 Nov 2017 12:50:18 +0000 (12:50 +0000)]
utils_ovs: fix #2574
Poll thread was trying to reconnect after event thread was terminated.
Change-Id: I48bf196302139ddf99bb96b49a6c3b4ede345240
Signed-off-by: Mytnyk, Volodymyr <volodymyrx.mytnyk@intel.com>
collectd bot [Fri, 1 Dec 2017 14:20:59 +0000 (15:20 +0100)]
Auto-Merge pull request #2588 from octo/cid/37968
Automatically merged due to "Automerge" label
Florian Forster [Fri, 1 Dec 2017 13:59:55 +0000 (14:59 +0100)]
contrib/format.sh src/perl.c
Florian Forster [Fri, 1 Dec 2017 13:18:50 +0000 (14:18 +0100)]
powerdns plugin: Remove the unused ret_buffer_size argument …
… from powerdns_get_data().
Florian Forster [Fri, 1 Dec 2017 13:30:23 +0000 (14:30 +0100)]
perl plugin: Fix exporting notification meta data.
Previously, the while loop ensured that meta was NULL, causing the for
loop to never been executed. This introduces a new temporary variable to
avoid changing meta before the for loop.
CID: 37960
Florian Forster [Fri, 1 Dec 2017 11:06:26 +0000 (12:06 +0100)]
powerdns plugin: Declare variables on first use.
Florian Forster [Fri, 1 Dec 2017 11:05:21 +0000 (12:05 +0100)]
powerdns plugin: Ensure powerdns_get_data() returns a non-NULL buffer.
Coverity is concerned that if buffer is NULL, strtok_r() is called with
two NULL arguments, causing a NULL pointer dereference.
CID: 37968
Florian Forster [Fri, 1 Dec 2017 10:26:17 +0000 (11:26 +0100)]
Merge branch 'collectd-5.8'
Florian Forster [Fri, 1 Dec 2017 10:25:18 +0000 (11:25 +0100)]
Merge branch 'collectd-5.8'
Florian Forster [Fri, 1 Dec 2017 10:25:06 +0000 (11:25 +0100)]
.travis.yml: Call coverity scan from job 1 only.
The logic was inverted.
Florian Forster [Thu, 30 Nov 2017 16:11:49 +0000 (17:11 +0100)]
Merge branch 'collectd-5.7' into collectd-5.8
collectd bot [Thu, 30 Nov 2017 09:09:13 +0000 (10:09 +0100)]
Auto-Merge pull request #2586 from octo/issue/2583
Automatically merged due to "Automerge" label
Florian Forster [Thu, 30 Nov 2017 08:33:50 +0000 (09:33 +0100)]
network_parse_test.c: Only test security features if libgcrypt is available.
Fixes: #2583
collectd bot [Wed, 29 Nov 2017 12:32:30 +0000 (13:32 +0100)]
Auto-Merge pull request #2584 from octo/coverity
Automatically merged due to "Automerge" label
Florian Forster [Wed, 29 Nov 2017 07:20:38 +0000 (08:20 +0100)]
.travis.yml: Try to work around travis-ci/travis-ci#1975.
collectd bot [Tue, 28 Nov 2017 08:32:33 +0000 (09:32 +0100)]
Auto-Merge pull request #2580 from octo/cid/179235
Automatically merged due to "Automerge" label
collectd bot [Tue, 28 Nov 2017 08:11:23 +0000 (09:11 +0100)]
Auto-Merge pull request #2579 from octo/cid/179238
Automatically merged due to "Automerge" label
Florian Forster [Tue, 28 Nov 2017 07:24:14 +0000 (08:24 +0100)]
contrib/format.sh src/aggregation.c
Florian Forster [Tue, 28 Nov 2017 07:21:48 +0000 (08:21 +0100)]
aggregation plugin: Check return value of config functions.
CID: 179235
Florian Forster [Tue, 28 Nov 2017 07:17:05 +0000 (08:17 +0100)]
aggregation plugin: Declare variables on initialization.
Florian Forster [Tue, 28 Nov 2017 07:11:07 +0000 (08:11 +0100)]
virt plugin: Remove `do {} while(0)` loop around macro.
The `continue` in the macro was supposed to continue the `for` loop, but
was (unexpectedly) exiting the do…while loop instead.
CID: 179238
Florian Forster [Mon, 27 Nov 2017 21:35:21 +0000 (22:35 +0100)]
.travis.yml: Import list of dependencies from collectd-ci.
Florian Forster [Mon, 27 Nov 2017 21:07:33 +0000 (22:07 +0100)]
.travis.yml: Add coverity addon.
collectd bot [Mon, 27 Nov 2017 21:10:38 +0000 (22:10 +0100)]
Auto-Merge pull request #2576 from octo/collectd-5.8
Automatically merged due to "Automerge" label
Florian Forster [Mon, 27 Nov 2017 20:09:14 +0000 (21:09 +0100)]
contrib/format.sh: Switch to custom domain name.
collectd bot [Sat, 25 Nov 2017 08:18:51 +0000 (09:18 +0100)]
Auto-Merge pull request #2575 from octo/cid/37934
Automatically merged due to "Automerge" label
Florian Forster [Sat, 25 Nov 2017 07:28:35 +0000 (08:28 +0100)]
ping plugin: Lock the mutex later.
Coverity gets confused if holding the lock while allocating pingobj.
CID: 37934
collectd bot [Wed, 22 Nov 2017 07:14:52 +0000 (08:14 +0100)]
Auto-Merge pull request #2568 from octo/cid/157645
Automatically merged due to "Automerge" label
Florian Forster [Wed, 22 Nov 2017 06:47:14 +0000 (07:47 +0100)]
set target: Fix memory leak.
CID: 157645
collectd bot [Tue, 21 Nov 2017 16:08:21 +0000 (17:08 +0100)]
Auto-Merge pull request #2566 from octo/pr/2556
Automatically merged due to "Automerge" label
Florian Forster [Tue, 21 Nov 2017 09:39:44 +0000 (10:39 +0100)]
Merge branch 'collectd-5.8'