Code

collectd.git
10 years agoFix for "conflicting types for 'ldap_init'"
Nicholas Humfrey [Wed, 19 Nov 2014 09:23:34 +0000 (09:23 +0000)]
Fix for "conflicting types for 'ldap_init'"
Prefixed all the collectd specific functions and datatypes with the letter 'c'

10 years agoMerge pull request #811 from mfournier/systemd-upstart-build-issue
Marc Fournier [Tue, 18 Nov 2014 09:34:55 +0000 (10:34 +0100)]
Merge pull request #811 from mfournier/systemd-upstart-build-issue

prevent going through systemd/upstart code, except on Linux

10 years agoMerge pull request #810 from njh/mac_battery_read_return
Marc Fournier [Tue, 18 Nov 2014 09:17:23 +0000 (10:17 +0100)]
Merge pull request #810 from njh/mac_battery_read_return

Added return (0) to the Mac/IOKit variant of battery_read()

10 years agoprevent going through systemd/upstart code, except on Linux
Marc Fournier [Tue, 18 Nov 2014 08:21:42 +0000 (09:21 +0100)]
prevent going through systemd/upstart code, except on Linux

Fixes #809 (build issue on MacOSX)

NB: in case one day upstart is used on non-Linux platforms, this could
be relaxed to only skip systemd.

10 years agoAdded return(0) to the Mac/IOKit variant of battery_read()
Nicholas Humfrey [Mon, 17 Nov 2014 23:16:05 +0000 (23:16 +0000)]
Added return(0) to the Mac/IOKit variant of battery_read()

10 years agoMerge pull request #806 from vincentbernat/fix/libstatgrab2
Pierre-Yves Ritschard [Mon, 17 Nov 2014 12:57:40 +0000 (13:57 +0100)]
Merge pull request #806 from vincentbernat/fix/libstatgrab2

libstatgrab: only use one configure test for 0.90 API change

10 years agoMerge pull request #808 from landryb/openbsd_build_fixes_2
Pierre-Yves Ritschard [Mon, 17 Nov 2014 12:54:35 +0000 (13:54 +0100)]
Merge pull request #808 from landryb/openbsd_build_fixes_2

Openbsd build fixes 2

10 years agoDetect sys/vmmeter.h and include it if available.
Landry Breuil [Mon, 17 Nov 2014 10:39:11 +0000 (11:39 +0100)]
Detect sys/vmmeter.h and include it if available.

Needed on OpenBSD for struct vmtotal definition.

10 years agoFix wrong #ifdef introduced in df46cd01
Landry Breuil [Mon, 17 Nov 2014 10:38:40 +0000 (11:38 +0100)]
Fix wrong #ifdef introduced in df46cd01

10 years agolibstatgrab: only use one configure test for 0.90 API change
Vincent Bernat [Mon, 17 Nov 2014 09:35:16 +0000 (10:35 +0100)]
libstatgrab: only use one configure test for 0.90 API change

Previously, each API change was tested in configure.ac. Some of the
tests are relying on signature checks and would need to have -Werror
flag enabled to make them work. This is quite fragile.

Instead, we assume that if `sg_init()` requires an argument, we must use
the 0.90 API.

Fixes: #795
10 years agoRPM specfile: add support for smart & openldap plugins
Marc Fournier [Mon, 17 Nov 2014 09:14:57 +0000 (10:14 +0100)]
RPM specfile: add support for smart & openldap plugins

10 years agoadd credits for new plugins
Marc Fournier [Mon, 17 Nov 2014 08:47:33 +0000 (09:47 +0100)]
add credits for new plugins

10 years agosmart: mention support lib in README
Marc Fournier [Mon, 17 Nov 2014 08:47:04 +0000 (09:47 +0100)]
smart: mention support lib in README

10 years agoadapt contrib script
Pierre-Yves Ritschard [Sat, 15 Nov 2014 09:47:05 +0000 (10:47 +0100)]
adapt contrib script

10 years agoMerge pull request #719 from mfournier/openldap-improvements-rebased
Pierre-Yves Ritschard [Sat, 15 Nov 2014 09:52:47 +0000 (10:52 +0100)]
Merge pull request #719 from mfournier/openldap-improvements-rebased

Openldap plugin

10 years agoMerge pull request #795 from vincentbernat/fix/libstatgrab
Pierre-Yves Ritschard [Sat, 15 Nov 2014 09:51:49 +0000 (10:51 +0100)]
Merge pull request #795 from vincentbernat/fix/libstatgrab

libstatgrab: fix sg_init() invocation for libstatgrab >= 0.9

10 years agoMerge pull request #797 from vincentbernat/feature/libatasmart
Pierre-Yves Ritschard [Sat, 15 Nov 2014 09:49:32 +0000 (10:49 +0100)]
Merge pull request #797 from vincentbernat/feature/libatasmart

smart: add a SMART plugin

10 years agoMerge pull request #800 from pyr/feature/riemann-batch
Pierre-Yves Ritschard [Sat, 15 Nov 2014 09:49:17 +0000 (10:49 +0100)]
Merge pull request #800 from pyr/feature/riemann-batch

Add a batching mechanism for riemann TCP writes

10 years agoMerge pull request #798 from pyr/feature/upstart-job
Pierre-Yves Ritschard [Sat, 15 Nov 2014 09:47:49 +0000 (10:47 +0100)]
Merge pull request #798 from pyr/feature/upstart-job

Support both systemd and upstart.

10 years agolibstatgrab: fix sg_get_disk_io_stats() invocation for libstatgrab >= 0.9
Vincent Bernat [Thu, 13 Nov 2014 16:57:46 +0000 (17:57 +0100)]
libstatgrab: fix sg_get_disk_io_stats() invocation for libstatgrab >= 0.9

In those versions, `sg_get_disk_io_stats()` need to be invoked a pointer
to size_t instead of pointer to int. Such a requirement is detected at
configure-time.

Fixes: #445
10 years agoopenldap: add mention in README
Marc Fournier [Wed, 12 Nov 2014 17:05:33 +0000 (18:05 +0100)]
openldap: add mention in README

10 years agoopenldap: relicence to MIT
Marc Fournier [Wed, 12 Nov 2014 16:55:26 +0000 (17:55 +0100)]
openldap: relicence to MIT

... with Kimo's agreement. Also add myself to copyright holders.

10 years agosmart: when threshold is valid, also test for "less or equal"
Vincent Bernat [Wed, 12 Nov 2014 14:39:42 +0000 (15:39 +0100)]
smart: when threshold is valid, also test for "less or equal"

When the threshold is 0, a value of 0 should hit the threshold.

10 years agolibstatgrab: fix sg_get_user_stats() invocation for libstatgrab >= 0.9
Vincent Bernat [Wed, 12 Nov 2014 12:19:05 +0000 (13:19 +0100)]
libstatgrab: fix sg_get_user_stats() invocation for libstatgrab >= 0.9

In those versions, `sg_get_user_stats()` need to be invoked with an
additional argument. The need for such an argument is detected at
configure-time.

Fixes: #445
10 years agolibstatgrab: fix sg_init() invocation for libstatgrab >= 0.9
Vincent Bernat [Fri, 7 Nov 2014 22:46:45 +0000 (23:46 +0100)]
libstatgrab: fix sg_init() invocation for libstatgrab >= 0.9

In those versions, `sg_init()` need to be invoked with an additional
argument. The need for such an argument is detected at configure-time.

Fixes: #445
10 years agoMerge pull request #803 from bnordbo/aggregation-libm
Pierre-Yves Ritschard [Wed, 12 Nov 2014 11:35:00 +0000 (12:35 +0100)]
Merge pull request #803 from bnordbo/aggregation-libm

Link aggregation.so to libm.so

10 years agoLink aggregation.so to libm.so
Bjørn Nordbø [Wed, 12 Nov 2014 11:27:43 +0000 (12:27 +0100)]
Link aggregation.so to libm.so

10 years agoAdd a batching mechanism for riemann TCP writes
Pierre-Yves Ritschard [Tue, 11 Nov 2014 15:09:48 +0000 (16:09 +0100)]
Add a batching mechanism for riemann TCP writes

This does not batch notifications.

10 years agoMerge pull request #793 from vincentbernat/fix/gcrypt-deprecated
Pierre-Yves Ritschard [Tue, 11 Nov 2014 11:13:30 +0000 (12:13 +0100)]
Merge pull request #793 from vincentbernat/fix/gcrypt-deprecated

network: don't enable gcrypt thread callbacks when gcrypt recent enough

10 years agoMerge pull request #792 from vincentbernat/fix/out-of-tree-build
Pierre-Yves Ritschard [Tue, 11 Nov 2014 10:27:35 +0000 (11:27 +0100)]
Merge pull request #792 from vincentbernat/fix/out-of-tree-build

build: fix out-of-tree build

10 years agoSupport both systemd and upstart.
Pierre-Yves Ritschard [Fri, 7 Nov 2014 12:56:21 +0000 (13:56 +0100)]
Support both systemd and upstart.

This checks appropriate environment variables. When supervised
by either upstart or systemd, collectd will not daemonize but
will signal readyness with the appropriate method.

This allows collectd to be either configured with `expect stop`
in upstart or `Type=notify` with systemd.

The rationale for this is detailed here: http://spootnik.org/entries/2014/11/09_pid-tracking-in-modern-init-systems.html

10 years agosmart: add notifications when a value is below the threshold
Vincent Bernat [Mon, 10 Nov 2014 10:36:58 +0000 (11:36 +0100)]
smart: add notifications when a value is below the threshold

10 years agosmart: add a SMART plugin
Vincent Bernat [Fri, 7 Nov 2014 14:13:27 +0000 (15:13 +0100)]
smart: add a SMART plugin

This plugin uses libatasmart:
 http://0pointer.de/blog/projects/being-smart.html

As libatasmart is Linux-only, the plugin is therefore Linux-only
too. The disks are discovered through libudev.

Each SMART attribute is extracted. The current value, worst value,
threshold value (if any) are recorded. Those are normalized
values (between 0 and 255, higher is better). For some values, it makes
more sense to record the raw value. libatasmart is converting this raw
value to something sensible. We record that form. Sometimes, this is
just the raw value but sometimes this is converted to another scale (for
example, the temperature). People should know what each attribute means
before using those values. Otherwise, the normalized values are better.

Four values are (power-on time, power cycle count, bad sectors and
temperature) are also recorded on their own. Those are usually the
values that the user care about the most.

Here is an excerpt of the plugin output with the CSV plugin (the SSD
disk on my laptop doesn't provide a temperature sensor):

    .
    └── zoro.exoscale.ch
        └── smart-sda
            ├── smart_attribute-attribute-173-2014-11-10
            ├── smart_attribute-attribute-174-2014-11-10
            ├── smart_attribute-available-reserved-space-2014-11-10
            ├── smart_attribute-end-to-end-error-2014-11-10
            ├── smart_attribute-erase-fail-count-2014-11-10
            ├── smart_attribute-power-cycle-count-2014-11-10
            ├── smart_attribute-power-on-hours-2014-11-10
            ├── smart_attribute-power-on-seconds-2-2014-11-10
            ├── smart_attribute-program-fail-count-2014-11-10
            ├── smart_attribute-reallocated-sector-count-2014-11-10
            ├── smart_attribute-reported-uncorrect-2014-11-10
            ├── smart_attribute-total-lbas-read-2014-11-10
            ├── smart_attribute-total-lbas-written-2014-11-10
            ├── smart_attribute-udma-crc-error-count-2014-11-10
            ├── smart_attribute-unused-reserved-blocks-2014-11-10
            ├── smart_attribute-used-reserved-blocks-chip-2014-11-10
            ├── smart_badsectors-2014-11-10
            ├── smart_powercycles-2014-11-10
            └── smart_poweron-2014-11-10

    $ cat zoro.exoscale.ch/smart-sda/smart_attribute-total-lbas-read-2014-11-10
    epoch,current,worst,threshold,pretty
    1415613266.376,100.000000,100.000000,0.000000,281018.000000
    1415613276.395,100.000000,100.000000,0.000000,281018.000000
    1415613286.384,100.000000,100.000000,0.000000,281051.000000
    1415613296.383,100.000000,100.000000,0.000000,281051.000000

10 years agoignore new dirs
Pierre-Yves Ritschard [Fri, 7 Nov 2014 16:37:09 +0000 (17:37 +0100)]
ignore new dirs

10 years agoDefine _DEFAULT_SOURCE in addition to _BSD_SOURCE
Pierre-Yves Ritschard [Fri, 7 Nov 2014 16:34:32 +0000 (17:34 +0100)]
Define _DEFAULT_SOURCE in addition to _BSD_SOURCE

This enables forward compatibility with the ongoing
deprecation of _BSD_SOURCE.

10 years agoMerge pull request #794 from vincentbernat/fix/kafka-warning
Pierre-Yves Ritschard [Fri, 7 Nov 2014 15:27:08 +0000 (16:27 +0100)]
Merge pull request #794 from vincentbernat/fix/kafka-warning

kafka: fix compilation for older versions of librdkafka

10 years agokafka: fix compilation for older versions of librdkafka
Vincent Bernat [Fri, 7 Nov 2014 14:51:58 +0000 (15:51 +0100)]
kafka: fix compilation for older versions of librdkafka

Since commit f505691270f2317291c372fd5f004a4ffbce9f9a, kafka module was
broken. Enable definition of `kafka_log()` when using kafka logger
callback as well.

10 years agonetwork: don't enable gcrypt thread callbacks when gcrypt recent enough
Vincent Bernat [Fri, 7 Nov 2014 14:20:22 +0000 (15:20 +0100)]
network: don't enable gcrypt thread callbacks when gcrypt recent enough

From `gcrypt.h`:

> NOTE: Since Libgcrypt 1.6 the thread callbacks are not anymore used.
> However we keep it to allow for some source code compatibility if used
> in the standard way.

Otherwise, we get a deprecation warning which is turned into an error:

```
  CC       libcollectdclient_la-network_buffer.lo
../../../src/libcollectdclient/network_buffer.c:58:15: error: 'gcry_thread_cbs' is deprecated (declared at /usr/include/gcrypt.h:213) [-Werror=deprecated-declarations]
 GCRY_THREAD_OPTION_PTHREAD_IMPL;
```

Fixes: #632
10 years agobuild: fix out-of-tree build
Vincent Bernat [Fri, 7 Nov 2014 14:40:37 +0000 (15:40 +0100)]
build: fix out-of-tree build

When building collectd out of tree, `srcdir` and `builddir` are
different. We ask to search path in `$(top_srcdir)/src` since this is
needed to find `liboconfig/config.h`. Also fix search path for
libcollectdclient where only one header is in `builddir` while the
remaining are in `srcdir`.

10 years agoMerge pull request #791 from mfournier/fix-lvm-merge-conflict-mistake
Marc Fournier [Thu, 6 Nov 2014 20:08:37 +0000 (21:08 +0100)]
Merge pull request #791 from mfournier/fix-lvm-merge-conflict-mistake

lvm: remove duplicate call to lvm_submit()

10 years agolvm: remove duplicate call to lvm_submit()
Marc Fournier [Wed, 5 Nov 2014 15:18:03 +0000 (16:18 +0100)]
lvm: remove duplicate call to lvm_submit()

This got added by accident when solving the merge conflict in 103f05e0.

It led to the plugin triggering the classical "uc_update: Value too old"
error message.

10 years agos/libvirt/virt/ in doc & rpm specfile
Marc Fournier [Mon, 3 Nov 2014 10:24:38 +0000 (11:24 +0100)]
s/libvirt/virt/ in doc & rpm specfile

... as this plugin was renamed in 62f94860.

10 years agobuild: update reference to files moved in 216c6246
Marc Fournier [Mon, 3 Nov 2014 09:23:32 +0000 (10:23 +0100)]
build: update reference to files moved in 216c6246

Fixes #785

10 years agoMerge pull request #772 from mschenck/write_tsdb-type-type_instance-differentiate
Marc Fournier [Fri, 31 Oct 2014 14:21:25 +0000 (15:21 +0100)]
Merge pull request #772 from mschenck/write_tsdb-type-type_instance-differentiate

Including vl->type, even when vl->type_instance is available to avoid ov...

10 years agoopenldap: remove reference to shared LDFLAGS
Marc Fournier [Fri, 31 Oct 2014 13:23:11 +0000 (14:23 +0100)]
openldap: remove reference to shared LDFLAGS

following changes done in 4de560d2c.

10 years agoMerge pull request #778 from landryb/openbsd_fix_processes_plugin
Pierre-Yves Ritschard [Thu, 30 Oct 2014 13:03:31 +0000 (14:03 +0100)]
Merge pull request #778 from landryb/openbsd_fix_processes_plugin

Fix the processes plugin on OpenBSD (#776)

10 years agoMerge pull request #779 from landryb/openbsd_build_fixes
Pierre-Yves Ritschard [Thu, 30 Oct 2014 13:03:10 +0000 (14:03 +0100)]
Merge pull request #779 from landryb/openbsd_build_fixes

Openbsd build fixes

10 years agoRecent NetBSD versions also use a TAILQ.
Landry Breuil [Mon, 27 Oct 2014 09:13:42 +0000 (10:13 +0100)]
Recent NetBSD versions also use a TAILQ.

10 years agoUse cpu_stage() where expected in the CAN_USE_SYSCTL, HAVE_LIBSTATGRAB and HAVE_SYSCT...
Landry Breuil [Mon, 27 Oct 2014 08:38:31 +0000 (09:38 +0100)]
Use cpu_stage() where expected in the CAN_USE_SYSCTL, HAVE_LIBSTATGRAB and HAVE_SYSCTLBYNAME codepaths.

cpu_state() isnt a function.

10 years agoinpt_queue is a TAILQ on OpenBSD
Landry Breuil [Mon, 27 Oct 2014 08:37:58 +0000 (09:37 +0100)]
inpt_queue is a TAILQ on OpenBSD

10 years agoLink collectd-tg with -lpthread if available
Landry Breuil [Mon, 27 Oct 2014 08:36:28 +0000 (09:36 +0100)]
Link collectd-tg with -lpthread if available

otherwise linking fails with undefined refs to pthread_mutex_* functions

10 years agoFix swapctl() argument count detection on OpenBSD.
Landry Breuil [Mon, 27 Oct 2014 08:12:26 +0000 (09:12 +0100)]
Fix swapctl() argument count detection on OpenBSD.

on OpenBSD swapctl() takes three arguments, but is defined in unistd.h
and also needs sys/param.h.

http://www.openbsd.org/cgi-bin/man.cgi/OpenBSD-current/man2/swapctl.2

we need to add those headers to both detections to make sure the test
on 'swapctl takes two arguments' correctly fails.

10 years agoInclude pthread.h in plugin.h to get pthread_t definition.
Landry Breuil [Mon, 27 Oct 2014 07:38:53 +0000 (08:38 +0100)]
Include pthread.h in plugin.h to get pthread_t definition.

10 years agoFix the processes plugin on OpenBSD (#776)
Landry Breuil [Mon, 27 Oct 2014 07:37:14 +0000 (08:37 +0100)]
Fix the processes plugin on OpenBSD (#776)

Properly check for struct kinfo_proc members in configure.ac
Use kvm_getprocs() like it was done on FreeBSD

10 years agoMerge remote-tracking branch 'origin/pr/488'
Marc Fournier [Sun, 26 Oct 2014 18:45:02 +0000 (19:45 +0100)]
Merge remote-tracking branch 'origin/pr/488'

10 years agoLet the config parser accept unquoted IPv6 addresses.
Sebastian Harl [Sat, 23 Nov 2013 12:55:32 +0000 (13:55 +0100)]
Let the config parser accept unquoted IPv6 addresses.

The parser supports raw IPv6 addresses, optional address and port (as
[<addr>]:<port>), and embedded IPv4 addresses.

Based on "Common Patterns" found in the flex manual.

10 years agoMerge pull request #774 from trenkel/master
Sebastian Harl [Sat, 25 Oct 2014 07:17:37 +0000 (09:17 +0200)]
Merge pull request #774 from trenkel/master

Adding get_dataset() to python

10 years agopython: Add get_dataset() to the man page.
Sven Trenkel [Thu, 23 Oct 2014 19:01:13 +0000 (19:01 +0000)]
python: Add get_dataset() to the man page.

10 years agoAdd get_dataset() as a way to get the definition of a dataset from python.
Sven Trenkel [Thu, 23 Oct 2014 16:58:50 +0000 (16:58 +0000)]
Add get_dataset() as a way to get the definition of a dataset from python.
https://github.com/collectd/collectd/issues/771

10 years agoIncluding vl->type, even when vl->type_instance is available to avoid over-writing...
Michael Schenck [Tue, 21 Oct 2014 17:31:40 +0000 (13:31 -0400)]
Including vl->type, even when vl->type_instance is available to avoid over-writing values (i.e. with the 'df' plugin)

10 years agomysql: correct 2 data types in innodb counters
Marc Fournier [Mon, 20 Oct 2014 14:49:04 +0000 (16:49 +0200)]
mysql: correct 2 data types in innodb counters

Thanks to @ekilby for spotting this mistake ! Fixes #757

10 years agoMerge pull request #751 from ptbrowne/prepend-sys-path
trenkel [Wed, 1 Oct 2014 14:10:10 +0000 (16:10 +0200)]
Merge pull request #751 from ptbrowne/prepend-sys-path

feat(python-plugin): prepend instead of append ModulePath to sys.path

10 years agodoc(collectd-python): update
Patrick Browne [Wed, 1 Oct 2014 09:18:40 +0000 (11:18 +0200)]
doc(collectd-python): update

10 years agofeat(python-plugin): prepend instead of append ModulePath to sys.path
Patrick Browne [Tue, 30 Sep 2014 08:31:05 +0000 (10:31 +0200)]
feat(python-plugin): prepend instead of append ModulePath to sys.path

When importing a module, you expect the plugin repertory to have higher priority
than your site-packages. It will prevent hard to debug clashing module names problems.
At least, if there is a problem, it will fail more loudly than "module did not register
any config callback"

10 years agocpu plugin: Don't report empty cpu states.
Florian Forster [Fri, 26 Sep 2014 02:10:32 +0000 (19:10 -0700)]
cpu plugin: Don't report empty cpu states.

10 years agosrc/Makefile.am: Make sure plugins only export "module_register".
Florian Forster [Tue, 23 Sep 2014 14:52:04 +0000 (07:52 -0700)]
src/Makefile.am: Make sure plugins only export "module_register".

While there, put the LDFLAGS shared between all plugins into a separate
variable.

10 years agoMerge remote-tracking branch 'github/pr/697'
Florian Forster [Tue, 23 Sep 2014 14:13:52 +0000 (07:13 -0700)]
Merge remote-tracking branch 'github/pr/697'

10 years agoMerge remote-tracking branch 'github/pr/734'
Florian Forster [Tue, 23 Sep 2014 14:09:47 +0000 (07:09 -0700)]
Merge remote-tracking branch 'github/pr/734'

10 years agobind plugin: split bind_xml_stats to v3 and v1_v2.
Victor Berger [Mon, 22 Sep 2014 14:51:36 +0000 (16:51 +0200)]
bind plugin: split bind_xml_stats to v3 and v1_v2.

And minor change to bind_parse_generic_name_attr_value_list.

10 years agobind plugin: add support for the new XML v3 API.
Victor Berger [Sat, 20 Sep 2014 13:15:51 +0000 (15:15 +0200)]
bind plugin: add support for the new XML v3 API.

Unfortunately, this new API does not provide per-zone data
any more, thus 'Zone' options like

     Zone "example.com/IN"

are ignored if API version is 3.

10 years agoCOPYING: Add the MIT License and add a note about plugins being licensed individually.
Florian Forster [Sat, 20 Sep 2014 05:31:23 +0000 (07:31 +0200)]
COPYING: Add the MIT License and add a note about plugins being licensed individually.

10 years agoMove utils_parse_option.[ch] out of the daemon/ directory.
Florian Forster [Sat, 20 Sep 2014 05:18:03 +0000 (07:18 +0200)]
Move utils_parse_option.[ch] out of the daemon/ directory.

10 years agocommon.[ch]: Move escape_string() to here.
Florian Forster [Sat, 20 Sep 2014 05:11:17 +0000 (07:11 +0200)]
common.[ch]: Move escape_string() to here.

10 years agoMove collectd daemon files to the src/daemon/ directory.
Florian Forster [Sat, 20 Sep 2014 04:49:01 +0000 (06:49 +0200)]
Move collectd daemon files to the src/daemon/ directory.

10 years agomemory: make linux slab reporting work with older kernels
Marc Fournier [Fri, 8 Aug 2014 09:34:20 +0000 (11:34 +0200)]
memory: make linux slab reporting work with older kernels

10 years agomemory: adjust safeguard to changes from previous commit
Marc Fournier [Fri, 8 Aug 2014 09:05:33 +0000 (11:05 +0200)]
memory: adjust safeguard to changes from previous commit

10 years agosrc/collectd.c: Set the LC_NUMERIC locale to "C".
Florian Forster [Wed, 17 Sep 2014 08:52:36 +0000 (10:52 +0200)]
src/collectd.c: Set the LC_NUMERIC locale to "C".

When using ASCII protocols, such as the Graphite protocol, doubles are
converted to strings using sprintf(3) and parsed with strtod(3). If the
effective locale uses something different from a dot (".") as the
decimal separator (e.g. Portuguese, German), this breaks.

This patch sets the LC_NUMERIC locale to "C" on start-up, so that
strings are produced and parsed in a well-defined manner.

Fixes: #512
10 years agowrite_graphite plugin: Limit number of reconnection attempts per time.
Florian Forster [Tue, 16 Sep 2014 14:05:52 +0000 (16:05 +0200)]
write_graphite plugin: Limit number of reconnection attempts per time.

Fixes: #625
10 years agomemory plugin: Add slab memory stats (linux)
Manuel CISSÉ [Thu, 20 Feb 2014 15:06:56 +0000 (16:06 +0100)]
memory plugin: Add slab memory stats (linux)

Pull-Request: #560

10 years agovirt plugin: Rename the "libvirt" plugin to "virt".
Florian Forster [Tue, 16 Sep 2014 09:17:55 +0000 (11:17 +0200)]
virt plugin: Rename the "libvirt" plugin to "virt".

"libvirt" confused libtool and caused problems when re-building from source.

10 years agocpu plugin: Various, random fixes and improvements:
Florian Forster [Tue, 16 Sep 2014 07:52:10 +0000 (09:52 +0200)]
cpu plugin: Various, random fixes and improvements:

* Add Pierre-Yves to the list of copyright holders.
* Make sure the entire file is consistently indented.
* Renamed the "ReportActive" config option to "ReportByState"
  (with negated logic).
* Renamed internal functions to better reflect their use.
* Let cpu_stage() (née submit()) work on individual counters / derives
  rather than an array, removing logic from the cpu_read() function.
* Rename CPU_SUBMIT_* to CPU_STATE_*.
* Move legacy behavior it its own function, cpu_commit_without_aggregation().

10 years agoswap plugin: Make SwapCached optional under Linux.
Florian Forster [Tue, 16 Sep 2014 05:19:09 +0000 (07:19 +0200)]
swap plugin: Make SwapCached optional under Linux.

OpenVZ doesn't provide the line, which caused swap collection to be
skipped entirely on these systems. Instead, "cached" should simply be
ignored, as it is on other systems. Thanks to @zerkms for reporting this
problem!

Fixes: #733
10 years agocpu plugin: Fix parsing of SoftIRQ under Linux.
Florian Forster [Mon, 15 Sep 2014 17:21:22 +0000 (19:21 +0200)]
cpu plugin: Fix parsing of SoftIRQ under Linux.

10 years agoopenvpn plugin: Don't signal an error when no clients are connected.
Florian Forster [Sun, 14 Sep 2014 17:28:05 +0000 (19:28 +0200)]
openvpn plugin: Don't signal an error when no clients are connected.

In the multi1_read() function, an error (zero) was returned when no
clients were currently connected to the OpenVPN server, because the
"read" variable was initialized to zero and the while loop exited before
it was set to one. This is not the intended behavior.

Thanks to @srix for reporting this issue!

Fixes: #731
10 years agoAdd ReconnectInterval option to Network plugin
John Ferlito [Sat, 13 Sep 2014 01:24:14 +0000 (11:24 +1000)]
Add ReconnectInterval option to Network plugin

The Network plugin only performs DNS resolution at initialization. This
can be problematic when trying to performs migrations of collectd
infrastructure or when trying to create HA solutions which are dependant
on DNS.

The ReconnectInterval options forces a reconnect of all the sockets at
the defined number of seconds. By default no re-connections are attempted
if this option is not set.

10 years agoMove sockent_client_disconnect above sockent_client_disconnect so we can use it there
John Ferlito [Sat, 13 Sep 2014 01:15:30 +0000 (11:15 +1000)]
Move sockent_client_disconnect above sockent_client_disconnect so we can use it there

10 years agocollectd.conf(5): Document the ReportDegraded" option.
Florian Forster [Sat, 13 Sep 2014 08:25:31 +0000 (10:25 +0200)]
collectd.conf(5): Document the ReportDegraded" option.

10 years agobattery plugin: Implement the "ReportDegraded" option.
Florian Forster [Fri, 12 Sep 2014 15:06:53 +0000 (17:06 +0200)]
battery plugin: Implement the "ReportDegraded" option.

10 years agobattery plugin: Implement the ValuesPercentage option.
Florian Forster [Thu, 11 Sep 2014 05:16:19 +0000 (07:16 +0200)]
battery plugin: Implement the ValuesPercentage option.

10 years agobattery plugin: Only report "current" when actually supplied by the battery.
Florian Forster [Wed, 10 Sep 2014 15:26:16 +0000 (17:26 +0200)]
battery plugin: Only report "current" when actually supplied by the battery.

I think the commend in the file sums it up pretty good, read that ;)

10 years agoAUTHORS: Add Andy Parkins.
Florian Forster [Wed, 10 Sep 2014 15:04:41 +0000 (17:04 +0200)]
AUTHORS: Add Andy Parkins.

10 years agoFix typo in if caluse
Vladimir Smirnov [Wed, 10 Sep 2014 19:08:50 +0000 (21:08 +0200)]
Fix typo in if caluse

Fixes #729

10 years agobattery plugin: Import code to read metrics from sysfs.
Florian Forster [Wed, 10 Sep 2014 14:53:51 +0000 (16:53 +0200)]
battery plugin: Import code to read metrics from sysfs.

This started as a simple import of Andy Parkins' sysfsbattery plugin into
the battery plugin. Since the battery plugin is ancient and hasn't been
touched in a while, this quickly escalated to a much bigger refactoring.
Sorry!

On the other hand, this fixes a couple of bugs. For example, all metrics
were always dispatched with plugin_instance "0". This is correct for the
majority of laptops, of course, but in theory this could be wrong.

Also ACPI charging / discharging rate is reported as "current", when
modern batteries actually report "power". The sysfs code does this
correctly, ACPI still needs to be patched.

Fixes: #725
10 years agosrc/common.[ch]: Implement strtogauge().
Florian Forster [Wed, 10 Sep 2014 14:15:40 +0000 (16:15 +0200)]
src/common.[ch]: Implement strtogauge().

10 years agosrc/configfile.c: Fix the default interval setting.
Florian Forster [Tue, 9 Sep 2014 21:43:11 +0000 (23:43 +0200)]
src/configfile.c: Fix the default interval setting.

Also fixes a bug in global_option_get_time(): Values smaller than or
equal to zero are illegal and the default value should be returned.
Thanks to @anandkarthik for spotting this!

Fixes: #727
10 years agoRPM specfile: take all new plugins and dependencies in account
Marc Fournier [Mon, 8 Sep 2014 13:10:18 +0000 (15:10 +0200)]
RPM specfile: take all new plugins and dependencies in account

10 years agoMerge branch 'collectd-5.4'
Marc Fournier [Mon, 8 Sep 2014 15:32:54 +0000 (17:32 +0200)]
Merge branch 'collectd-5.4'

10 years agoRPM specfile: enable lvm plugin on RHEL7
Marc Fournier [Mon, 8 Sep 2014 15:29:14 +0000 (17:29 +0200)]
RPM specfile: enable lvm plugin on RHEL7

10 years agoMerge branch 'collectd-5.3' into collectd-5.4
Marc Fournier [Mon, 8 Sep 2014 15:21:38 +0000 (17:21 +0200)]
Merge branch 'collectd-5.3' into collectd-5.4

Conflicts:
contrib/redhat/collectd.spec

10 years agoMerge remote-tracking branch 'github/master'
Florian Forster [Mon, 8 Sep 2014 15:11:56 +0000 (17:11 +0200)]
Merge remote-tracking branch 'github/master'