Ruben Kerkhof [Mon, 14 Oct 2019 16:12:52 +0000 (18:12 +0200)]
Fix warning in test_strunescape
src/utils/common/common_test.c:254:3: warning: ‘strncpy’ output truncated before terminating nul copying 16 bytes from a string of the same length [-Wstringop-truncation]
254 | strncpy(buffer, "\\tbackslash end\\", sizeof(buffer));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
CCLD test_common
Pavel Rochnyack [Mon, 7 May 2018 15:53:23 +0000 (22:53 +0700)]
netlink plugin: Use of less strict rules in link_filter_cb()
mnl_attr_validate2() function implements strict equality check of kernel and
userspace structures size. Additional counters was added to 4.6 Linux kernel,
sizes was changed and mismatch can occur.
This patch weakened validation.
Now Collectd just checks if structures, received from kernel space, has enough
data.
Luca Boccassi [Mon, 3 Dec 2018 15:56:13 +0000 (15:56 +0000)]
configure.ac: run dpdk build tests only if pkgconfig fails
The AC_CHECK_LIB test runs unconditionally, and fails with DPDK 18.11
when built with Meson as there is no longer a libdpdk.so linker script,
but only a pkg-config file, so -ldpdk (which is what AC_CHECK_LIB runs)
fails.
Use AC_LINK_IFELSE instead, with compiler and linker flags set
appropriately.
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.
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.
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.
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
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
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.
The libvirt plugin refreshes its list of domains every RefreshInterval
seconds. If a domain crashes after getting the list, getting the stats
for its block devices returns an error. We then try to call
virDomainGetName on an invalid pointer. Fix this.
The previous buffer of 64 fields was too short for the current number of
72+2 fields in NFS 4.2, causing the message
nfs plugin: Unexpected number of fields for NFSv4 server statistics: 62.
This change, originally proposed in [1], fixes that issue in a
forward-compatible manner by reusing the already known number of fields
from the static arrays.
Ruben Kerkhof [Wed, 16 May 2018 11:24:55 +0000 (13:24 +0200)]
Fix make distcheck on Mac OS
CC src/libcollectdclient/libcollectdclient_la-network_parse.lo
../../src/libcollectdclient/network_parse.c:49:10: fatal error: 'stdendian.h' file not found
^~~~~~~~~~~~~
1 error generated.
Pavel Rochnyack [Mon, 21 May 2018 03:38:51 +0000 (10:38 +0700)]
Added missing include of 'config.h'
This adressed to solve compilation issue on Solaris platform:
In file included from src/libcollectdclient/network_parse.c:26:0,
from src/libcollectdclient/network_parse_test.c:32:
./src/config.h:1517:0: error: "_FILE_OFFSET_BITS" redefined
Pavel Rochnyack [Sun, 20 May 2018 19:35:44 +0000 (02:35 +0700)]
Added missing include of 'kstat.h' and variable declaration
This adressed to solve compilation issue on Solaris platform:
src/daemon/collectd.c:212: error: 'kc' undeclared (first use in this function)
src/daemon/collectd.c:213: error: implicit declaration of function 'kstat_open'