collectd.git
7 years agomcelog: make options mutually exclusive
Tahhan, Maryam [Mon, 29 May 2017 13:04:39 +0000 (14:04 +0100)]
mcelog: make options mutually exclusive

Make the logfile and socket options mutually exclusive as the collection
requirements for the 2 are different and the memory errors from the
socket overlap with the logfile. Set the default to memory errors until
the logfile changes are merged.

Change-Id: If1eef9d37f1ffe404cf679df4dca9ae3c92ab9ea
Signed-off-by: Tahhan, Maryam <maryam.tahhan@intel.com>
7 years agomcelog: notification persist option
Tahhan, Maryam [Mon, 27 Feb 2017 13:33:31 +0000 (13:33 +0000)]
mcelog: notification persist option

Implement notification persist option and separate out memory block from the
rest of the configuration.

Change-Id: I48d946bb381d3cfc61fee91a31f3865802389eef
Signed-off-by: Tahhan, Maryam <maryam.tahhan@intel.com>
7 years agomcelog: code review fix
Tahhan, Maryam [Tue, 23 May 2017 10:02:01 +0000 (11:02 +0100)]
mcelog: code review fix

Get rid of verbose mcelog_get_dimm() function and use llist_search() instead.

Change-Id: Iccc5c083cf254b82c74f6f77df4a0659ba14282c
Signed-off-by: Tahhan, Maryam <maryam.tahhan@intel.com>
7 years agoprocesses: Show real disk IO in addition to process IO (Linux only)
Pavel Rochnyack [Wed, 29 Mar 2017 15:31:43 +0000 (21:31 +0600)]
processes: Show real disk IO in addition to process IO (Linux only)

Before this patch, Collectd reports /proc/PID/io fields 'io_rchar/io_wchar' as
'ps_disk_octets' type and 'io_syscr/io_syscw' as 'ps_disk_ops' type.
The names of these types do not match values they represent.

New, correct mapping implemented:

 io_rchar/io_wchar      -> io_octets   (was ps_disk_octets, not used anymore)
 io_syscr/io_syscw      -> io_ops      (was ps_disk_ops, not used anymore)
 read_bytes/write_bytes -> disk_octets (new data collected)

 Closes: #1990

7 years agolibcollectdclient: Include "config.h" unconditionally.
Florian Forster [Tue, 4 Jul 2017 21:36:24 +0000 (23:36 +0200)]
libcollectdclient: Include "config.h" unconditionally.

7 years agoMerge pull request #2341 from rpv-tomsk/issue-2328
Ruben Kerkhof [Tue, 4 Jul 2017 15:27:03 +0000 (17:27 +0200)]
Merge pull request #2341 from rpv-tomsk/issue-2328

curl plugins: Use configured URL for all poll cycles

7 years agocurl plugins: Use configured URL for all poll cycles
Pavel Rochnyack [Tue, 4 Jul 2017 10:31:46 +0000 (17:31 +0700)]
curl plugins: Use configured URL for all poll cycles

After redirect received, Collectd send subsequent requests to new location.
That is wrong - Collectd should use configured URL for all poll cycles, regardless of the responses received previously.

Problem was caused by libcurl issue 1631. To avoid that we set request url in each poll cycle.

Closes: #2328

7 years agowrite_mongodb: fix build warning
Ruben Kerkhof [Sun, 2 Jul 2017 20:12:18 +0000 (22:12 +0200)]
write_mongodb: fix build warning

  CC       src/write_mongodb_la-write_mongodb.lo
src/write_mongodb.c: In function ‘wm_config’:
src/write_mongodb.c:371:55: warning: ‘%s’ directive output may be truncated writing up to 127 bytes into a region of size 114 [-Wformat-truncation=]
     snprintf(cb_name, sizeof(cb_name), "write_mongodb/%s", node->name);
                                                       ^~
src/write_mongodb.c:371:5: note: ‘snprintf’ output between 15 and 142 bytes into a destination of size 128
     snprintf(cb_name, sizeof(cb_name), "write_mongodb/%s", node->name);
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

7 years agowrite_redis: fix build warning
Ruben Kerkhof [Sun, 2 Jul 2017 20:07:59 +0000 (22:07 +0200)]
write_redis: fix build warning

src/write_redis.c: In function ‘wr_config’:
src/write_redis.c:222:53: warning: ‘%s’ directive output may be truncated writing up to 127 bytes into a region of size 116 [-Wformat-truncation=]
     snprintf(cb_name, sizeof(cb_name), "write_redis/%s", node->name);
                                                     ^~
src/write_redis.c:222:5: note: ‘snprintf’ output between 13 and 140 bytes into a destination of size 128
     snprintf(cb_name, sizeof(cb_name), "write_redis/%s", node->name);
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

7 years agolibcollectdclient: increase error buffer
Ruben Kerkhof [Sun, 2 Jul 2017 19:52:14 +0000 (21:52 +0200)]
libcollectdclient: increase error buffer

make[1]: Entering directory '/home/ruben/src/collectd'
  CC       src/libcollectdclient/libcollectdclient_la-client.lo
src/libcollectdclient/client.c: In function ‘lcc_getval’:
src/libcollectdclient/client.c:621:23: warning: ‘%s’ directive output may be truncated writing up to 1023 bytes into a region of size 1010 [-Wformat-truncation=]
     LCC_SET_ERRSTR(c, "Server error: %s", res.message);
                       ^                   ~
src/libcollectdclient/client.c:94:48: note: in definition of macro ‘LCC_SET_ERRSTR’
     snprintf((c)->errbuf, sizeof((c)->errbuf), __VA_ARGS__);                   \
                                                ^~~~~~~~~~~
src/libcollectdclient/client.c:94:5: note: ‘snprintf’ output between 15 and 1038 bytes into a destination of size 1024
     snprintf((c)->errbuf, sizeof((c)->errbuf), __VA_ARGS__);                   \
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/libcollectdclient/client.c:621:5: note: in expansion of macro ‘LCC_SET_ERRSTR’
     LCC_SET_ERRSTR(c, "Server error: %s", res.message);
     ^~~~~~~~~~~~~~
src/libcollectdclient/client.c: In function ‘lcc_putval’:
src/libcollectdclient/client.c:754:23: warning: ‘%s’ directive output may be truncated writing up to 1023 bytes into a region of size 1010 [-Wformat-truncation=]
     LCC_SET_ERRSTR(c, "Server error: %s", res.message);
                       ^                   ~
src/libcollectdclient/client.c:94:48: note: in definition of macro ‘LCC_SET_ERRSTR’
     snprintf((c)->errbuf, sizeof((c)->errbuf), __VA_ARGS__);                   \
                                                ^~~~~~~~~~~
src/libcollectdclient/client.c:94:5: note: ‘snprintf’ output between 15 and 1038 bytes into a destination of size 1024
     snprintf((c)->errbuf, sizeof((c)->errbuf), __VA_ARGS__);                   \
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/libcollectdclient/client.c:754:5: note: in expansion of macro ‘LCC_SET_ERRSTR’
     LCC_SET_ERRSTR(c, "Server error: %s", res.message);
     ^~~~~~~~~~~~~~
src/libcollectdclient/client.c: In function ‘lcc_flush’:
src/libcollectdclient/client.c:802:23: warning: ‘%s’ directive output may be truncated writing up to 1023 bytes into a region of size 1010 [-Wformat-truncation=]
     LCC_SET_ERRSTR(c, "Server error: %s", res.message);
                       ^                   ~
src/libcollectdclient/client.c:94:48: note: in definition of macro ‘LCC_SET_ERRSTR’
     snprintf((c)->errbuf, sizeof((c)->errbuf), __VA_ARGS__);                   \
                                                ^~~~~~~~~~~
src/libcollectdclient/client.c:94:5: note: ‘snprintf’ output between 15 and 1038 bytes into a destination of size 1024
     snprintf((c)->errbuf, sizeof((c)->errbuf), __VA_ARGS__);                   \
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/libcollectdclient/client.c:802:5: note: in expansion of macro ‘LCC_SET_ERRSTR’
     LCC_SET_ERRSTR(c, "Server error: %s", res.message);
     ^~~~~~~~~~~~~~
src/libcollectdclient/client.c: In function ‘lcc_listval’:
src/libcollectdclient/client.c:834:23: warning: ‘%s’ directive output may be truncated writing up to 1023 bytes into a region of size 1010 [-Wformat-truncation=]
     LCC_SET_ERRSTR(c, "Server error: %s", res.message);
                       ^                   ~
src/libcollectdclient/client.c:94:48: note: in definition of macro ‘LCC_SET_ERRSTR’
     snprintf((c)->errbuf, sizeof((c)->errbuf), __VA_ARGS__);                   \
                                                ^~~~~~~~~~~
src/libcollectdclient/client.c:94:5: note: ‘snprintf’ output between 15 and 1038 bytes into a destination of size 1024
     snprintf((c)->errbuf, sizeof((c)->errbuf), __VA_ARGS__);                   \
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/libcollectdclient/client.c:834:5: note: in expansion of macro ‘LCC_SET_ERRSTR’
     LCC_SET_ERRSTR(c, "Server error: %s", res.message);
     ^~~~~~~~~~~~~~

Fixes #2200

7 years agolibcollectclient: snprintf already NUL-terminates
Ruben Kerkhof [Sun, 2 Jul 2017 19:50:48 +0000 (21:50 +0200)]
libcollectclient: snprintf already NUL-terminates

7 years agoprocesses plugin: fix build warning
Ruben Kerkhof [Sun, 2 Jul 2017 19:48:50 +0000 (21:48 +0200)]
processes plugin: fix build warning

  CC       src/processes.lo
src/processes.c: In function ‘ps_read’:
src/processes.c:823:58: warning: ‘%s’ directive output may be truncated writing up to 255 bytes into a region of size between 32 and 51 [-Wformat-truncation=]
     snprintf(filename, sizeof(filename), "/proc/%li/task/%s/status", ps->id,
                                                          ^~
src/processes.c:823:5: note: ‘snprintf’ output between 21 and 295 bytes into a destination of size 64
     snprintf(filename, sizeof(filename), "/proc/%li/task/%s/status", ps->id,
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
               tpid);
               ~~~~~

In practice the buffer is more than large enough, since all we substitute are process ids, but gcc can't know that.

7 years agoTreewide: replace ssnprintf with snprintf
Ruben Kerkhof [Sun, 2 Jul 2017 19:17:30 +0000 (21:17 +0200)]
Treewide: replace ssnprintf with snprintf

ssnprintf supposedly was a safer version of snprintf, but they both
always NUL-terminate the buffer.

After this change GCC >= 7 will start warning when snprintf silenty
truncates, which is good since I want to see when that happens.

7 years agoMerge branch 'collectd-5.7'
Ruben Kerkhof [Sun, 2 Jul 2017 18:52:18 +0000 (20:52 +0200)]
Merge branch 'collectd-5.7'

7 years agotcpconns plugin: fix build on FreeBSD current
Ruben Kerkhof [Sun, 2 Jul 2017 18:34:59 +0000 (20:34 +0200)]
tcpconns plugin: fix build on FreeBSD current

FreeBSD commit https://github.com/freebsd/freebsd/commit/3a5c9aaf2b2ea107bcaf0ba28b706238d92bdbbd
hides inpcb and tcpcb from userland.

Patch taken from FreeBSD ports tree, thanks glebius@.

7 years agowrite_mongodb: use ssnprintf_alloc to create dsn
Ruben Kerkhof [Sun, 2 Jul 2017 17:38:12 +0000 (19:38 +0200)]
write_mongodb: use ssnprintf_alloc to create dsn

7 years agowrite_mongodb: fix potential NULL dereference
Ruben Kerkhof [Sun, 2 Jul 2017 17:22:20 +0000 (19:22 +0200)]
write_mongodb: fix potential NULL dereference

scan-build: Using '/usr/bin/clang-4.0' for static analysis
make  all-am
make[1]: Entering directory '/home/ruben/src/collectd'
  CC       src/write_mongodb_la-write_mongodb.lo
src/write_mongodb.c:173:41: warning: Null pointer passed as an argument to a 'nonnull' parameter
                 strlen(node->passwd) + strlen(node->host) + 5 +
                                        ^~~~~~~~~~~~~~~~~~
src/write_mongodb.c:199:42: warning: Null pointer passed as an argument to a 'nonnull' parameter
    uri_length = strlen(format_string) + strlen(node->host) + 5 + 1;
                                         ^~~~~~~~~~~~~~~~~~
2 warnings generated.
  CCLD     write_mongodb.la

7 years agowrite_mongodb.c: clang-format
Ruben Kerkhof [Sun, 2 Jul 2017 17:16:55 +0000 (19:16 +0200)]
write_mongodb.c: clang-format

7 years agoOnly build libplugin_mock.la during make check
Ruben Kerkhof [Sun, 2 Jul 2017 13:44:39 +0000 (15:44 +0200)]
Only build libplugin_mock.la during make check

7 years agoMerge pull request #2315 from mcorbin/feat/riemann-microseconds-resolution
Ruben Kerkhof [Sun, 2 Jul 2017 12:38:36 +0000 (14:38 +0200)]
Merge pull request #2315 from mcorbin/feat/riemann-microseconds-resolution

Add micro-seconds resolution in write_riemann

7 years agoMerge pull request #2301 from rpv-tomsk/fix-apcups
Ruben Kerkhof [Sun, 2 Jul 2017 11:34:05 +0000 (13:34 +0200)]
Merge pull request #2301 from rpv-tomsk/fix-apcups

apcups: Fix reconnect implementation

7 years agoipvs plugin: remove custom kernel source support
Ruben Kerkhof [Sat, 1 Jul 2017 13:43:42 +0000 (15:43 +0200)]
ipvs plugin: remove custom kernel source support

Linux has shipped ipvs.h in its uapi for ages now.

7 years agoconfigure.ac: minor cleanup
Ruben Kerkhof [Sat, 1 Jul 2017 13:27:21 +0000 (15:27 +0200)]
configure.ac: minor cleanup

7 years agoconfigure.ac: remove some whitespace
Ruben Kerkhof [Sat, 1 Jul 2017 13:18:08 +0000 (15:18 +0200)]
configure.ac: remove some whitespace

7 years agosnmp_agent plugin: fix a few build warnings
Ruben Kerkhof [Sat, 1 Jul 2017 13:09:40 +0000 (15:09 +0200)]
snmp_agent plugin: fix a few build warnings

```
CC       src/snmp_agent_la-snmp_agent.lo
src/snmp_agent.c:166:25: warning: comparison of integers of different signs: 'int' and 'size_t' (aka 'unsigned long') [-Wsign-compare]
      for (int i = 0; i < dd->oids_len; i++) {
                      ~ ^ ~~~~~~~~~~~~
src/snmp_agent.c:190:23: warning: comparison of integers of different signs: 'int' and 'size_t' (aka 'unsigned long') [-Wsign-compare]
    for (int i = 0; i < dd->oids_len; i++) {
                    ~ ^ ~~~~~~~~~~~~
src/snmp_agent.c:289:37: warning: comparison of integers of different signs: 'int' and 'size_t' (aka 'unsigned long') [-Wsign-compare]
  for (i = 0; i < key_len && offset < oid->oid_len; i++)
                             ~~~~~~ ^ ~~~~~~~~~~~~
src/snmp_agent.c:355:23: warning: comparison of integers of different signs: 'int' and 'size_t' (aka 'unsigned long') [-Wsign-compare]
    for (int i = 0; i < dd->oids_len; i++)
                    ~ ^ ~~~~~~~~~~~~
src/snmp_agent.c:420:23: warning: comparison of integers of different signs: 'int' and 'size_t' (aka 'unsigned long') [-Wsign-compare]
    for (int i = 0; i < (*dd)->oids_len; i++)
                    ~ ^ ~~~~~~~~~~~~~~~
src/snmp_agent.c:429:25: warning: comparison of integers of different signs: 'int' and 'size_t' (aka 'unsigned long') [-Wsign-compare]
      for (int i = 0; i < (*dd)->oids_len; i++)
                      ~ ^ ~~~~~~~~~~~~~~~
src/snmp_agent.c:440:25: warning: comparison of integers of different signs: 'int' and 'size_t' (aka 'unsigned long') [-Wsign-compare]
      for (int i = 0; i < (*dd)->oids_len; i++)
                      ~ ^ ~~~~~~~~~~~~~~~
src/snmp_agent.c:532:20: warning: comparison of integers of different signs: 'int' and 'size_t' (aka 'unsigned long') [-Wsign-compare]
  assert(oid_index < values_num);
         ~~~~~~~~~ ^ ~~~~~~~~~~
/usr/include/assert.h:89:5: note: expanded from macro 'assert'
  ((expr)                                                               \
    ^~~~
src/snmp_agent.c:584:25: warning: comparison of integers of different signs: 'int' and 'size_t' (aka 'unsigned long') [-Wsign-compare]
      for (int i = 0; i < dd->oids_len; i++) {
                      ~ ^ ~~~~~~~~~~~~
src/snmp_agent.c:768:23: warning: comparison of integers of different signs: 'int' and 'size_t' (aka 'unsigned long') [-Wsign-compare]
    for (int i = 0; i < dd->oids_len; i++) {
                    ~ ^ ~~~~~~~~~~~~
src/snmp_agent.c:806:25: warning: comparison of integers of different signs: 'int' and 'size_t' (aka 'unsigned long') [-Wsign-compare]
      for (int i = 0; i < dd->oids_len; i++) {
                      ~ ^ ~~~~~~~~~~~~
src/snmp_agent.c:821:23: warning: comparison of integers of different signs: 'int' and 'size_t' (aka 'unsigned long') [-Wsign-compare]
    for (int i = 0; i < dd->oids_len; i++) {
                    ~ ^ ~~~~~~~~~~~~
src/snmp_agent.c:1287:23: warning: comparison of integers of different signs: 'int' and 'size_t' (aka 'unsigned long') [-Wsign-compare]
    for (int i = 0; i < dd->oids_len; i++) {
                    ~ ^ ~~~~~~~~~~~~
13 warnings generated.
```

7 years agoipvs plugin: minor cleanup
Ruben Kerkhof [Sat, 1 Jul 2017 12:54:41 +0000 (14:54 +0200)]
ipvs plugin: minor cleanup

- Remove some Yoda conditionals
- Give some variables better names
- Use C99 designated initializers in some places.

7 years agoMerge pull request #2327 from rpv-tomsk/snmp-custom-port
Ruben Kerkhof [Sat, 1 Jul 2017 10:57:27 +0000 (12:57 +0200)]
Merge pull request #2327 from rpv-tomsk/snmp-custom-port

snmp plugin: Option `Address` documented in more details.

7 years agoemail plugin: fix Yoda conditionals
Ruben Kerkhof [Fri, 30 Jun 2017 15:44:48 +0000 (17:44 +0200)]
email plugin: fix Yoda conditionals

7 years agoFix mismerge
Ruben Kerkhof [Fri, 30 Jun 2017 14:53:12 +0000 (16:53 +0200)]
Fix mismerge

7 years agoexec plugin: remove some Yoda conditionals
Ruben Kerkhof [Fri, 30 Jun 2017 14:37:25 +0000 (16:37 +0200)]
exec plugin: remove some Yoda conditionals

7 years agoMerge branch 'collectd-5.7'
Ruben Kerkhof [Fri, 30 Jun 2017 14:20:16 +0000 (16:20 +0200)]
Merge branch 'collectd-5.7'

Conflicts:
src/openldap.c

7 years agoMerge branch 'collectd-5.6' into collectd-5.7
Ruben Kerkhof [Fri, 30 Jun 2017 14:17:06 +0000 (16:17 +0200)]
Merge branch 'collectd-5.6' into collectd-5.7

7 years agoemail, exec and unixsock plugins: enlarge buffer for getgrnam_r result
Ruben Kerkhof [Fri, 30 Jun 2017 14:15:25 +0000 (16:15 +0200)]
email, exec and unixsock plugins: enlarge buffer for getgrnam_r result

Thanks to Jeremie Courreges-Anglas and Daniel Jakots.

7 years agoemail, exec and unixsock plugins: fix error handling
Ruben Kerkhof [Fri, 30 Jun 2017 14:12:57 +0000 (16:12 +0200)]
email, exec and unixsock plugins: fix error handling

Diff from Jeremie Courreges-Anglas, via Daniel Jakots

7 years agoMerge pull request #2331 from mfournier/ldap_unbind-segfault
Ruben Kerkhof [Wed, 28 Jun 2017 17:38:12 +0000 (19:38 +0200)]
Merge pull request #2331 from mfournier/ldap_unbind-segfault

openldap: check ld structure before passing it to ldap_unbind()

7 years agoopenldap: check ld structure before passing it to ldap_unbind()
Marc Fournier [Wed, 28 Jun 2017 11:46:59 +0000 (13:46 +0200)]
openldap: check ld structure before passing it to ldap_unbind()

This prevents collectd from segfaulting when the ldap session setup
fails before opening a connection to openldap (syntax error in the URL
option for example).

7 years agosnmp: Option `Address` documented in more details.
Pavel Rochnyack [Sun, 25 Jun 2017 07:40:07 +0000 (14:40 +0700)]
snmp: Option `Address` documented in more details.

As described at http://net-snmp.sourceforge.net/dev/agent/structsnmp__session.html,
it may include transport specifier and/or port number.
Configuration examples are updated too.

Closes: #2302

7 years agoMerge pull request #2320 from maryamtahhan/feat_snmp_compilation_issue
Ruben Kerkhof [Wed, 21 Jun 2017 09:55:35 +0000 (11:55 +0200)]
Merge pull request #2320 from maryamtahhan/feat_snmp_compilation_issue

SNMP Agent: Fix compilation issue of snmp_agent plugin

7 years agoSNMP Agent: Fix compilation issue on Net-SNMP v5.4.3
Mytnyk, VolodymyrX [Tue, 20 Jun 2017 10:14:41 +0000 (11:14 +0100)]
SNMP Agent: Fix compilation issue on Net-SNMP v5.4.3

The compilation of SNMP Agent fails on older version of
Net-SNMP (5.4.3).

Signed-off-by: Mytnyk, VolodymyrX <volodymyrx.mytnyk@intel.com>
7 years agoAdd micro-seconds resolution in write_riemann
mcorbin [Tue, 13 Jun 2017 19:12:07 +0000 (21:12 +0200)]
Add micro-seconds resolution in write_riemann

riemann-c-client 1.10.0 and higher supports micro-seconds time
resolution for Riemann events.

7 years agointel_pmu: address PR comments
Pshyk, SerhiyX [Mon, 12 Jun 2017 12:58:12 +0000 (13:58 +0100)]
intel_pmu: address PR comments

Change-Id: I172ad8535edda429cd58e0d6198aa19af76151eb
Signed-off-by: Serhiy Pshyk <serhiyx.pshyk@intel.com>
7 years agoBump version to 5.7.2; Update ChangeLog. collectd-5.7.2
Florian Forster [Tue, 6 Jun 2017 18:11:05 +0000 (20:11 +0200)]
Bump version to 5.7.2; Update ChangeLog.

7 years agoMerge branch 'collectd-5.7'
Ruben Kerkhof [Tue, 6 Jun 2017 08:31:07 +0000 (10:31 +0200)]
Merge branch 'collectd-5.7'

Conflicts:
src/intel_rdt.c

7 years agoMerge pull request #2310 from octo/ff/intel_rdt
Ruben Kerkhof [Tue, 6 Jun 2017 08:28:19 +0000 (10:28 +0200)]
Merge pull request #2310 from octo/ff/intel_rdt

intel_rdt plugin: Remove unnecessary goto.

7 years agointel_rdt plugin: Remove unnecessary goto.
Florian Forster [Mon, 5 Jun 2017 05:33:36 +0000 (07:33 +0200)]
intel_rdt plugin: Remove unnecessary goto.

7 years agoMerge branch 'collectd-5.7'
Ruben Kerkhof [Thu, 1 Jun 2017 18:38:17 +0000 (20:38 +0200)]
Merge branch 'collectd-5.7'

7 years agoMerge branch 'collectd-5.6' into collectd-5.7
Ruben Kerkhof [Thu, 1 Jun 2017 18:37:49 +0000 (20:37 +0200)]
Merge branch 'collectd-5.6' into collectd-5.7

7 years agoBind plugin: plug a few leaks
Ruben Kerkhof [Tue, 30 May 2017 15:25:17 +0000 (17:25 +0200)]
Bind plugin: plug a few leaks

Fixes: #2303

7 years agoMerge pull request #2307 from saiarcot895/mongo-mem-leak
Ruben Kerkhof [Thu, 1 Jun 2017 18:35:19 +0000 (20:35 +0200)]
Merge pull request #2307 from saiarcot895/mongo-mem-leak

Use bson_destroy instead of bson_free, and fix memleak issue.

7 years agoUse bson_destroy instead of bson_free, and fix memleak issue.
Saikrishna Arcot [Wed, 31 May 2017 14:49:25 +0000 (07:49 -0700)]
Use bson_destroy instead of bson_free, and fix memleak issue.

7 years agointel_pmu: configure.ac code style cleanup
Pshyk, SerhiyX [Tue, 30 May 2017 13:43:35 +0000 (14:43 +0100)]
intel_pmu: configure.ac code style cleanup

Change-Id: Ie69b921a253f418ac7b87248faa29d9d35c647a0
Signed-off-by: Serhiy Pshyk <serhiyx.pshyk@intel.com>
7 years agoMerge pull request #2304 from archii/fix-ipmi-docs-typo
Ruben Kerkhof [Tue, 30 May 2017 09:33:13 +0000 (11:33 +0200)]
Merge pull request #2304 from archii/fix-ipmi-docs-typo

Fix ipmi docs typo

7 years agointel_pmu: address PR comments
Pshyk, SerhiyX [Fri, 26 May 2017 14:51:54 +0000 (15:51 +0100)]
intel_pmu: address PR comments

  - cleanup of configure.ac
  - add config option EventList to avoid dependency on environment variables

Change-Id: I987095b6e71bcf05103e773793c0a40c815f729b
Signed-off-by: Serhiy Pshyk <serhiyx.pshyk@intel.com>
7 years agoMerge pull request #1 from archii/archii-fix-docs-typo-1
archii [Tue, 30 May 2017 00:56:56 +0000 (10:56 +1000)]
Merge pull request #1 from archii/archii-fix-docs-typo-1

fix typo in collectd.conf.pod

7 years agofix typo in collectd.conf.pod
archii [Tue, 30 May 2017 00:54:47 +0000 (10:54 +1000)]
fix typo in collectd.conf.pod

7 years agopython plugin: stop disabling strict aliasing
Ruben Kerkhof [Sat, 27 May 2017 14:12:41 +0000 (16:12 +0200)]
python plugin: stop disabling strict aliasing

According to https://bugs.python.org/issue1718153, this has been fixed
in python 2.6, the oldest version we support.

7 years agoconfigure.ac: slightly tweak dpdk check
Ruben Kerkhof [Sat, 27 May 2017 13:53:46 +0000 (15:53 +0200)]
configure.ac: slightly tweak dpdk check

7 years agoconfigure.ac: keep libs sorted
Ruben Kerkhof [Sat, 27 May 2017 13:46:24 +0000 (15:46 +0200)]
configure.ac: keep libs sorted

7 years agoconfigure.ac: detect compiler vendor
Ruben Kerkhof [Sat, 27 May 2017 13:27:54 +0000 (15:27 +0200)]
configure.ac: detect compiler vendor

I'll use this in followup patches to detect if the compiler supports
various warning flags. For example, a long standing issue is that older
version of the Sun studio compiler doesn't support -Werror.

7 years agoconfigure.ac: no need for body for preproc test
Ruben Kerkhof [Sat, 27 May 2017 13:06:47 +0000 (15:06 +0200)]
configure.ac: no need for body for preproc test

7 years agoconfigure.ac: use preprocessor to detect libpqos version
Ruben Kerkhof [Sat, 27 May 2017 13:05:45 +0000 (15:05 +0200)]
configure.ac: use preprocessor to detect libpqos version

No need to run the program.

7 years agoconfigure.ac: use preprocessor to detect dpdk version
Ruben Kerkhof [Sat, 27 May 2017 12:59:57 +0000 (14:59 +0200)]
configure.ac: use preprocessor to detect dpdk version

The test doesn't run any code, so no need to compile it.

7 years agoconfigure.ac: replace AS_IF with normal test
Ruben Kerkhof [Sat, 27 May 2017 12:54:22 +0000 (14:54 +0200)]
configure.ac: replace AS_IF with normal test

AS_IF is slightly more portable, but slightly less readable.

7 years agoconfigure.ac: replace last few tabs with spaces
Ruben Kerkhof [Sat, 27 May 2017 12:52:34 +0000 (14:52 +0200)]
configure.ac: replace last few tabs with spaces

7 years agoconfigure.ac: fix libpqos detection style
Ruben Kerkhof [Sat, 27 May 2017 12:51:11 +0000 (14:51 +0200)]
configure.ac: fix libpqos detection style

7 years agosnmp-agent: fix build on RHEL6
Ruben Kerkhof [Sat, 27 May 2017 12:30:33 +0000 (14:30 +0200)]
snmp-agent: fix build on RHEL6

libnetsnmpagent.so from net-snmp 5.5 needs some symbols from libnetsnmphelpers.so,
but does not link against it on RHEL5.

Work around this by looking for one of those symbols in the helper lib,
and if found, link against it.

Later versions of net-snmp seem to have moved those symbols to
libnetsnmpagent.so, so it's not an issue there.

7 years agoconfigure.ac: remove unneeded include
Ruben Kerkhof [Sat, 27 May 2017 11:46:07 +0000 (13:46 +0200)]
configure.ac: remove unneeded include

All files in AC_CONFIG_MACRO_DIR are included by default.

7 years agoconfigure.ac: improve libnetsnmpagent detection
Ruben Kerkhof [Sat, 27 May 2017 11:37:06 +0000 (13:37 +0200)]
configure.ac: improve libnetsnmpagent detection

Turn it into a separate check, which also makes it possible to disable
it.

snmp_agent and snmp are separate plugins, and on at least Fedora are
packaged separately.

A beneficial side effect is that this reduces overlinking of snmp.so
with libnetsnmpagent.so

7 years agosnmp-agent: check for the right header
Ruben Kerkhof [Sat, 27 May 2017 10:30:35 +0000 (12:30 +0200)]
snmp-agent: check for the right header

We never include net-snmp/agent/agent_module_config.h

7 years agoconfigure.ac: fix style for snmpagent plugin
Ruben Kerkhof [Sat, 27 May 2017 10:24:40 +0000 (12:24 +0200)]
configure.ac: fix style for snmpagent plugin

7 years agoconfigure.ac: fix overquoting
Ruben Kerkhof [Sat, 27 May 2017 10:07:30 +0000 (12:07 +0200)]
configure.ac: fix overquoting

7 years agointel_pmu: address PR comments
Pshyk, SerhiyX [Tue, 23 May 2017 11:57:42 +0000 (12:57 +0100)]
intel_pmu: address PR comments

Change-Id: I6ec3cb1602b96e76b75339a79e7768b39b2c323a
Signed-off-by: Serhiy Pshyk <serhiyx.pshyk@intel.com>
7 years agoapcups: Fix reconnect implementation
Pavel Rochnyack [Fri, 26 May 2017 06:46:09 +0000 (12:46 +0600)]
apcups: Fix reconnect implementation

Implementation was broken, it doesn't reconnects as planned.

7 years agoformat_graphite: Error if call to uc_get_rate fails to return a value.
Iain Buclaw [Fri, 19 May 2017 10:55:37 +0000 (12:55 +0200)]
format_graphite: Error if call to uc_get_rate fails to return a value.

This prevents a wrong value being sent to graphite for DERIVE types.

See #2209

Signed-off-by: Florian Forster <octo@collectd.org>
7 years agosnmp plugin: Avoid allocation of temporary buffers on the heap.
Florian Forster [Fri, 19 May 2017 13:10:46 +0000 (15:10 +0200)]
snmp plugin: Avoid allocation of temporary buffers on the heap.

7 years agosrc/daemon/utils_cache.c: Add debug message for lookup of missing metrics.
Florian Forster [Fri, 19 May 2017 06:39:45 +0000 (08:39 +0200)]
src/daemon/utils_cache.c: Add debug message for lookup of missing metrics.

Issue: #1234

7 years agosrc/daemon/utils_cache.c: Remove unnecessary cast.
Florian Forster [Fri, 19 May 2017 06:34:37 +0000 (08:34 +0200)]
src/daemon/utils_cache.c: Remove unnecessary cast.

(data_set_t).ds_num has been changed to be a size_t.

7 years agoMerge remote-tracking branch 'github/pr/2285'
Florian Forster [Fri, 19 May 2017 06:04:44 +0000 (08:04 +0200)]
Merge remote-tracking branch 'github/pr/2285'

7 years agoMerge pull request #2290 from BrandonArp/snmp_agent_rpm
Florian Forster [Fri, 19 May 2017 04:52:39 +0000 (06:52 +0200)]
Merge pull request #2290 from BrandonArp/snmp_agent_rpm

allow configuration of snmp_agent in rpm builds

7 years agoallow configuration of snmp_agent in rpm builds
Brandon Arp [Thu, 18 May 2017 21:38:33 +0000 (14:38 -0700)]
allow configuration of snmp_agent in rpm builds

7 years agoMerge pull request #2287 from BrandonArp/fix_am_1_11
Ruben Kerkhof [Thu, 18 May 2017 09:19:09 +0000 (11:19 +0200)]
Merge pull request #2287 from BrandonArp/fix_am_1_11

fix build on automake 1.11

7 years agocurl_json plugin: Work around a limitation in EPEL6's GCC.
Florian Forster [Wed, 17 May 2017 06:17:38 +0000 (08:17 +0200)]
curl_json plugin: Work around a limitation in EPEL6's GCC.

7 years agoMerge remote-tracking branch 'github/pr/2105'
Florian Forster [Thu, 18 May 2017 08:10:06 +0000 (10:10 +0200)]
Merge remote-tracking branch 'github/pr/2105'

7 years agoMerge remote-tracking branch 'github/pr/2190'
Florian Forster [Thu, 18 May 2017 08:07:03 +0000 (10:07 +0200)]
Merge remote-tracking branch 'github/pr/2190'

7 years agochrony plugin: Re-run clang-format.
Florian Forster [Thu, 18 May 2017 08:05:42 +0000 (10:05 +0200)]
chrony plugin: Re-run clang-format.

7 years agomemcached plugin: Expand "del" to "delete" for clarity.
Florian Forster [Thu, 18 May 2017 07:38:54 +0000 (09:38 +0200)]
memcached plugin: Expand "del" to "delete" for clarity.

7 years agomemcached plugin: Add delete_{hits,misses} metrics.
theairkit [Thu, 1 Dec 2016 14:22:45 +0000 (17:22 +0300)]
memcached plugin: Add delete_{hits,misses} metrics.

7 years agosrc/daemon/utils_cache.c: Read time *after* acquiring the lock.
Florian Forster [Thu, 18 May 2017 07:23:32 +0000 (09:23 +0200)]
src/daemon/utils_cache.c: Read time *after* acquiring the lock.

Fixes: #1193

7 years agofix build on automake 1.11
Brandon Arp [Wed, 17 May 2017 01:38:48 +0000 (18:38 -0700)]
fix build on automake 1.11

7 years agosnmp_agent plugin: Don't export the g_agent variable.
Florian Forster [Wed, 17 May 2017 09:31:25 +0000 (11:31 +0200)]
snmp_agent plugin: Don't export the g_agent variable.

7 years agosnmp_agent plugin: Remove parenthesis around return values.
Florian Forster [Wed, 17 May 2017 09:30:18 +0000 (11:30 +0200)]
snmp_agent plugin: Remove parenthesis around return values.

See also: #2277

7 years agosnmp_agent plugin: Format with clang-format.
Florian Forster [Wed, 17 May 2017 09:28:27 +0000 (11:28 +0200)]
snmp_agent plugin: Format with clang-format.

7 years agoMerge remote-tracking branch 'github/pr/2277'
Florian Forster [Wed, 17 May 2017 06:40:59 +0000 (08:40 +0200)]
Merge remote-tracking branch 'github/pr/2277'

7 years agoamqp plugin: Enable the "ExchangeType" for publishers, too.
Florian Forster [Wed, 17 May 2017 06:01:29 +0000 (08:01 +0200)]
amqp plugin: Enable the "ExchangeType" for publishers, too.

Fixes: #2286

7 years agocurl_json plugin: Refactor the way trees/keys are stored.
Florian Forster [Tue, 16 May 2017 20:44:26 +0000 (22:44 +0200)]
curl_json plugin: Refactor the way trees/keys are stored.

Previously, keys had a "magic" as their first member which was used to
differentiate between the two types when they were returned from the
binary search tree.

This patch creates a new struct, cj_tree_entry_t, which includes an enum
identifying which union member is valid.

7 years agocurl_json plugin: Expand unit tests.
Florian Forster [Tue, 16 May 2017 15:01:49 +0000 (17:01 +0200)]
curl_json plugin: Expand unit tests.

This adds various tests involving arrays.

Issue: #2266

7 years agoMerge branch 'collectd-5.7'
Florian Forster [Tue, 16 May 2017 17:36:27 +0000 (19:36 +0200)]
Merge branch 'collectd-5.7'

7 years agoMerge branch 'collectd-5.6' into collectd-5.7
Florian Forster [Tue, 16 May 2017 17:34:25 +0000 (19:34 +0200)]
Merge branch 'collectd-5.6' into collectd-5.7

7 years agocurl_json plugin: Fix array index and key handling.
Florian Forster [Mon, 15 May 2017 12:40:26 +0000 (14:40 +0200)]
curl_json plugin: Fix array index and key handling.

Previously, the "key" was loaded by calling cj_cb_map_key() from
cj_cb_inc_array_index(). That means that the key for the previous element
was loaded as the array index was updated for the next element, resulting
in an off-by-one error. Also the key was not unset in time, resulting in
two metrics with the same identifier being created.

This patch fixes this with the following changes:

*   cj_advance_array() (nee cj_cb_inc_array_index()) now loads the key for
    the new index position instead of the previous one.
*   The initial "0" key is loaded from cj_cb_start_array().
*   cj_advance_array() always updates the key. The "update_key" argument
    has been removed.
*   Refactoring: key loading has been moved out of cj_cb_map_key() and
    into its own function, cj_load_key().

Unit tests are in a separate commit for easier cherry-picking.

Fixes: #2266

7 years agoMerge pull request #2283 from octo/ff/valgrind
Florian Forster [Tue, 16 May 2017 12:15:07 +0000 (14:15 +0200)]
Merge pull request #2283 from octo/ff/valgrind

valgrind.FreeBSD.suppress: parse_value(): Always suppress the strlen(…