collectd.git
6 years agodisk: in linux, reset the disk when it disappear from diskstats
Nikita Kozlov [Tue, 14 Nov 2017 20:48:53 +0000 (21:48 +0100)]
disk: in linux, reset the disk when it disappear from diskstats

If you don't reset the diskstats_t for a given diskname when it
disappear and the disk name is reused later (for exemple an iSCSI disk)
The "disk" plugin detect an int overflow because linux /proc/diskstats are
reseted to 0 for that diskname and the plugin send incorrect stats for
the new disk.

6 years agocontrib/docker: Install all recommended packages
Pavel Rochnyack [Tue, 30 Oct 2018 16:14:30 +0000 (23:14 +0700)]
contrib/docker: Install all recommended packages

Closes: #2974
Closes: #2973

6 years agodisk plugin: Fix regression after #2955 (Drop support for Linux 2.4)
Pavel Rochnyack [Tue, 30 Oct 2018 14:53:11 +0000 (21:53 +0700)]
disk plugin: Fix regression after #2955 (Drop support for Linux 2.4)

Issue: #2955

6 years agocpufreq plugin: Limit reported value of percent to 100.1
Pavel Rochnyack [Sat, 27 Oct 2018 17:02:22 +0000 (00:02 +0700)]
cpufreq plugin: Limit reported value of percent to 100.1

cat /sys/devices/system/cpu/cpu0/cpufreq/stats/time_in_state \
; sleep 10 ; cat /sys/devices/system/cpu/cpu0/cpufreq/stats/time_in_state
2664000 463368
1998000 59724070
2664000 463385
1998000 59725054

The sum of counters change is 1001, which produces reported value near
to 100.1%. I got calculated ds[0] = 100.100053 and such value produces gap on
charts.

Added limit to avoid such.

6 years agoMerge pull request #2627 from pllopis/turbostat_fixes
Pavel Rochnyak [Sat, 27 Oct 2018 14:23:52 +0000 (21:23 +0700)]
Merge pull request #2627 from pllopis/turbostat_fixes

turbostat plugin: add RestoreAffinityPolicy parameter

6 years agoturbostat plugin: Polished RestoreAffinityPolicy option
Pavel Rochnyack [Sat, 27 Oct 2018 13:16:38 +0000 (20:16 +0700)]
turbostat plugin: Polished RestoreAffinityPolicy option

6 years agoturbostat plugin: add new setting `RestoreAffinityPolicy`
Pablo Llopis [Tue, 13 Mar 2018 10:55:06 +0000 (11:55 +0100)]
turbostat plugin: add new setting `RestoreAffinityPolicy`

This new setting controls how the affinity is restored during
turbostat_read(). Two policies are implemented: AffinityRestore, and
AffinityAllCPUs. The default policy, AffinityRestore, behaves exactly
the same as before, which is to save affinity and to later restore it.
The second policy, RestoreAllCPUs, skips saving the affinity and
sets the affinity to all CPUs after each read. This second policy is
useful for systems where sched_getaffinity() fails and prevents data
collection.

6 years agoformatting fixes
Pablo Llopis [Fri, 15 Dec 2017 14:58:22 +0000 (15:58 +0100)]
formatting fixes

6 years agoIncrease turbostat_read() resiliency when sched_getaffinity() fails
Pablo Llopis [Fri, 15 Dec 2017 13:57:33 +0000 (14:57 +0100)]
Increase turbostat_read() resiliency when sched_getaffinity() fails

6 years agoRequest kernel version in reported issues
Pavel Rochnyack [Sat, 27 Oct 2018 10:02:57 +0000 (17:02 +0700)]
Request kernel version in reported issues

6 years agoMerge pull request #2979 from rpv-tomsk/collectd-master
Florian Forster [Sat, 27 Oct 2018 08:53:12 +0000 (10:53 +0200)]
Merge pull request #2979 from rpv-tomsk/collectd-master

swap plugin: Drop support for Linux 2.4.

6 years agoswap plugin: Drop support for Linux 2.4.
Pavel Rochnyack [Sat, 27 Oct 2018 07:57:11 +0000 (14:57 +0700)]
swap plugin: Drop support for Linux 2.4.

Related: #2955

6 years agoMerge pull request #2978 from rpv-tomsk/collectd-master
Pavel Rochnyak [Sat, 27 Oct 2018 07:56:47 +0000 (14:56 +0700)]
Merge pull request #2978 from rpv-tomsk/collectd-master

virt plugin: Cleanup

6 years agovirt plugin: Cleanup
Pavel Rochnyack [Sat, 27 Oct 2018 07:36:55 +0000 (14:36 +0700)]
virt plugin: Cleanup

6 years agoMerge pull request #2923 from qdbp/gpu_nvml_plugin
Florian Forster [Sat, 27 Oct 2018 07:14:25 +0000 (09:14 +0200)]
Merge pull request #2923 from qdbp/gpu_nvml_plugin

New plugin: gpu_nvidia collects NVIDIA GPU stats.

6 years agorename plugin to "gpu_nvidia"
Evgeny Naumov [Fri, 26 Oct 2018 22:13:27 +0000 (18:13 -0400)]
rename plugin to "gpu_nvidia"

6 years agoMerge branch 'collectd-5.8' into master
Pavel Rochnyack [Fri, 26 Oct 2018 17:29:52 +0000 (00:29 +0700)]
Merge branch 'collectd-5.8' into master

Conflicts:
src/disk.c
src/virt.c

6 years agoMerge branch 'collectd-5.7' into collectd-5.8
Pavel Rochnyack [Fri, 26 Oct 2018 15:06:35 +0000 (22:06 +0700)]
Merge branch 'collectd-5.7' into collectd-5.8

Conflicts:
src/utils_mount.c

6 years agoMerge pull request #2975 from octo/issue/2954
Florian Forster [Fri, 26 Oct 2018 06:21:45 +0000 (08:21 +0200)]
Merge pull request #2975 from octo/issue/2954

zfs_arc: Ignore the first two lines of the statistics file on Linux (5.7 cherry-pick)

6 years agocontrib/format.sh src/zfs_arc.c
Florian Forster [Fri, 26 Oct 2018 06:05:41 +0000 (08:05 +0200)]
contrib/format.sh src/zfs_arc.c

6 years agozfs_arc: Ignore the first two lines of the statistics file on Linux.
YmrDtnJu [Sat, 10 Dec 2016 00:30:59 +0000 (01:30 +0100)]
zfs_arc: Ignore the first two lines of the statistics file on Linux.

The first two lines of the statistics file on Linux contain information about
the rest of the file. They do not contain any usable statistics.
See module/spl/spl-kstat.c of the spl module of ZFS on Linux for more
information.

6 years agoMerge pull request #2972 from rpv-tomsk/collectd-collectd-5.8
Florian Forster [Thu, 25 Oct 2018 18:20:46 +0000 (20:20 +0200)]
Merge pull request #2972 from rpv-tomsk/collectd-collectd-5.8

virt plugin: Remove optional virDomainGetCPUStats() from main flow

6 years agovirt plugin: Move `get_pcpu_stats()' down to avoid forward declaration of `submit_der...
Pavel Rochnyack [Thu, 25 Oct 2018 08:44:38 +0000 (15:44 +0700)]
virt plugin: Move `get_pcpu_stats()' down to avoid forward declaration of `submit_derive2()'

6 years agovirt plugin: Submit `ps_cputime' only when data exists
Pavel Rochnyack [Thu, 25 Oct 2018 08:37:20 +0000 (15:37 +0700)]
virt plugin: Submit `ps_cputime' only when data exists

6 years agovirt plugin: Remove optional virDomainGetCPUStats() from main flow
Pavel Rochnyack [Thu, 25 Oct 2018 07:53:33 +0000 (14:53 +0700)]
virt plugin: Remove optional virDomainGetCPUStats() from main flow

virDomainGetCPUStats() call is only required when `pcpu' extra statistics is requested.
While not supported in all configurations, this call may fail which causes failure in
reporting of other domain metrics.

6 years agoMerge pull request #2969 from rpv-tomsk/issue-2173
Pavel Rochnyak [Thu, 25 Oct 2018 05:06:29 +0000 (12:06 +0700)]
Merge pull request #2969 from rpv-tomsk/issue-2173

write_prometheus: Added 'Host' option.

6 years agoMerge pull request #2970 from octo/ff/oauth
Pavel Rochnyak [Thu, 25 Oct 2018 05:05:29 +0000 (12:05 +0700)]
Merge pull request #2970 from octo/ff/oauth

src/utils_oauth.c: Renew OAuth tokens 30 seconds before they expire.

6 years agoMerge pull request #2971 from rubenk/gpsd-fix-build
Pavel Rochnyak [Thu, 25 Oct 2018 05:05:12 +0000 (12:05 +0700)]
Merge pull request #2971 from rubenk/gpsd-fix-build

gps plugin: fix build with newer gpsd

6 years agoAdded missing include of "collectd.h"
Pavel Rochnyack [Wed, 24 Oct 2018 14:16:12 +0000 (21:16 +0700)]
Added missing include of "collectd.h"

This adressed to solve compilation issue on Solaris platform:

./src/config.h:1526:0: error: "_FILE_OFFSET_BITS" redefined [-Werror]

6 years agogps plugin: fix build with newer gpsd
Baruch Siach [Tue, 9 Oct 2018 16:57:21 +0000 (19:57 +0300)]
gps plugin: fix build with newer gpsd

gpsd version 3.18 changed the prototype of gps_read(). Make the
gps_read() call depend on GPSD_API_MAJOR_VERSION to fix that.

This fixes build failures like:

gps.c: In function 'cgps_thread':
gps.c:144:11: error: too few arguments to function 'gps_read'
       if (gps_read(&gpsd_conn) == -1) {
   ^~~~~~~~

(cherry picked from commit 991a6d3fd38c2435d94de3853fda36b3330cf6ab)

6 years agowrite_prometheus: Added 'Host' option.
Pavel Rochnyack [Wed, 24 Oct 2018 08:08:14 +0000 (15:08 +0700)]
write_prometheus: Added 'Host' option.

This allows to set specific address to listen on.

Closes: #2173
Closes: #2288

6 years agosrc/utils_oauth.c: Renew OAuth tokens 30 seconds before they expire.
Florian Forster [Wed, 24 Oct 2018 08:07:08 +0000 (10:07 +0200)]
src/utils_oauth.c: Renew OAuth tokens 30 seconds before they expire.

This solves sporious errors like this one:

    write_stackdriver plugin: POST https://monitoring.googleapis.com/v3/projects/{projectId}/timeSeries:
      API error 401: Request had invalid authentication credentials.
      Expected OAuth 2 access token, login cookie or other valid authentication credential.
      See https://developers.google.com/identity/sign-in/web/devconsole-project.

6 years agofix formatting
Evgeny Naumov [Wed, 24 Oct 2018 00:24:40 +0000 (20:24 -0400)]
fix formatting

6 years agoaddress PR review issues
Evgeny Naumov [Wed, 24 Oct 2018 00:00:02 +0000 (20:00 -0400)]
address PR review issues

6 years agoChangeLog: Correct date for 5.8.1 release.
Florian Forster [Tue, 23 Oct 2018 18:07:19 +0000 (20:07 +0200)]
ChangeLog: Correct date for 5.8.1 release.

6 years agochange HAVE_UDEV_H to HAVE_LIBUDEV_H for bug 2651
Dylan Stephano-Shachter [Thu, 15 Feb 2018 21:37:33 +0000 (16:37 -0500)]
change HAVE_UDEV_H to HAVE_LIBUDEV_H for bug 2651

(cherry picked from commit ed696c1b3adcb42d55759efe6f8034337f0fd243)

6 years agoMerge remote-tracking branch 'github/pr/2964'
Florian Forster [Tue, 23 Oct 2018 06:46:51 +0000 (08:46 +0200)]
Merge remote-tracking branch 'github/pr/2964'

6 years agomerge upstream
Evgeny Naumov [Mon, 22 Oct 2018 15:24:20 +0000 (11:24 -0400)]
merge upstream

6 years agoovs_stats: use correct OpenFlow value
Matteo Croce [Mon, 22 Oct 2018 14:46:33 +0000 (16:46 +0200)]
ovs_stats: use correct OpenFlow value

The correct value in the OpenFlow 1.4 statistics is 1024_to_1522_packets,
even if collectd is using 1024_to_1518_packets:

$ ovs-ofctl -O OpenFlow14 dump-ports ovsbr0
OFPST_PORT reply (OF1.4) (xid=0x2): 3 ports
  port  guest2: rx pkts=0, bytes=0, drop=0, errs=0, frame=?, over=?, crc=?
           tx pkts=0, bytes=0, drop=0, errs=?, coll=?
           duration=132.213s
           rx rfc2819 1_to_64_packets=0, 65_to_127_packets=0,
           128_to_255_packets=0, 256_to_511_packets=0,
           512_to_1023_packets=0, 1024_to_1522_packets=0,
           1523_to_max_packets=0,

Correct it to the right value.

Signed-off-by: Matteo Croce <mcroce@redhat.com>
6 years agochanges from PR review
Evgeny Naumov [Mon, 22 Oct 2018 14:41:06 +0000 (10:41 -0400)]
changes from PR review

6 years agoBump version to 5.8.1; Update ChangeLog.
Florian Forster [Mon, 22 Oct 2018 09:13:43 +0000 (11:13 +0200)]
Bump version to 5.8.1; Update ChangeLog.

6 years agocleanup: Use compound literals for SO_REUSEADDR setsockopt
Pavel Rochnyack [Mon, 22 Oct 2018 02:03:39 +0000 (09:03 +0700)]
cleanup: Use compound literals for SO_REUSEADDR setsockopt

6 years agoMerge pull request #2803 from rorysexton/dev_branch
Pavel Rochnyack [Mon, 22 Oct 2018 01:52:53 +0000 (08:52 +0700)]
Merge pull request #2803 from rorysexton/dev_branch

cpufreq plugin: Read number of p-state transitions and time spent in each p-state

6 years agocpufreq plugin: Address code review comments
Pavel Rochnyack [Sun, 21 Oct 2018 16:51:12 +0000 (23:51 +0700)]
cpufreq plugin: Address code review comments

6 years agocpufreq plugin: Address code review comments
Pavel Rochnyack [Sun, 21 Oct 2018 06:46:10 +0000 (13:46 +0700)]
cpufreq plugin: Address code review comments

6 years agocpufreq plugin: Reviewed p-state statistics code
Pavel Rochnyack [Sat, 20 Oct 2018 17:12:10 +0000 (00:12 +0700)]
cpufreq plugin: Reviewed p-state statistics code

6 years agocpufreq: Review time_in_state metric
Pavel Rochnyack [Sat, 20 Oct 2018 13:00:18 +0000 (20:00 +0700)]
cpufreq: Review time_in_state metric

6 years agocpufreq: Review p-state transitions metric
Pavel Rochnyack [Sat, 20 Oct 2018 12:11:47 +0000 (19:11 +0700)]
cpufreq: Review p-state transitions metric

6 years agoClang format
Sexton, Rory [Fri, 24 Aug 2018 08:53:10 +0000 (09:53 +0100)]
Clang format

6 years agoAddressing comments on previous commit.
Sexton, Rory [Fri, 24 Aug 2018 07:56:54 +0000 (08:56 +0100)]
Addressing comments on previous commit.

6 years agoUpdating cpufreq.c from clang-format
Sexton, Rory [Fri, 1 Jun 2018 14:59:04 +0000 (15:59 +0100)]
Updating cpufreq.c from clang-format

6 years agoExtending cpufreq plugin to read the following additional metrics:
Sexton, Rory [Fri, 1 Jun 2018 14:43:48 +0000 (15:43 +0100)]
Extending cpufreq plugin to read the following additional metrics:
  - number of p-state(cpu frequency) transitions
  - time spent in each p-state

Both metrics are reported by the Linux cpufreq-stats driver:
https://www.kernel.org/doc/Documentation/cpu-freq/cpufreq-stats.txt

6 years agoovs_stats: add macro to populate counters list
Matteo Croce [Thu, 18 Oct 2018 21:25:20 +0000 (23:25 +0200)]
ovs_stats: add macro to populate counters list

Use a stringification macro to populate the counter array. Doing this
instead of duplicating the tokens is less error prone.

Signed-off-by: Matteo Croce <mcroce@redhat.com>
6 years agoMerge pull request #2962 from octo/utils_mount
Ruben Kerkhof [Sun, 21 Oct 2018 16:24:36 +0000 (18:24 +0200)]
Merge pull request #2962 from octo/utils_mount

src/utils_mount.c: Add code path for HAVE_GETMNTENT_R.

6 years agodocs/review_comments.md: Add paragraph "Define variables on first use".
Florian Forster [Sat, 20 Oct 2018 06:43:30 +0000 (08:43 +0200)]
docs/review_comments.md: Add paragraph "Define variables on first use".

6 years agoMerge pull request #2806 from rorysexton/dev_turbostat_plugin
Pavel Rochnyak [Sat, 20 Oct 2018 11:17:11 +0000 (18:17 +0700)]
Merge pull request #2806 from rorysexton/dev_turbostat_plugin

turbostat plugin: New metrics: P-states,Turboboost,Platform TDP,Uncore bus ratio

6 years agodocs/review_comments.md: Start document with frequent review comments.
Florian Forster [Fri, 19 Oct 2018 12:38:27 +0000 (14:38 +0200)]
docs/review_comments.md: Start document with frequent review comments.

6 years agostatsd: Set SO_REUSEADDR on listening socket
Pavel Rochnyack [Fri, 19 Oct 2018 10:37:40 +0000 (17:37 +0700)]
statsd: Set SO_REUSEADDR on listening socket

Closes: #1126
Closes: #1187

6 years agosrc/daemon/utils_cache_mock.c: Add uc_meta_data_{add,get}_signed_int().
Florian Forster [Thu, 18 Oct 2018 16:14:09 +0000 (18:14 +0200)]
src/daemon/utils_cache_mock.c: Add uc_meta_data_{add,get}_signed_int().

Fixes test_format_stackdriver.

6 years agowrite_stackdriver plugin: Remove redundant error message.
Florian Forster [Thu, 18 Oct 2018 15:27:30 +0000 (17:27 +0200)]
write_stackdriver plugin: Remove redundant error message.

A more detailed error is previously logged by wg_call_timeseries_write.

6 years agowrite_stackdriver plugin: Check "http_code" instead of "status".
Florian Forster [Thu, 18 Oct 2018 13:50:19 +0000 (15:50 +0200)]
write_stackdriver plugin: Check "http_code" instead of "status".

6 years agowrite_stackdriver plugin: Check pointer for NULL before dereferencing it.
Florian Forster [Thu, 18 Oct 2018 13:49:37 +0000 (15:49 +0200)]
write_stackdriver plugin: Check pointer for NULL before dereferencing it.

6 years agosrc/utils_mount.c: Add code path for HAVE_GETMNTENT_R.
Florian Forster [Thu, 18 Oct 2018 16:23:54 +0000 (18:23 +0200)]
src/utils_mount.c: Add code path for HAVE_GETMNTENT_R.

I don't know when this got lost or why it is triggering now, but the
build fails on my machine without this now.

6 years agoMakefile.am: s/EXTRA_LTLIBRARIES/noinst_LTLIBRARIES/
Florian Forster [Thu, 18 Oct 2018 11:28:02 +0000 (13:28 +0200)]
Makefile.am: s/EXTRA_LTLIBRARIES/noinst_LTLIBRARIES/

9a31008108740bf39d86bdfcb86363a71cad7c0c did not make it into the PR
branch. :\

6 years agoMerge remote-tracking branch 'github/pr/2472'
Florian Forster [Thu, 18 Oct 2018 08:49:37 +0000 (10:49 +0200)]
Merge remote-tracking branch 'github/pr/2472'

6 years agoMerge branch 'collectd-5.7' into collectd-5.8
Florian Forster [Thu, 18 Oct 2018 06:18:25 +0000 (08:18 +0200)]
Merge branch 'collectd-5.7' into collectd-5.8

6 years agoAuto-Merge pull request #2957 from niuxu18/collectd-5.8
collectd bot [Wed, 17 Oct 2018 06:17:17 +0000 (08:17 +0200)]
Auto-Merge pull request #2957 from niuxu18/collectd-5.8

Automatically merged due to "Automerge" label

6 years agoUpdate virt.c
sarah [Wed, 17 Oct 2018 01:59:21 +0000 (09:59 +0800)]
Update virt.c

6 years agoAuto-Merge pull request #2955 from octo/linux-2.4
collectd bot [Mon, 15 Oct 2018 20:12:11 +0000 (22:12 +0200)]
Auto-Merge pull request #2955 from octo/linux-2.4

Automatically merged due to "Automerge" label

6 years agodisk plugin: Drop support for Linux 2.4.
Florian Forster [Mon, 15 Oct 2018 19:17:55 +0000 (21:17 +0200)]
disk plugin: Drop support for Linux 2.4.

6 years agoFix Solaris builds
Pavel Rochnyack [Sun, 14 Oct 2018 11:05:42 +0000 (18:05 +0700)]
Fix Solaris builds

Change introduced in df135922b19890047ebf725e6b82cd1c174c6d52 (#2810) causes build
failure on Solaris:

src/libcollectdclient/server.c: In function ‘server_multicast_join’:
src/libcollectdclient/server.c:103:9: error: unknown field ‘imr_address’ specified in initializer
         .imr_address.s_addr = INADDR_ANY, .imr_multiaddr.s_addr = sa->s_addr,
         ^
src/libcollectdclient/server.c:103:69: error: ‘struct sockaddr_in’ has no member named ‘S_un’
         .imr_address.s_addr = INADDR_ANY, .imr_multiaddr.s_addr = sa->s_addr,
                                                                     ^
src/libcollectdclient/server.c:102:27: error: missing braces around initializer [-Werror=missing-braces]
     struct ip_mreq mreq = {
                           ^
src/libcollectdclient/server.c:102:27: note: (near initialization for ‘mreq’)

Removed this change as not related to WIN32 platform.

6 years agoFix Solaris builds
Pavel Rochnyack [Sun, 14 Oct 2018 10:57:56 +0000 (17:57 +0700)]
Fix Solaris builds

Change introduced in df135922b19890047ebf725e6b82cd1c174c6d52 (#2810) causes build
failure on Solaris:

src/libcollectdclient/server.c: In function ‘server_multicast_join’:
src/libcollectdclient/server.c:103:9: error: unknown field ‘imr_address’ specified in initializer
         .imr_address.s_addr = INADDR_ANY, .imr_multiaddr.s_addr = sa->s_addr,
         ^
src/libcollectdclient/server.c:103:69: error: ‘struct sockaddr_in’ has no member named ‘S_un’
         .imr_address.s_addr = INADDR_ANY, .imr_multiaddr.s_addr = sa->s_addr,
                                                                     ^
src/libcollectdclient/server.c:102:27: error: missing braces around initializer [-Werror=missing-braces]
     struct ip_mreq mreq = {
                           ^
src/libcollectdclient/server.c:102:27: note: (near initialization for ‘mreq’)

Removed this change as not related to WIN32 platform.

6 years agoFix 'make distcheck' (for `master-aggregation` hook)
Pavel Rochnyack [Sun, 14 Oct 2018 10:37:46 +0000 (17:37 +0700)]
Fix 'make distcheck' (for `master-aggregation` hook)

Change introduced in df135922b19890047ebf725e6b82cd1c174c6d52 (#2810)

This change causes error in 'master-aggregation' hook:

ERROR: files left in build directory after distclean:
./liboconfig.la
./libcommon.la
./libmount.la
./libformat_json.la
./libheap.la
./libignorelist.la
./libavltree.la
./libformat_graphite.la
./liblatency.la
./liblookup.la
./libmetadata.la
./libcmds.la

6 years agoAuto-Merge pull request #2953 from rpv-tomsk/collectd-collectd-5.8
collectd bot [Sun, 14 Oct 2018 09:13:10 +0000 (11:13 +0200)]
Auto-Merge pull request #2953 from rpv-tomsk/collectd-collectd-5.8

Automatically merged due to "Automerge" label

6 years agontpd: plug potential leak on error
Pavel Rochnyack [Sun, 14 Oct 2018 08:45:56 +0000 (15:45 +0700)]
ntpd: plug potential leak on error

Issue: #2942

6 years agoAuto-Merge pull request #2950 from octo/ff/wireless
collectd bot [Fri, 12 Oct 2018 16:18:26 +0000 (18:18 +0200)]
Auto-Merge pull request #2950 from octo/ff/wireless

Automatically merged due to "Automerge" label

6 years agoAuto-Merge pull request #2952 from octo/issue/2951
collectd bot [Fri, 12 Oct 2018 12:18:14 +0000 (14:18 +0200)]
Auto-Merge pull request #2952 from octo/issue/2951

Automatically merged due to "Automerge" label

6 years agodisk plugin: Support Linux kernels with additional fields.
Florian Forster [Fri, 12 Oct 2018 11:18:42 +0000 (13:18 +0200)]
disk plugin: Support Linux kernels with additional fields.

Linux 4.19 will add additional counters, which caused this plugin to
bail out because it checked the number of fields exactly instead of
ensuring that there are *at least* the number of fields expected.

Fixes: #2951

6 years agowireless plugin: Add bitrate metric.
Florian Forster [Thu, 11 Oct 2018 16:49:50 +0000 (18:49 +0200)]
wireless plugin: Add bitrate metric.

6 years agoAuto-Merge pull request #2949 from rubenk/fix-detection-of-xmms
collectd bot [Thu, 11 Oct 2018 12:14:19 +0000 (14:14 +0200)]
Auto-Merge pull request #2949 from rubenk/fix-detection-of-xmms

Automatically merged due to "Automerge" label

6 years agoFix detection of xmmsctrl.h
Ruben Kerkhof [Thu, 11 Oct 2018 11:00:35 +0000 (13:00 +0200)]
Fix detection of xmmsctrl.h

checking xmmsctrl.h usability... yes
checking xmmsctrl.h presence... no
configure: WARNING: xmmsctrl.h: accepted by the compiler, rejected by the preprocessor!
configure: WARNING: xmmsctrl.h: proceeding with the compiler's result
checking for xmmsctrl.h... yes
checking for xmms_remote_get_info in -lxmms... yes

AC_CHECK_HEADER uses the preprocessor, which doesn't look at CFLAGS.
Use CPPFLAGS so it uses the right include path to look for xmmsctrl.h

6 years agosrc/utils_format_stackdriver.c: Fix initial value of cumulative metrics.
Florian Forster [Tue, 9 Oct 2018 11:54:50 +0000 (13:54 +0200)]
src/utils_format_stackdriver.c: Fix initial value of cumulative metrics.

The start value of cumulative metrics is stored in the cache. The first
value of a cumulative metric is then skipped, since Stackdriver required
the interval to be non-zero.

While looking into this, I realized that "absolute" metrics are not
cumulative and changed them accordingly.

6 years agoAuto-Merge pull request #2948 from rubenk/turbostat-free-the-right-vars
collectd bot [Thu, 11 Oct 2018 06:02:46 +0000 (08:02 +0200)]
Auto-Merge pull request #2948 from rubenk/turbostat-free-the-right-vars

Automatically merged due to "Automerge" label

6 years agoturbostat plugin: free the right variable
Ruben Kerkhof [Tue, 29 May 2018 08:37:18 +0000 (10:37 +0200)]
turbostat plugin: free the right variable

scan-build: Using '/usr/bin/clang-6.0' for static analysis
make  all-am
make[1]: Entering directory '/home/ruben/src/collectd'
  CC       src/turbostat.lo
src/turbostat.c:1292:5: warning: Argument to free() is the address of the global variable 'thread_delta', which is not memory allocated by malloc()
    sfree(threads);
    ^~~~~~~~~~~~~~
./src/daemon/common.h:41:5: note: expanded from macro 'sfree'
    free(ptr);                                                                 \
    ^~~~~~~~~
src/turbostat.c:1299:5: warning: Argument to free() is the address of the global variable 'core_delta', which is not memory allocated by malloc()
    sfree(cores);
    ^~~~~~~~~~~~
./src/daemon/common.h:41:5: note: expanded from macro 'sfree'
    free(ptr);                                                                 \
    ^~~~~~~~~
2 warnings generated.
  CCLD     turbostat.la

(cherry picked from commit 74eda959ddf653b7d20779d84f0a140e85376726)

6 years agoMerge pull request #2947 from baruchsiach/fix-build-gpsd
Pavel Rochnyak [Wed, 10 Oct 2018 03:04:21 +0000 (10:04 +0700)]
Merge pull request #2947 from baruchsiach/fix-build-gpsd

gps plugin: fix build with newer gpsd

6 years agogps plugin: fix build with newer gpsd
Baruch Siach [Tue, 9 Oct 2018 16:57:21 +0000 (19:57 +0300)]
gps plugin: fix build with newer gpsd

gpsd version 3.18 changed the prototype of gps_read(). Make the
gps_read() call depend on GPSD_API_MAJOR_VERSION to fix that.

This fixes build failures like:

gps.c: In function 'cgps_thread':
gps.c:144:11: error: too few arguments to function 'gps_read'
       if (gps_read(&gpsd_conn) == -1) {
   ^~~~~~~~

6 years agoAuto-Merge pull request #2945 from octo/ff/travis
collectd bot [Tue, 9 Oct 2018 15:11:27 +0000 (17:11 +0200)]
Auto-Merge pull request #2945 from octo/ff/travis

Automatically merged due to "Automerge" label

6 years ago.travis.yml: Determine number of CPUs at runtime.
Florian Forster [Tue, 9 Oct 2018 13:53:00 +0000 (15:53 +0200)]
.travis.yml: Determine number of CPUs at runtime.

6 years agoAuto-Merge pull request #2944 from octo/ff/typo
collectd bot [Tue, 9 Oct 2018 13:13:56 +0000 (15:13 +0200)]
Auto-Merge pull request #2944 from octo/ff/typo

Automatically merged due to "Automerge" label

6 years agoexec: fix potential deadlock after fork()
Daniel Vrátil [Wed, 12 Sep 2018 15:05:31 +0000 (17:05 +0200)]
exec: fix potential deadlock after fork()

POSIX forbids calling functions which are not thread-safe like
setenv() after fork() in multi-threaded programs. It happens to
work just fine with some libc implementations, but it causes a
deadlock in the child process with uClibc for example.

The proper way to pass new environment variables to the child
process is to update parent's environment before the fork(), so
that the child inherits the updated environment and then undo the
changes in the parent process again.

Signed-off-by: Florian Forster <octo@collectd.org>
6 years agoexec: Call putenv() with a global buffer
Daniel Vrátil [Wed, 12 Sep 2018 15:20:00 +0000 (17:20 +0200)]
exec: Call putenv() with a global buffer

putenv() adds the string pointer to the environment so it should
not be called with an automatic variable.

Signed-off-by: Florian Forster <octo@collectd.org>
6 years agosrc/daemon/common.h: Fix typo.
Florian Forster [Tue, 9 Oct 2018 11:55:23 +0000 (13:55 +0200)]
src/daemon/common.h: Fix typo.

6 years agoAuto-Merge pull request #2942 from rubenk/ntpd-plug-leak
collectd bot [Tue, 9 Oct 2018 11:38:05 +0000 (13:38 +0200)]
Auto-Merge pull request #2942 from rubenk/ntpd-plug-leak

Automatically merged due to "Automerge" label

6 years agontpd: plug potential leak on error
Ruben Kerkhof [Tue, 9 Oct 2018 08:36:48 +0000 (10:36 +0200)]
ntpd: plug potential leak on error

Found by scan-build:

src/ntpd.c:833:5: warning: Potential memory leak
    ERROR("ntpd plugin: ntpd_do_query (REQ_GET_KERNEL) failed with status %i",
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./src/daemon/plugin.h:391:20: note: expanded from macro 'ERROR'
                   ^~~~~~~~~~
1 warning generated.

6 years agoMerge pull request #2903 from ccin2p3/documentation/libvirt
Ruben Kerkhof [Tue, 9 Oct 2018 08:09:12 +0000 (10:09 +0200)]
Merge pull request #2903 from ccin2p3/documentation/libvirt

add some useful info to libvirt manpage

6 years agowrite_stackdriver plugin: Check message for NULL before calling strdup().
Florian Forster [Tue, 9 Oct 2018 07:06:57 +0000 (09:06 +0200)]
write_stackdriver plugin: Check message for NULL before calling strdup().

6 years agowrite_stackdriver plugin: Set HTTP request timeout.
Florian Forster [Tue, 9 Oct 2018 07:06:28 +0000 (09:06 +0200)]
write_stackdriver plugin: Set HTTP request timeout.

6 years agopowerdns plugin: no-packet-error counts number of erroneous packets; it should be...
Mariusz Gronczewski [Fri, 17 Aug 2018 14:35:11 +0000 (16:35 +0200)]
powerdns plugin: no-packet-error counts number of erroneous packets; it should be returned as counter (like other query/hit/miss counters), not gauge

Signed-off-by: Florian Forster <octo@collectd.org>
6 years agoAuto-Merge pull request #2941 from octo/backport/01cf776
collectd bot [Tue, 9 Oct 2018 06:08:03 +0000 (08:08 +0200)]
Auto-Merge pull request #2941 from octo/backport/01cf776

Automatically merged due to "Automerge" label

6 years agoceph plugin: fix scan-build warnings
Ruben Kerkhof [Wed, 30 May 2018 13:08:15 +0000 (15:08 +0200)]
ceph plugin: fix scan-build warnings

src/ceph.c:284:8: warning: Null pointer argument in call to string comparison function
  (strcmp("filestore", state->stack[state->depth - 2]) == 0) &&
   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/x86_64-linux-gnu/bits/string2.h:817:8: note: expanded from macro 'strcmp'
: __builtin_strcmp (s1, s2)))); })
  ^~~~~~~~~~~~~~~~~~~~~~~~~
src/ceph.c:285:8: warning: Null pointer argument in call to string comparison function
  (strcmp("journal_wr_bytes", state->stack[state->depth - 1]) == 0) &&
   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/x86_64-linux-gnu/bits/string2.h:817:8: note: expanded from macro 'strcmp'
: __builtin_strcmp (s1, s2)))); })
  ^~~~~~~~~~~~~~~~~~~~~~~~~
2 warnings generated.

Cherry-pick for collectd-5.8.