collectd.git
2 years agoFix compile time issues
Matthias Runge [Thu, 8 Aug 2019 09:58:55 +0000 (11:58 +0200)]
Fix compile time issues

This resolves #3242 and should also resolve #3179.

Signed-off-by: Matthias Runge <mrunge@redhat.com>
(cherry picked from commit 0bbf058d6f9935e6e727cda7db79312281e2f58d)

2 years agoDon't fail if syslog loglevel doesn't match
Fᴀʙɪᴇɴ Wᴇʀɴʟɪ [Tue, 30 Jul 2019 10:35:31 +0000 (12:35 +0200)]
Don't fail if syslog loglevel doesn't match

This makes the log message more consistent with the behaviour,
and also is consistent with pre-
3b9c7b21b4ddfcf59a0147bc9e91e8889ca78d56 behaviour

Change-Id: I0e8aa2f5c44cb5b4142001954f4544c4157125c9
Fixes: #3236
(cherry picked from commit b655234b2536533c7dd7a687b85f424c8ddfd5b1)

2 years agofix https://github.com/collectd/collectd/issues/3232
Fᴀʙɪᴇɴ Wᴇʀɴʟɪ [Mon, 29 Jul 2019 07:54:27 +0000 (09:54 +0200)]
fix https://github.com/collectd/collectd/issues/3232

Change-Id: Idab2c4ffa242a73b651f1b056f85f905e356c5ac
(cherry picked from commit d27bfc74e606290f191c04cdb4e2acc4d5e8d4a9)

3 years agoClang-format a few files to make CI happy
Matthias Runge [Fri, 19 Jul 2019 14:15:56 +0000 (16:15 +0200)]
Clang-format a few files to make CI happy

3 years agoAnother round of clang-format
Matthias Runge [Fri, 19 Jul 2019 13:04:32 +0000 (15:04 +0200)]
Another round of clang-format

related to backports/cherry-picks.

3 years agoRun all changed files 68 8.c/1*.h through format.sh web util
Zebity Spring [Thu, 16 May 2019 15:59:58 +0000 (01:59 +1000)]
Run all changed files 68 8.c/1*.h through format.sh web util

(cherry picked from commit 27ca3ca92a757b5c9bb3baa5a29ef352ec70b1c9)

3 years agoRun all changed files 68 8.c/1 *.h through clang-format agin..
Zebity Spring [Thu, 16 May 2019 14:26:35 +0000 (00:26 +1000)]
Run all changed files 68 8.c/1 *.h through clang-format agin..

(cherry picked from commit 626d3ab4309cdb069289354c45ca9e2ba9bc9a2f)

3 years agoRun all changed files 68 8.c/1*.h through clang-format
Zebity Spring [Thu, 16 May 2019 13:56:25 +0000 (23:56 +1000)]
Run all changed files 68 8.c/1*.h through clang-format

(cherry picked from commit eada465ff40eb2ecaef17490e5462dab3b8874fe)

3 years agoAdd snprintf wrapper for GCC 8.2/3
Zebity Spring [Mon, 13 May 2019 13:19:22 +0000 (23:19 +1000)]
Add snprintf wrapper for GCC 8.2/3

(cherry picked from commit abaa1c8a24e8eff5632dd6052b1da5f6535caf19)

3 years agodaemon: Recover setlocale() call in src/daemon/collectd.c do_init()
Pavel Rochnyack [Fri, 12 Jul 2019 12:35:23 +0000 (19:35 +0700)]
daemon: Recover setlocale() call in src/daemon/collectd.c do_init()

865f2eb31e8264edd9337bc63ac59f6c2fa3b5a7 breaks locale checks

Issue: #3181
(cherry picked from commit 38fac5d5579b952f9546623f39cdbcae89a6f090)

3 years agodisk.c: remove unused lines
Pavel Rochnyack [Fri, 12 Jul 2019 12:07:39 +0000 (19:07 +0700)]
disk.c: remove unused lines

limits.h check removed in 865f2eb31e8264edd9337bc63ac59f6c2fa3b5a7
limits.h included in src/daemon/collectd.h unconditionally

Issue: #3181
(cherry picked from commit d99416997de1c4d9e676960719327a52a364f605)

3 years agoMerge upstream, address conflict in src/utils/cmds/cmds_test.c
Zebity Spring [Fri, 12 Jul 2019 07:33:46 +0000 (17:33 +1000)]
Merge upstream, address conflict in src/utils/cmds/cmds_test.c

(cherry picked from commit a72ad42076337f3b85db3b06565ae86a83226ab3)

3 years agoMove Makefile rules for pid_test inside conditional for code
Dagobert Michelsen [Fri, 5 Jul 2019 09:16:25 +0000 (11:16 +0200)]
Move Makefile rules for pid_test inside conditional for code

(cherry picked from commit 45b8c056d89f4b029e6017035ce6a4a37a36d260)

3 years agoAdd missing definitions for libnetsnmpagent
Dagobert Michelsen [Tue, 2 Jul 2019 11:56:54 +0000 (13:56 +0200)]
Add missing definitions for libnetsnmpagent

(cherry picked from commit 3b05d9f7b7b46e0c4fee296ad2d6f16ecc82173e)

3 years agodns plugin: Do not use headers from glibc
Pavel Rochnyack [Wed, 15 May 2019 07:33:02 +0000 (14:33 +0700)]
dns plugin: Do not use headers from glibc

glibc has removed __NAMESER and __BIND symbols from their codebase.

There is no benefits of use defines from glibc, so replaced them by numbers.

Closes: #3145
(cherry picked from commit faa20ef796abc91656c5c583970db9a9f4daf911)

3 years agoFix return code introduced by #3182
Fᴀʙɪᴇɴ Wᴇʀɴʟɪ [Tue, 2 Jul 2019 09:05:02 +0000 (11:05 +0200)]
Fix return code introduced by #3182

Change-Id: I0972f74f3fff05cf29fa9b0be383f0b0df1e6d03
Fixes: #3200
(cherry picked from commit 835a58c09ff7afd44627915c9274b16c5df0fb50)

3 years agoUse pid_test only when compiling the plugin that uses it
Dagobert Michelsen [Mon, 1 Jul 2019 12:21:39 +0000 (14:21 +0200)]
Use pid_test only when compiling the plugin that uses it

(cherry picked from commit a7401cc81d05bf4f230aaf35e4109a23b60fc546)

3 years agoclang-format
Fᴀʙɪᴇɴ Wᴇʀɴʟɪ [Mon, 24 Jun 2019 08:37:40 +0000 (10:37 +0200)]
clang-format

(cherry picked from commit 4af2afc84a90fe37e4988fca08ea79a6343c6b94)

3 years agobetter user feedback
Fᴀʙɪᴇɴ Wᴇʀɴʟɪ [Fri, 28 Jun 2019 09:01:33 +0000 (11:01 +0200)]
better user feedback

Change-Id: Iae7c3208024372485fd0901898cbe2e178610082
(cherry picked from commit d75591c9762f93d8656846fd2796fdb775b1c69f)

3 years agoFix return value or loglevel for several plugins
Fᴀʙɪᴇɴ Wᴇʀɴʟɪ [Wed, 19 Jun 2019 08:32:11 +0000 (10:32 +0200)]
Fix return value or loglevel for several plugins

Some plugins' RC was != 0 and started to fail due to
stricter verification introduced by 3b9c7b2.
This commit fixes those return values.
For some plugins, fix verbosity of error message: non-zero rc
should be error, not warning.

Change-Id: I9a3f1f80e266858b6744fd9d9d99b352b8d94306

Change-Id: Ibf6ebc6cdc93c6e105d488e4a131dcb6e8eea19b

Change-Id: I35bac15fa0a89b068575739ac1cff0115c9d3a40

s

Change-Id: I992002c56763fbdea5347e5b6e176cc86f5a08ce
(cherry picked from commit a07f44c9cd5828a84545dcfe22544bfed2ea8812)

3 years agoUse GCC-specific flags only when compiling with GCC
Dagobert Michelsen [Fri, 28 Jun 2019 08:55:16 +0000 (10:55 +0200)]
Use GCC-specific flags only when compiling with GCC

(cherry picked from commit 9317d0734808f56a5d181ff2864332705fcb87e0)

3 years agoMake sure files in this changeset are formatted properly
Dagobert Michelsen [Thu, 27 Jun 2019 14:51:06 +0000 (16:51 +0200)]
Make sure files in this changeset are formatted properly

(cherry picked from commit 9315ccb08ebd29f0b79426853c2e7adf448c26e9)

3 years agoAdd standard include early or _FILE_OFFSET_BITS will have definition mismatches on...
Dagobert Michelsen [Thu, 27 Jun 2019 12:08:30 +0000 (14:08 +0200)]
Add standard include early or _FILE_OFFSET_BITS will have definition mismatches on Solaris

(cherry picked from commit 54d4f889eb72249824ef4ee6b155b0e0fb858be2)

3 years agobe more verbose when plugin config cb is failing
Fᴀʙɪᴇɴ Wᴇʀɴʟɪ [Wed, 19 Jun 2019 08:34:25 +0000 (10:34 +0200)]
be more verbose when plugin config cb is failing

3b9c7b2 introduced stricter RC check.
This commit provides user feedback when config callback is failing.

Change-Id: Ia9c13048e95559b5be84477fc1602ff418a1df37
(cherry picked from commit 42a30efe33c4d16276589e0dd1f9e135b38e054d)

3 years agoregex match: Fix unexpected match with empty meta data
Takuro Ashie [Tue, 18 Jun 2019 06:54:51 +0000 (15:54 +0900)]
regex match: Fix unexpected match with empty meta data

If a user set

  MetaData "foo" "bar"

and a metric does not have meta data (vl->meta == NULL), it causes
unexpected match.

Existance of MetaData config should be checked before meta data in
a metric.

See also: #1930

Signed-off-by: Takuro Ashie <ashie@clear-code.com>
(cherry picked from commit d4f53887527777296b0982af60f4c0fecdb2f0d9)

3 years agofix comment
Fᴀʙɪᴇɴ Wᴇʀɴʟɪ [Mon, 17 Jun 2019 11:26:11 +0000 (13:26 +0200)]
fix comment

Change-Id: I655dd0b3cb82053f7cc50dec149d4f7cc25ee18b
(cherry picked from commit 2d485cf961eb65d4a55c5c64aa40fdbcca8f41f1)

3 years agofix deps
Fᴀʙɪᴇɴ Wᴇʀɴʟɪ [Mon, 17 Jun 2019 11:06:45 +0000 (13:06 +0200)]
fix deps

Change-Id: I8199655fcd22082a2f3cfb0e5ab7db289df1a5e7
(cherry picked from commit 9e5b363dda7306b628c1bf91c349ed51f11dbae6)

3 years agoNew upstream plugins
Fᴀʙɪᴇɴ Wᴇʀɴʟɪ [Mon, 17 Jun 2019 07:14:13 +0000 (09:14 +0200)]
New upstream plugins

* nvidia_gpu
* write_stackdriver
* pcie_errors

The first 2 are disabled, as I don't know what lib they require
(configure fails)

Change-Id: I56456b418edd3defb3c5620a5ad58f527951309c
(cherry picked from commit 09abfaaeb71957c6039387ad3f5d82803c14ddda)

3 years agoChangeLog: s/Foster/Forster/
Florian Forster [Thu, 13 Jun 2019 10:20:20 +0000 (12:20 +0200)]
ChangeLog: s/Foster/Forster/

3 years agoBump version to 5.9.0; Update ChangeLog.
Florian Forster [Thu, 13 Jun 2019 09:32:39 +0000 (11:32 +0200)]
Bump version to 5.9.0; Update ChangeLog.

3 years agoMerge pull request #3170 from stratakis/py38
Pavel Rochnyak [Fri, 7 Jun 2019 15:56:21 +0000 (22:56 +0700)]
Merge pull request #3170 from stratakis/py38

Add Python 3.8 compatibility

3 years agoAdd Python 3.8 compatibility
Charalampos Stratakis [Fri, 7 Jun 2019 14:43:56 +0000 (16:43 +0200)]
Add Python 3.8 compatibility

From Python 3.8 and onwards C extensions are no longer
linked to libpython so in order to embed python within
an application the --embed flag needs to be added to
python3-config --libs. A fall back is provided as the
command will error out on previous python versions.

References: https://bugs.python.org/issue36721

3 years agoMerge pull request #3167 from ashie/remove-needless-tab
Pavel Rochnyak [Tue, 4 Jun 2019 03:23:49 +0000 (10:23 +0700)]
Merge pull request #3167 from ashie/remove-needless-tab

Makefile.am: Remove a needless tab

3 years agoMakefile.am: Remove a needless tab
Takuro Ashie [Tue, 4 Jun 2019 00:43:31 +0000 (09:43 +0900)]
Makefile.am: Remove a needless tab

3 years agoMerge pull request #3163 from rpv-tomsk/virt-1
Matthias Runge [Mon, 3 Jun 2019 08:17:20 +0000 (10:17 +0200)]
Merge pull request #3163 from rpv-tomsk/virt-1

virt plugin: improvements

3 years agovirt plugin: Use virGetLastError() instead of virConnGetLastError()
Pavel Rochnyack [Wed, 29 May 2019 16:02:41 +0000 (23:02 +0700)]
virt plugin: Use virGetLastError() instead of virConnGetLastError()

libvirt documentation explicitly points us to use virGetLastError():

 In a multi-threaded application, always use the global
 virGetLastError() API which is backed by thread local storage.

3 years agovirt plugin: minor updates after review
Pavel Rochnyack [Wed, 29 May 2019 15:45:03 +0000 (22:45 +0700)]
virt plugin: minor updates after review

3 years agoMerge pull request #3158 from smortex/riemann-meta-data
Pavel Rochnyak [Tue, 28 May 2019 09:35:18 +0000 (16:35 +0700)]
Merge pull request #3158 from smortex/riemann-meta-data

Copy MetaData to Riemann events in write_riemann

3 years agovirt plugin: Added connection state check via virConnectIsAlive()
Pavel Rochnyack [Fri, 24 May 2019 10:56:27 +0000 (17:56 +0700)]
virt plugin: Added connection state check via virConnectIsAlive()

Before this fix, if libvirt daemon was stopped, Collectd starts to spam logs with lot of "failed" messages.

With this fix it correctly re-establishes connection.

3 years agovirt plugin: Added timeout to event_loop thread
Pavel Rochnyack [Fri, 24 May 2019 10:48:18 +0000 (17:48 +0700)]
virt plugin: Added timeout to event_loop thread

As per virEventRunDefaultImpl() documentation, this function will block
forever if there are no registered event handlers.

This leads to Collectd is unable to correctly stop event_loop thread
if libvirtd was restarted.

Added empty timeout callback to fix this.

3 years agovirt plugin: Disable ExtraStats selectors when unsupported by libvirt
Pavel Rochnyack [Thu, 23 May 2019 20:46:26 +0000 (03:46 +0700)]
virt plugin: Disable ExtraStats selectors when unsupported by libvirt

When function is not supported by driver, log filled by continuous messages like:

libvirt: Domain Config error : this function is not supported by the connection driver: virDomainGetDiskErrors

libvirt API allows us to detect such cases and disable unsupported calls.

3 years agovirt plugin: Fixed typos and inconsistencies
Pavel Rochnyack [Thu, 23 May 2019 19:42:52 +0000 (02:42 +0700)]
virt plugin: Fixed typos and inconsistencies

3 years agovirt plugin: Do not request cpu maps when not required
Pavel Rochnyack [Thu, 23 May 2019 21:16:47 +0000 (04:16 +0700)]
virt plugin: Do not request cpu maps when not required

3 years agovirt plugin: Added ExtraStats selector 'vcpu'
Pavel Rochnyack [Thu, 23 May 2019 21:10:12 +0000 (04:10 +0700)]
virt plugin: Added ExtraStats selector 'vcpu'

This allows to disable virDomainGetVcpus calls when hypervisor/driver
does not supports that function.

Closes: #2615

3 years agovirt plugin: Added ExtraStats selector 'memory'
Pavel Rochnyack [Thu, 23 May 2019 19:37:53 +0000 (02:37 +0700)]
virt plugin: Added ExtraStats selector 'memory'

This allows to disable virDomainMemoryStats calls when hypervisor/drivers
does not supports that function or it does not provide additional details.

3 years agoMerge pull request #3125 from skob/master
Pavel Rochnyak [Sun, 19 May 2019 11:31:45 +0000 (18:31 +0700)]
Merge pull request #3125 from skob/master

mysql: [impr] enable uptime metric

3 years agomysql: [impr] enable uptime metric
Pavel Rochnyack [Sun, 19 May 2019 11:19:48 +0000 (18:19 +0700)]
mysql: [impr] enable uptime metric

3 years agoCopy MetaData to Riemann events
Romain Tartière [Fri, 17 May 2019 18:43:25 +0000 (08:43 -1000)]
Copy MetaData to Riemann events

Make it possible to capture information using filters in collectd and
use this information in Riemann for deciding what to do with the event.

ChangeLog: write_riemann plugin: MetaData is copied to Riemann events

3 years agoMerge pull request #2986 from shastah/feature/curl-address-family
Pavel Rochnyak [Wed, 15 May 2019 03:28:20 +0000 (10:28 +0700)]
Merge pull request #2986 from shastah/feature/curl-address-family

curl plugin: add AddressFamily

3 years agocurl_xml plugin: add AddressFamily
Jakub Jankowski [Tue, 14 May 2019 00:16:35 +0000 (02:16 +0200)]
curl_xml plugin: add AddressFamily

In situations when hostnames in URLs resolve to both IPv4 and IPv6
addresses, sometimes it's useful to have separate statistics for both
of these separately.

With this commit, within <URL> block you can set
  AddressFamily "ipv6"
or
  AddressFamily "ipv4"
to specifically use one or the other.

Signed-off-by: Jakub Jankowski <shasta@toxcorp.com>
3 years agocurl_json plugin: add AddressFamily
Jakub Jankowski [Tue, 14 May 2019 00:00:18 +0000 (02:00 +0200)]
curl_json plugin: add AddressFamily

In situations when hostnames in URLs resolve to both IPv4 and IPv6
addresses, sometimes it's useful to have separate statistics for both
of these separately.

With this commit, within <URL> block you can set
  AddressFamily "ipv6"
or
  AddressFamily "ipv4"
to specifically use one or the other.

Signed-off-by: Jakub Jankowski <shasta@toxcorp.com>
3 years agoMerge pull request #3152 from rpv-tomsk/libvirt-memory-report
Ruben Kerkhof [Mon, 13 May 2019 12:47:36 +0000 (14:47 +0200)]
Merge pull request #3152 from rpv-tomsk/libvirt-memory-report

virt plugin: Fix typo after #3151

3 years agoMerge pull request #3148 from rpv-tomsk/libvirt-1
Pavel Rochnyak [Mon, 13 May 2019 12:33:44 +0000 (19:33 +0700)]
Merge pull request #3148 from rpv-tomsk/libvirt-1

virt plugin: Updates regarding to 'domain_state' metric

3 years agoMerge pull request #3151 from rpv-tomsk/libvirt-memory-report
Ruben Kerkhof [Mon, 13 May 2019 11:42:44 +0000 (13:42 +0200)]
Merge pull request #3151 from rpv-tomsk/libvirt-memory-report

Libvirt plugin: split memory report into dedicated types

3 years agoMerge pull request #3150 from rpv-tomsk/libvirt-3
Ruben Kerkhof [Mon, 13 May 2019 11:41:33 +0000 (13:41 +0200)]
Merge pull request #3150 from rpv-tomsk/libvirt-3

virt plugin: Added new code of virDomainShutoffReason enum and domain events

3 years agoMerge pull request #3149 from rpv-tomsk/libvirt-2
Ruben Kerkhof [Mon, 13 May 2019 11:40:19 +0000 (13:40 +0200)]
Merge pull request #3149 from rpv-tomsk/libvirt-2

virt plugin: Do not fail if no connection on init()

3 years agoMerge pull request #3147 from rpv-tomsk/libvirt
Ruben Kerkhof [Mon, 13 May 2019 11:38:38 +0000 (13:38 +0200)]
Merge pull request #3147 from rpv-tomsk/libvirt

virt plugin: Support new metric from libvirt-5.0.0 virDomainMemoryStats()

3 years agovirt plugin: Fix typo
Pavel Rochnyack [Mon, 13 May 2019 09:07:56 +0000 (16:07 +0700)]
virt plugin: Fix typo

3 years agovirt plugin: clang-format
Pavel Rochnyack [Mon, 13 May 2019 09:04:46 +0000 (16:04 +0700)]
virt plugin: clang-format

3 years agovirt plugin: Added support for new shutdown event details
Pavel Rochnyack [Mon, 13 May 2019 08:13:50 +0000 (15:13 +0700)]
virt plugin: Added support for new shutdown event details

3 years agovirt plugin: Check for virt_notif_thread_init() success
Pavel Rochnyack [Mon, 13 May 2019 07:31:39 +0000 (14:31 +0700)]
virt plugin: Check for virt_notif_thread_init() success

3 years agovirt plugin: Added debug message
Pavel Rochnyack [Mon, 13 May 2019 07:26:22 +0000 (14:26 +0700)]
virt plugin: Added debug message

3 years agovirt plugin: do not report empty metrics
Pavel Rochnyack [Sun, 12 May 2019 19:59:23 +0000 (02:59 +0700)]
virt plugin: do not report empty metrics

3 years agovirt plugin: Split domain memory reporting to appropriate types
Pavel Rochnyack [Sun, 12 May 2019 19:11:47 +0000 (02:11 +0700)]
virt plugin: Split domain memory reporting to appropriate types

3 years agovirt plugin: Skip 'last_update' reporting as that is not memory but timestamp
Pavel Rochnyack [Sun, 12 May 2019 13:07:56 +0000 (20:07 +0700)]
virt plugin: Skip 'last_update' reporting as that is not memory but timestamp

3 years agovirt plugin: Added new code of virDomainShutoffReason enum
Pavel Rochnyack [Sun, 12 May 2019 18:43:57 +0000 (01:43 +0700)]
virt plugin: Added new code of virDomainShutoffReason enum

3 years agovirt plugin: Fixed virt_notif_thread_init() place
Pavel Rochnyack [Sun, 12 May 2019 12:26:38 +0000 (19:26 +0700)]
virt plugin: Fixed virt_notif_thread_init() place

3 years agovirt plugin: Do not fail if no connection on init()
Pavel Rochnyack [Sun, 12 May 2019 10:19:22 +0000 (17:19 +0700)]
virt plugin: Do not fail if no connection on init()

If Collectd started before libvirtd, that results as no connection and no more retries.
lv_init()/lv_connect() reworked to avoid this.

Reference: b2541eb463165a5973fedb5d51eab8288fcd7ebc
Reference: 5903e6d5414b1a9580a63c29afff1788cec6c91e

3 years agovirt plugin: Do not report 'domain_state' metric when not enabled by ExtraStats
Pavel Rochnyack [Sun, 12 May 2019 08:53:08 +0000 (15:53 +0700)]
virt plugin: Do not report 'domain_state' metric when not enabled by ExtraStats

PR #2701 adds 'domain_state' metric and ExtraStats's option `domain_state`
selector behaviour was changed: now it enables metric, not notification.
Removed inconsistency between documentation and implementation.

Not all `get_domain_state` calls was covered by selector check.
As result, metric was always sent for inactive domains.
That is fixed now.

3 years agovirt plugin: Renamed get_domain_state() to submit_domain_state()
Pavel Rochnyack [Sun, 12 May 2019 07:12:09 +0000 (14:12 +0700)]
virt plugin: Renamed get_domain_state() to submit_domain_state()

That function does not gets something to internal structures, but submits metric.

3 years agovirt plugin: Cleanup excessive check
Pavel Rochnyack [Sun, 12 May 2019 06:56:05 +0000 (13:56 +0700)]
virt plugin: Cleanup excessive check

That is already covered by check at upper level:

if (inst->id == 0 && persistent_notification)
  persistent_domains_state_notification();

3 years agovirt plugin: Support new metric from libvirt-5.0.0 virDomainMemoryStats()
Pavel Rochnyack [Sun, 12 May 2019 06:11:41 +0000 (13:11 +0700)]
virt plugin: Support new metric from libvirt-5.0.0 virDomainMemoryStats()

Closes: #3143

3 years agoMerge pull request #3019 from sradco/master
Ruben Kerkhof [Tue, 7 May 2019 08:04:33 +0000 (10:04 +0200)]
Merge pull request #3019 from sradco/master

Add write_syslog output plugin

3 years agoMerge pull request #3144 from rpv-tomsk/lua
Ruben Kerkhof [Thu, 2 May 2019 09:28:44 +0000 (11:28 +0200)]
Merge pull request #3144 from rpv-tomsk/lua

lua plugin: Make it possible to register more than one reader/writer; bugfixes; cleanup.

3 years agolua plugin: Make it possible to register more than one reader/writer.
Pavel Rochnyack [Wed, 1 May 2019 17:21:02 +0000 (00:21 +0700)]
lua plugin: Make it possible to register more than one reader/writer.

lua_tostring(), used to identify readers/writers, doesn't work
on functions (it returns NULL). So, callback name is not unique and
its registration fail.

Added code to store script path and callback index in LUA Registry and
to build callback name based on them.

Added possibility to pass LUA callback as global-scope function name.
In this case callback name is built using function name, not callback
index.

Closes: #2379
Closes: #3139

3 years agolua plugin: remove line feed in error message
Pavel Rochnyack [Wed, 1 May 2019 13:27:01 +0000 (20:27 +0700)]
lua plugin: remove line feed in error message

3 years agolua plugin: Don't destroy interpreter early
Pavel Rochnyack [Wed, 1 May 2019 12:50:21 +0000 (19:50 +0700)]
lua plugin: Don't destroy interpreter early

If script successfully registered at least one callback,
destroying interpreter will cause Collectd crash when
that callback will be called.

Unfortunately, there is no way to unregister these callbacks

3 years agolua plugin: free mutex on callback destroy
Pavel Rochnyack [Wed, 1 May 2019 12:32:14 +0000 (19:32 +0700)]
lua plugin: free mutex on callback destroy

3 years agolua plugin: don't elements from stack in `clua_store_thread`.
Pavel Rochnyack [Wed, 1 May 2019 09:10:35 +0000 (16:10 +0700)]
lua plugin: don't elements from stack in `clua_store_thread`.

Debug, before:

lua plugin: nargs after store_callback: 1
lua plugin: nargs after lua_newthread: 2
lua plugin: nargs after store_thread: 0

After:

lua plugin: nargs after store_callback: 1
lua plugin: nargs after lua_newthread: 2
lua plugin: nargs after store_thread: 1

So, stack is in expected state.

3 years agolua: cleanup
Pavel Rochnyack [Wed, 1 May 2019 07:32:52 +0000 (14:32 +0700)]
lua: cleanup

3 years agoMerge pull request #3001 from usev6/write_graphite_reverse_host
Pavel Rochnyak [Tue, 30 Apr 2019 07:54:53 +0000 (14:54 +0700)]
Merge pull request #3001 from usev6/write_graphite_reverse_host

write_graphite plugin: Add option to reverse host

3 years agoDeclare var inside loop (code review change)
usev6 [Tue, 30 Apr 2019 05:39:23 +0000 (07:39 +0200)]
Declare var inside loop (code review change)

3 years agoMerge pull request #3141 from ometol/master
Pavel Rochnyak [Mon, 29 Apr 2019 18:59:42 +0000 (01:59 +0700)]
Merge pull request #3141 from ometol/master

cpufreq plugin: Add FreeBSD support

3 years agoApply suggestions from code review
usev6 [Mon, 29 Apr 2019 18:28:34 +0000 (20:28 +0200)]
Apply suggestions from code review

* Use constant DATA_MAX_NAME_LEN instead of re-calculating array size
* Declare and initialize second loop var in for statement

3 years agoUpdate to resolve conflicts due to renamed files
usev6 [Mon, 29 Apr 2019 18:03:14 +0000 (20:03 +0200)]
Update to resolve conflicts due to renamed files

Merge branch 'master' into write_graphite_reverse_host

3 years agoChanges after applying contrib/format.sh
Marco van Tol [Tue, 23 Apr 2019 21:27:57 +0000 (23:27 +0200)]
Changes after applying contrib/format.sh

3 years agoAdd documentation for the FreeBSD bit for cpufreq
Marco van Tol [Tue, 23 Apr 2019 21:18:19 +0000 (23:18 +0200)]
Add documentation for the FreeBSD bit for cpufreq

3 years agoFix warnings when we're unable to poll
Marco van Tol [Tue, 23 Apr 2019 17:46:51 +0000 (19:46 +0200)]
Fix warnings when we're unable to poll

3 years agoAdd FreeBSD support for cpufreq
Marco van Tol [Tue, 23 Apr 2019 15:45:54 +0000 (17:45 +0200)]
Add FreeBSD support for cpufreq

3 years agoMerge pull request #3137 from dangowrt/master
Pavel Rochnyak [Sat, 13 Apr 2019 03:57:28 +0000 (10:57 +0700)]
Merge pull request #3137 from dangowrt/master

Add support for RS485 to modbus plugin

3 years agoAdd support for RS485 to modbus plugin
Daniel Golle [Thu, 28 Mar 2019 00:52:04 +0000 (01:52 +0100)]
Add support for RS485 to modbus plugin

Allow setting up RS485 mode for Modbus-RTU

3 years agoMerge pull request #3136 from mrunge/systemd_service
Ruben Kerkhof [Wed, 10 Apr 2019 09:09:25 +0000 (11:09 +0200)]
Merge pull request #3136 from mrunge/systemd_service

Remove ProtectSystem from service file

3 years agoRemove ProtectSystem from service file
Matthias Runge [Fri, 5 Apr 2019 13:19:19 +0000 (15:19 +0200)]
Remove ProtectSystem from service file

This prevents showing eg. /etc if that's a separate file system.

Resolves: https://github.com/collectd/collectd/issues/3134

3 years agoMerge pull request #2891 from elfiesmelfie/feat_intel_rdt
Matthias Runge [Thu, 4 Apr 2019 05:58:51 +0000 (07:58 +0200)]
Merge pull request #2891 from elfiesmelfie/feat_intel_rdt

Intel RDT plugin: add support for groups of PIDs.

3 years agoMerge pull request #3117 from elfiesmelfie/virt_fix_option_parsing
Matthias Runge [Thu, 4 Apr 2019 05:57:42 +0000 (07:57 +0200)]
Merge pull request #3117 from elfiesmelfie/virt_fix_option_parsing

virt: Fix parsing config file options

3 years agoMerge pull request #3116 from rpv-tomsk/collectd-master
Matthias Runge [Thu, 4 Apr 2019 05:46:52 +0000 (07:46 +0200)]
Merge pull request #3116 from rpv-tomsk/collectd-master

virt plugin: Fix segfaults on shutdown

3 years agovirt: Add NULL checking to multiple config strings validation
Antoine Naud [Thu, 28 Mar 2019 13:25:23 +0000 (13:25 +0000)]
virt: Add NULL checking to multiple config strings validation

Remove ERROR messages as requested by reviewer and one unnecessary condition in
if statement.

Change-Id: I2fc01f16789f7720b09d923c72339d7123d3863a
Signed-off-by: Antoine Naud <antoinex.naud@intel.com>
3 years agointel_rdt: multiple options are explicitly denied
Kamil Wiatrowski [Fri, 22 Mar 2019 13:49:57 +0000 (14:49 +0100)]
intel_rdt: multiple options are explicitly denied

Add a check to avoid placing multiple Cores or Processes options in
intel_rdt configuration in order to avoid misuse and errors.

Change-Id: I82504a650bf9c568862da9f129a84a3079990496
Signed-off-by: Kamil Wiatrowski <kamilx.wiatrowski@intel.com>
3 years agovirt: Add NULL checking to multiple config strings validation
Radoslaw Jablonski [Fri, 15 Mar 2019 06:42:55 +0000 (06:42 +0000)]
virt: Add NULL checking to multiple config strings validation

Change-Id: Ic1595a9438f5af6872dc030db949223477b3f238
Signed-off-by: Radoslaw Jablonski <radoslawx.jablonski@intel.com>
3 years agocollect.conf.pod: Add more info about virt filtering options
Radoslaw Jablonski [Mon, 4 Feb 2019 13:35:35 +0000 (13:35 +0000)]
collect.conf.pod: Add more info about virt filtering options

Added more info and examples regarding virt filtering options:
-filtering by domain name
-filtering block devices
-filtering network interfaces

Change-Id: I5cfe41658f62f429b799aa93a3d0f96f7cf8b780
Signed-off-by: Radoslaw Jablonski <radoslawx.jablonski@intel.com>