collectd.git
9 years agoTurbostat: simplify RAPL config and collection
Vincent Brillault [Fri, 13 Feb 2015 19:47:47 +0000 (20:47 +0100)]
Turbostat: simplify RAPL config and collection

There is no point configuring and collecting data which
is not submitted.

9 years agoTurbostat: relax dependency on invariant TSC
Vincent Brillault [Thu, 12 Feb 2015 20:33:40 +0000 (21:33 +0100)]
Turbostat: relax dependency on invariant TSC

Backport d7899447535929b3672442b7b42a09ae4e48fa91
from Len Brown <len.brown@intel.com>

Turbostat can be useful on systems that do not support invariant TSC,
so allow it to run on those systgems.

All arithmetic in turbostat using the TSC value is per-processsor,
so it does not depend on the TSC values being in sync acrosss
processors.

Turbostat uses cdtime() for the measurement interval
rather than using the TSC directly, so that key metric
is also immune from variable TSC.

Turbostat has a TSC sanity check gauge:
TSC_MHz = TSC_delta/interval

If this column is constant and is close to the processor
base frequency, then the TSC is behaving properly.

The other key turbostat columns are calculated this way:
Avg_Mhz = APERF_delta/interval
Bzy_MHz = TSC_delta/APERF_delta/MPERF_delta/interval
c0 = MPERF_delta/TSC_delta

This adaptation of the original commit has not been tested on any
old CPU. This patch also re-introduce the boolean "do_smi" as such
old CPUs don't have SMI.

9 years agoTurbostat: Add support for Broadwell (rapl part)
Vincent Brillault [Thu, 12 Feb 2015 20:06:24 +0000 (21:06 +0100)]
Turbostat: Add support for Broadwell (rapl part)

Partial backport of 4e8e863fed2e82278d29c6357de8251adb73acb9
from Len Brown <len.brown@intel.com>

Add comments on all models

9 years agoTurbostat: remove 'future' Silvermont models
Vincent Brillault [Thu, 12 Feb 2015 19:48:33 +0000 (20:48 +0100)]
Turbostat: remove 'future' Silvermont models

These models are not yet supported by upstream
Partial revert of 12bac3a7207cf264f41b69441454dbbbbad25782

9 years agoTurbostat: Add (back) sanity check
Vincent Brillault [Wed, 11 Feb 2015 21:06:45 +0000 (22:06 +0100)]
Turbostat: Add (back) sanity check

This new gauge contains TSC / interval_float.
If TSC and interval_float are behaving correctly, this is supposed to be
constant. Otherwise, other measurements can be wrong

9 years agoTurbostat: frequency add Averange, rename Buzy
Vincent Brillault [Thu, 12 Feb 2015 18:50:29 +0000 (19:50 +0100)]
Turbostat: frequency add Averange, rename Buzy

Partial backport of fc04cc67ea8f44124f048832a745a24bc2fa12fa
from Len Brown <len.brown@intel.com>

Add Avg_MHz column, which is the frequency that many
users expect to see -- the total number of cycles executed
over the measurement interval.

People found the previous GHz to be confusing, since
it was the speed only over the non-idle interval.
That measurement has been re-named Bzy_MHz.

9 years agoTurbostat plugin: relax dependency on root
Vincent Brillault [Wed, 11 Feb 2015 22:19:53 +0000 (23:19 +0100)]
Turbostat plugin: relax dependency on root

Backporting commit 98481e79b60a50d699b79292ff1b7e56e7fa8425
from Len Brown <len.brown@intel.com>

For turbostat to run as non-root, it needs to permissions:

1. read access to /dev/cpu/*/msr
        via standard user/group/world file permissions

2. CAP_SYS_RAWIO
        eg.  # setcap cap_sys_rawio=ep $(which collectd)

Yes, running as root still works.

9 years agoTurbostat: re-order init tests
Vincent Brillault [Wed, 11 Feb 2015 22:00:05 +0000 (23:00 +0100)]
Turbostat: re-order init tests

Calling 'stat' on /dev/cpu/0/msr does not need any specific permission
and needs to be checked before probe_cpu.

9 years agoTurbostat: Set global variable to static
Vincent Brillault [Wed, 4 Feb 2015 20:53:49 +0000 (21:53 +0100)]
Turbostat: Set global variable to static

9 years agoTurbostat: Some reordering as per coding rules
Vincent Brillault [Wed, 4 Feb 2015 20:47:50 +0000 (21:47 +0100)]
Turbostat: Some reordering as per coding rules

9 years agoTurbostat: Use cdtime for time resolution
Vincent Brillault [Wed, 4 Feb 2015 20:09:12 +0000 (21:09 +0100)]
Turbostat: Use cdtime for time resolution

9 years agoTurbostat: Do not use error code, use error messages
Vincent Brillault [Thu, 25 Sep 2014 19:02:57 +0000 (21:02 +0200)]
Turbostat: Do not use error code, use error messages

9 years agoTurbostat: init_counter cannot fail anymore
Vincent Brillault [Thu, 25 Sep 2014 18:50:50 +0000 (20:50 +0200)]
Turbostat: init_counter cannot fail anymore

Due to the new probing system, the counter initialization cannot
fail anymore. Make init_counter and initialize_counters return void

9 years agoTurbostat: value_list_t.plugin_instance limit is DATA_MAX_NAME_LEN
Vincent Brillault [Tue, 23 Sep 2014 20:58:02 +0000 (22:58 +0200)]
Turbostat: value_list_t.plugin_instance limit is DATA_MAX_NAME_LEN

9 years agoTurbostat: add <Plugin /> example
Vincent Brillault [Tue, 23 Sep 2014 20:55:34 +0000 (22:55 +0200)]
Turbostat: add <Plugin /> example

9 years agoTurbostat: add configuration options in man page
Vincent Brillault [Tue, 23 Sep 2014 20:47:46 +0000 (22:47 +0200)]
Turbostat: add configuration options in man page

9 years agoTurbostat: check return value of vsnprintf
Vincent Brillault [Tue, 23 Sep 2014 20:28:52 +0000 (22:28 +0200)]
Turbostat: check return value of vsnprintf

9 years agoTurbostat: whitespace cleanup
Vincent Brillault [Tue, 23 Sep 2014 20:22:36 +0000 (22:22 +0200)]
Turbostat: whitespace cleanup

9 years agoTurbostat: enhance error/warning meesages
Vincent Brillault [Tue, 23 Sep 2014 20:20:05 +0000 (22:20 +0200)]
Turbostat: enhance error/warning meesages

9 years agoTurbostat: complex read register is now useless
Vincent Brillault [Tue, 23 Sep 2014 19:40:46 +0000 (21:40 +0200)]
Turbostat: complex read register is now useless

9 years agoTurbostat: remove superfluous function declaration
Vincent Brillault [Tue, 23 Sep 2014 19:38:34 +0000 (21:38 +0200)]
Turbostat: remove superfluous function declaration

9 years agoTurbostat: fix topology detection
Vincent Brillault [Sat, 20 Sep 2014 17:45:36 +0000 (19:45 +0200)]
Turbostat: fix topology detection

9 years agoTurbostat: fix allocate_cpu_set
Vincent Brillault [Sat, 20 Sep 2014 17:08:40 +0000 (19:08 +0200)]
Turbostat: fix allocate_cpu_set

9 years agoTurbostat: this code can fail in fact...
Vincent Brillault [Sat, 20 Sep 2014 16:49:57 +0000 (18:49 +0200)]
Turbostat: this code can fail in fact...

9 years agoTurbostat: last re-ordering of the module
Vincent Brillault [Sat, 20 Sep 2014 16:34:52 +0000 (18:34 +0200)]
Turbostat: last re-ordering of the module

9 years agoTurbostat: Refactor topology probing
Vincent Brillault [Sat, 20 Sep 2014 16:11:46 +0000 (18:11 +0200)]
Turbostat: Refactor topology probing

Only probe the topology once and store in locally

9 years agoTurbostat: Fix minor compilation warnings
Vincent Brillault [Sat, 20 Sep 2014 07:55:10 +0000 (09:55 +0200)]
Turbostat: Fix minor compilation warnings

9 years agoTurbostat: Re-order code and add comments
Vincent Brillault [Sat, 20 Sep 2014 07:30:47 +0000 (09:30 +0200)]
Turbostat: Re-order code and add comments

No algorithmic change in this commit

9 years agoTrubostat: Refactor delta functions
Vincent Brillault [Fri, 19 Sep 2014 20:59:45 +0000 (22:59 +0200)]
Trubostat: Refactor delta functions

- merge delta_cpu in for_all_cpus_delta
- for_all_cpus_delta: don't resolve pointers that are not used
- add comments

9 years agoturbostat: Backport 'Drop temperature checks'
Jean Delvare [Thu, 1 May 2014 09:40:19 +0000 (11:40 +0200)]
turbostat: Backport 'Drop temperature checks'

The Intel 64 and IA-32 Architectures Software Developer's Manual says
that TjMax is stored in bits 23:16 of MSR_TEMPERATURE TARGET (0x1a2).
That's 8 bits, not 7, so it must be masked with 0xFF rather than 0x7F.

The manual has no mention of which values should be considered valid,
which kind of implies that they all are. Arbitrarily discarding values
outside a specific range is wrong. The upper range check had to be
fixed recently (commit 144b44b1) and the lower range check is just as
wrong. See bug #75071:

https://bugzilla.kernel.org/show_bug.cgi?id=75071

There are many Xeon processor series with TjMax of 70, 71 or 80
degrees Celsius, way below the arbitrary 85 degrees Celsius limit.
There may be other (past or future) models with even lower limits.

So drop this arbitrary check. The only value that would be clearly
invalid is 0. Everything else should be accepted.

After these changes, turbostat is aligned with what the coretemp
driver does.

Signed-off-by: Jean Delvare <jdelvare@suse.de>
Cc: Len Brown <len.brown@intel.com>
Acked-by: Guenter Roeck <linux@roeck-us.net>
Reviewed-by: Josh Triplett <josh@joshtriplett.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
[git@lerya.net: Ported to collectd turbostat plugin]
Signed-off-by: Vincent Brillault <git@lerya.net>
9 years agoTurbostat: SNB & later support MSR_PKG_C2_RESIDENCY
Vincent Brillault [Sun, 24 Aug 2014 08:37:34 +0000 (10:37 +0200)]
Turbostat: SNB & later support MSR_PKG_C2_RESIDENCY

9 years agoTurbostat: add a missing fclose
Vincent Brillault [Sat, 23 Aug 2014 23:39:37 +0000 (01:39 +0200)]
Turbostat: add a missing fclose

9 years agoTurbostat: Adding some comments
Vincent Brillault [Sat, 23 Aug 2014 15:41:28 +0000 (17:41 +0200)]
Turbostat: Adding some comments

9 years agoTurbostat: move set_temperature_target to setup_all_buffers
Vincent Brillault [Sat, 23 Aug 2014 15:34:52 +0000 (17:34 +0200)]
Turbostat: move set_temperature_target to setup_all_buffers

setup_all_buffers can be called after a free_all_buffers, which would
remove the tcc_activation_temp

9 years agoTurbostat: don't hide the actual size of the buffer in some define
Vincent Brillault [Sat, 23 Aug 2014 15:30:18 +0000 (17:30 +0200)]
Turbostat: don't hide the actual size of the buffer in some define

9 years agoTurbostat: introduce 'delta' data sets
Vincent Brillault [Sat, 23 Aug 2014 15:16:07 +0000 (17:16 +0200)]
Turbostat: introduce 'delta' data sets

This patch replace the 'old = new - old' mecanism with a simpler
'delta = new - old' one

9 years agoTurbostat: remove proc_stat global variable
Vincent Brillault [Sat, 23 Aug 2014 14:32:29 +0000 (16:32 +0200)]
Turbostat: remove proc_stat global variable

9 years agoTurbostat: use _Bool for boolean values
Vincent Brillault [Sat, 23 Aug 2014 14:30:06 +0000 (16:30 +0200)]
Turbostat: use _Bool for boolean values

9 years agoTurbostat: simplify aperf_mperf_unstable & skip_c[01]
Vincent Brillault [Sat, 23 Aug 2014 13:53:12 +0000 (15:53 +0200)]
Turbostat: simplify aperf_mperf_unstable & skip_c[01]

9 years agoTurbostat: Fix sched affinity mess
Vincent Brillault [Sat, 23 Aug 2014 13:35:59 +0000 (15:35 +0200)]
Turbostat: Fix sched affinity mess

get_msr doesn't need to be run on the CPU targetted. However, when run
on another CPU, perfomances will decrease as task have to be scheduled
on another CPU. Migrating to another CPU during the setup (where only a
few get_msr are done) is probably not worth it. However, in the
get_counters function, the large number of get_msr query makes it
potentially important.

This patch also introduce the restoration of the scheduling affinity as
it was before the plugin invocation.

9 years agoTurbodtat: tcc_activation_temp is a package concept, so store it in packages
Vincent Brillault [Sat, 23 Aug 2014 09:22:38 +0000 (11:22 +0200)]
Turbodtat: tcc_activation_temp is a package concept, so store it in packages

9 years agoTurbostat: use ssnprintf instead of snprintf
Vincent Brillault [Sat, 23 Aug 2014 07:50:13 +0000 (09:50 +0200)]
Turbostat: use ssnprintf instead of snprintf

9 years agoTurbostat: fix some WARNING/ERROR calls
Vincent Brillault [Sat, 23 Aug 2014 09:15:57 +0000 (11:15 +0200)]
Turbostat: fix some WARNING/ERROR calls

9 years agoTurbostat: use sizeof for the buffer sier of s*printf
Vincent Brillault [Sat, 23 Aug 2014 07:49:21 +0000 (09:49 +0200)]
Turbostat: use sizeof for the buffer sier of s*printf

9 years agoTurbostat: better error handling for get/read_msr
Vincent Brillault [Sat, 23 Aug 2014 07:46:31 +0000 (09:46 +0200)]
Turbostat: better error handling for get/read_msr

9 years agoTurbostat: Refactor migrate CPU before get_MSR
Vincent Brillault [Sat, 23 Aug 2014 07:32:04 +0000 (09:32 +0200)]
Turbostat: Refactor migrate CPU before get_MSR

In two out of three "get_msr" calls, there is a CPU migration, which
does not seem to be used by something else (in one case, it was used by
the rdtsc call).
Move the migrate call directly into the open_msr function

9 years agoTurbostat set_temperature_target: get msr from the correct cpu
Vincent Brillault [Sat, 23 Aug 2014 07:28:07 +0000 (09:28 +0200)]
Turbostat set_temperature_target: get msr from the correct cpu

9 years agoTurbostat: Only open msr once in get_counters
Vincent Brillault [Sat, 23 Aug 2014 07:20:23 +0000 (09:20 +0200)]
Turbostat: Only open msr once in get_counters

9 years agoTurbostat: use MSR_IA32_TSC instead of rdtsc
Vincent Brillault [Sat, 23 Aug 2014 06:56:28 +0000 (08:56 +0200)]
Turbostat: use MSR_IA32_TSC instead of rdtsc

9 years agoTurbostat: reorder checks: start with 'uid == 0 ?'
Vincent Brillault [Fri, 22 Aug 2014 23:06:30 +0000 (01:06 +0200)]
Turbostat: reorder checks: start with 'uid == 0 ?'

9 years agoTurbostat: refactor cpu probing
Vincent Brillault [Fri, 22 Aug 2014 22:58:25 +0000 (00:58 +0200)]
Turbostat: refactor cpu probing

Reorganization and rewriting of the cpu-probing code:
- Only support genuine_intel CPUs
- Remove variables that are always expected to be true
- Make supported pkg/core cstates more comprehensive
- Simplify rafl code (remove unused warning feature: intervals too long)

9 years agoTurbostat: remove unused variable has_epb
Vincent Brillault [Fri, 22 Aug 2014 22:53:10 +0000 (00:53 +0200)]
Turbostat: remove unused variable has_epb

9 years agoTurbostat: remove has_aperf
Vincent Brillault [Fri, 22 Aug 2014 22:49:40 +0000 (00:49 +0200)]
Turbostat: remove has_aperf

We refuse to run if it's not true, so let's just assume it is

9 years agoTurbostat: Remove has_invariant_tsc
Vincent Brillault [Fri, 22 Aug 2014 22:46:42 +0000 (00:46 +0200)]
Turbostat: Remove has_invariant_tsc

We refuse to run if it's not true, so let's just assume it is

9 years agoTurbostat: remove 'units' variable, only used once
Vincent Brillault [Fri, 22 Aug 2014 22:42:49 +0000 (00:42 +0200)]
Turbostat: remove 'units' variable, only used once

9 years agoTurbostat: remove unused show_* variables
Vincent Brillault [Fri, 22 Aug 2014 22:26:22 +0000 (00:26 +0200)]
Turbostat: remove unused show_* variables

9 years agoTurbostat: Explain why _GNU_SOURCE is required
Vincent Brillault [Fri, 22 Aug 2014 16:56:24 +0000 (18:56 +0200)]
Turbostat: Explain why _GNU_SOURCE is required

9 years agoTurbostat: Don't manage 'Interval' manually, already done by collectd
Vincent Brillault [Thu, 21 Aug 2014 16:15:01 +0000 (18:15 +0200)]
Turbostat: Don't manage 'Interval' manually, already done by collectd

9 years agoTurbostat: specify parse_int_file format
Vincent Brillault [Thu, 21 Aug 2014 16:11:24 +0000 (18:11 +0200)]
Turbostat: specify parse_int_file format

9 years agoTurbostat: replace sprintf with ssnprintf from common.h
Vincent Brillault [Thu, 21 Aug 2014 16:09:26 +0000 (18:09 +0200)]
Turbostat: replace sprintf with ssnprintf from common.h

9 years agoTurbostat: expand __must_check macro and remove it
Vincent Brillault [Thu, 21 Aug 2014 16:06:56 +0000 (18:06 +0200)]
Turbostat: expand __must_check macro and remove it

9 years agoTurbostat: replace stdbool.h with C99 _Bool
Vincent Brillault [Thu, 21 Aug 2014 16:05:36 +0000 (18:05 +0200)]
Turbostat: replace stdbool.h with C99 _Bool

9 years agoTurbostat: Emphasize the origin of the code
Vincent Brillault [Thu, 21 Aug 2014 16:03:07 +0000 (18:03 +0200)]
Turbostat: Emphasize the origin of the code

9 years agoTurbostat: Don't include msr-index.h, use standard header
Vincent Brillault [Thu, 21 Aug 2014 09:23:11 +0000 (11:23 +0200)]
Turbostat: Don't include msr-index.h, use standard header

9 years agoTurbostat: Rename instance type "pc%02d" to "pkg%02d"
Vincent Brillault [Mon, 23 Jun 2014 18:52:57 +0000 (20:52 +0200)]
Turbostat: Rename instance type "pc%02d" to "pkg%02d"

9 years agoTurbostat: make DO_OR_GOTO_ERR look like a function
Nicolas Iooss [Mon, 23 Jun 2014 16:08:15 +0000 (18:08 +0200)]
Turbostat: make DO_OR_GOTO_ERR look like a function

Signed-off-by: Nicolas Iooss <nicolas.iooss_git@polytechnique.org>
[git@lerya.net: Ported from other git, changed commit name]
Signed-off-by: Vincent Brillault <git@lerya.net>
9 years agoTurbostat plugin: refactor function declarations
Vincent Brillault [Fri, 20 Jun 2014 08:30:09 +0000 (10:30 +0200)]
Turbostat plugin: refactor function declarations

- Remove horrible STATIC_MUST_CHECK macro
- Define __must_check __attribute__((warn_unused_result))
- Refactor function declaration: type only on first line

9 years agoInclude turbostat plugin during compilation
Vincent Brillault [Thu, 19 Jun 2014 22:06:42 +0000 (00:06 +0200)]
Include turbostat plugin during compilation

9 years agoAdd sources for new turbostat plugin
Vincent Brillault [Thu, 19 Jun 2014 21:39:05 +0000 (23:39 +0200)]
Add sources for new turbostat plugin

9 years agosnmp plugin: add hostname to "csnmp_instance_list_add" error message
Sergey [Tue, 24 Feb 2015 21:13:00 +0000 (22:13 +0100)]
snmp plugin: add hostname to "csnmp_instance_list_add" error message

Fixes #939

9 years agoMerge branch 'collectd-5.4'
Marc Fournier [Tue, 24 Feb 2015 09:02:58 +0000 (10:02 +0100)]
Merge branch 'collectd-5.4'

Conflicts:
src/Makefile.am
src/write_http.c

9 years agoMerge branch 'collectd-5.3' into collectd-5.4
Marc Fournier [Tue, 24 Feb 2015 08:57:29 +0000 (09:57 +0100)]
Merge branch 'collectd-5.3' into collectd-5.4

9 years agoMerge branch 'collectd-4.10' into collectd-5.3
Marc Fournier [Tue, 24 Feb 2015 06:43:22 +0000 (07:43 +0100)]
Merge branch 'collectd-4.10' into collectd-5.3

Conflicts:
src/collectd.conf.pod

9 years agoMerge pull request #890 from trenkel/master
trenkel [Sun, 15 Feb 2015 15:34:09 +0000 (16:34 +0100)]
Merge pull request #890 from trenkel/master

Fix compiler warnings with Python3.

9 years agoperl plugin: plugins are linked with *_LIBADD and LIBS not *_LIBS and LIBS
Jim Radford [Tue, 17 Sep 2013 17:52:03 +0000 (17:52 +0000)]
perl plugin: plugins are linked with *_LIBADD and LIBS not *_LIBS and LIBS

Conflicts:
src/Makefile.am

9 years agolibperl's ldopts include libaries and therefore should go in LIBS not LDFLAGS
Jim Radford [Wed, 7 Aug 2013 20:21:08 +0000 (13:21 -0700)]
libperl's ldopts include libaries and therefore should go in LIBS not LDFLAGS

Without this configure fails compile its libperl test program because
-lperl comes before the test program on the compiler command line.

Conflicts:
src/Makefile.am

9 years agoMerge pull request #390 from radford/libperl-ldopts
Marc Fournier [Fri, 6 Feb 2015 15:31:26 +0000 (16:31 +0100)]
Merge pull request #390 from radford/libperl-ldopts

libperl's ldopts include libaries and therefore should go in LIBS not LDFLAGS

9 years agomodbus: rename register types once more
Eric Sandeen [Wed, 28 Jan 2015 04:36:05 +0000 (22:36 -0600)]
modbus: rename register types once more

As I was looking over my config files again, ModbusRegisterType
kind of stuck out like a sore thumb.

Modbus does talk about "read holding" and "read input" as "commands";
perhaps renaming it as this patch does is more intuitive, so that all
of the Modbus register configurations start with Register.

I'm not wedded to it, but if you like it & agree, here you go.

Thanks,
-Eric

9 years agoMerge pull request #908 from vincentbernat/fix/libstatgrab4
Marc Fournier [Mon, 2 Feb 2015 10:41:48 +0000 (11:41 +0100)]
Merge pull request #908 from vincentbernat/fix/libstatgrab4

libstatgrab: fix detection of libstatgrab >= 0.90

9 years agoMerge pull request #902 from mfournier/write_http-node-blocks
Marc Fournier [Mon, 2 Feb 2015 10:25:03 +0000 (11:25 +0100)]
Merge pull request #902 from mfournier/write_http-node-blocks

write_http: deprecate <URL> blocks in favor of <Node>

9 years agoMerge pull request #899 from mfournier/write_http-multiple-destionations
Marc Fournier [Mon, 2 Feb 2015 10:24:08 +0000 (11:24 +0100)]
Merge pull request #899 from mfournier/write_http-multiple-destionations

write_http: make callback names context-dependent

9 years agoRPM specfile: doc clarification
Marc Fournier [Wed, 28 Jan 2015 14:06:28 +0000 (15:06 +0100)]
RPM specfile: doc clarification

9 years agoipmi: use SIGIO instead of SIGUSR2 to avoid conflict with JVM
Vincent Bernat [Fri, 23 Jan 2015 17:55:04 +0000 (18:55 +0100)]
ipmi: use SIGIO instead of SIGUSR2 to avoid conflict with JVM

Java uses SIGUSR2 to suspend/resume threads. The OpenIPMI plugins also
need a signal to resume its event loop when setting a timer. They can't
both use the same signal. We ask OpenIPMI to use SIGIO instead.

This should fix #114.

9 years agowrite_kafka plugin: Topic property not being set
ciomaire [Mon, 26 Jan 2015 13:02:11 +0000 (14:02 +0100)]
write_kafka plugin: Topic property not being set

9 years agoMerge pull request #910 from vincentbernat/fix/ipmi-dont-use-sigusr2
Pierre-Yves Ritschard [Mon, 26 Jan 2015 12:56:29 +0000 (13:56 +0100)]
Merge pull request #910 from vincentbernat/fix/ipmi-dont-use-sigusr2

ipmi: use SIGIO instead of SIGUSR2 to avoid conflict with JVM

9 years agoipmi: use SIGIO instead of SIGUSR2 to avoid conflict with JVM
Vincent Bernat [Fri, 23 Jan 2015 17:55:04 +0000 (18:55 +0100)]
ipmi: use SIGIO instead of SIGUSR2 to avoid conflict with JVM

Java uses SIGUSR2 to suspend/resume threads. The OpenIPMI plugins also
need a signal to resume its event loop when setting a timer. They can't
both use the same signal. We ask OpenIPMI to use SIGIO instead.

This should fix #114.

9 years agoMerge pull request #906 from obazoud/patch-1
Marc Fournier [Fri, 23 Jan 2015 14:07:44 +0000 (15:07 +0100)]
Merge pull request #906 from obazoud/patch-1

Wording automake

9 years agoadded doc CollectStatistics to section rrdcached
Micha Krause [Fri, 23 Jan 2015 13:24:54 +0000 (14:24 +0100)]
added doc CollectStatistics to section rrdcached

Fixes #907

Conflicts:
src/collectd.conf.pod

9 years agomysql: document defaults to boolean config options
Marc Fournier [Fri, 23 Jan 2015 14:01:52 +0000 (15:01 +0100)]
mysql: document defaults to boolean config options

9 years agolibstatgrab: fix detection of libstatgrab >= 0.90
Vincent Bernat [Fri, 23 Jan 2015 10:57:03 +0000 (11:57 +0100)]
libstatgrab: fix detection of libstatgrab >= 0.90

Ensure linking is done after compilation of the test program, otherwise
symbols cannot be found. `LDFLAGS` and `CFLAGS` are placed before the
test program on gcc command line while `LIBS` is placed after. Even if
in our case, `LDFLAGS` also contain the lib, being put before the
program while the linking phase is done with the same command leads to
`sg_init()` never found which is misinterpreted as requiring an
argument.

9 years agoWording automake
Olivier Bazoud [Thu, 22 Jan 2015 15:57:35 +0000 (16:57 +0100)]
Wording automake

9 years agowrite_http: consistent multi-instance support
Marc Fournier [Tue, 20 Jan 2015 22:09:56 +0000 (23:09 +0100)]
write_http: consistent multi-instance support

This makes the plugin use `<Node>` blocks liks most other write plugins,
while maintaining backwards compatibility with `<URL>` blocks.

It's a follow up to #899, which was merely a fix for the release
branches.

9 years agowrite_http: make callback names context-dependent
Marc Fournier [Sat, 17 Jan 2015 15:10:46 +0000 (16:10 +0100)]
write_http: make callback names context-dependent

This allows multiple destinations to work again (fixes #821), using the
same logic as other write plugins.

The callback name would now be something like:
    `write_http/http://example.com/endpoint`
which is not very nice.

The next step would be to change this plugin to use `<Node>` blocks
like many others, and pass the URL as a parameter inside each instance
block. So I see this patch as the minimum required to let 5.3 and 5.4
users use this plugin with multiple destinations.

Conflicts:
src/write_http.c

9 years agowrite_http: make callback names context-dependent
Marc Fournier [Sat, 17 Jan 2015 15:10:46 +0000 (16:10 +0100)]
write_http: make callback names context-dependent

This allows multiple destinations to work again (fixes #821), using the
same logic as other write plugins.

The callback name would now be something like:
    `write_http/http://example.com/endpoint`
which is not very nice.

The next step would be to change this plugin to use `<Node>` blocks
like many others, and pass the URL as a parameter inside each instance
block. So I see this patch as the minimum required to let 5.3 and 5.4
users use this plugin with multiple destinations.

9 years agoensure all curl-based plugins follow HTTP redirects
Marc Fournier [Fri, 16 Jan 2015 22:45:26 +0000 (23:45 +0100)]
ensure all curl-based plugins follow HTTP redirects

For the sake of consistency.

9 years agoadd Modbus/RTU support to modbus plugin
Eric Sandeen [Wed, 10 Dec 2014 21:38:09 +0000 (15:38 -0600)]
add Modbus/RTU support to modbus plugin

This allows access to a local RS-485 serial port
via the modbus plugin by specifying i.e.

  Device "/dev/ttyUSB0"
  Baudrate 38400

in a <Host> block.

For now it assumes 8N1; adding another config option
to support other configurations could be done later.

Lightly tested on my local setup.

Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
9 years agoRPM specfile: misc improvements related to perl files
Marc Fournier [Fri, 16 Jan 2015 16:57:00 +0000 (17:57 +0100)]
RPM specfile: misc improvements related to perl files

Avoids installing some files in two different packages & locations. Also
avoid unnecessary dependencies on -perl and -contrib packages.

Supersedes #896.

Thanks to @faxm0dem for helping work things out !

9 years agowrite_riemann: defaults to use TCP and batching
Marc Fournier [Thu, 15 Jan 2015 08:06:24 +0000 (09:06 +0100)]
write_riemann: defaults to use TCP and batching

Fixes #891

9 years agoRPM specfile: install client tools to a dedicated package
Marc Fournier [Wed, 14 Jan 2015 22:40:06 +0000 (23:40 +0100)]
RPM specfile: install client tools to a dedicated package

Avoids the package containing the daemon to depend on libcollectdclient.

Fixes #879

9 years agoRPM specfile: handle new write_log plugin
Marc Fournier [Wed, 14 Jan 2015 22:30:26 +0000 (23:30 +0100)]
RPM specfile: handle new write_log plugin