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
Vincent Brillault [Tue, 23 Sep 2014 20:55:34 +0000 (22:55 +0200)]
Turbostat: add <Plugin /> example
Vincent Brillault [Tue, 23 Sep 2014 20:47:46 +0000 (22:47 +0200)]
Turbostat: add configuration options in man page
Vincent Brillault [Tue, 23 Sep 2014 20:28:52 +0000 (22:28 +0200)]
Turbostat: check return value of vsnprintf
Vincent Brillault [Tue, 23 Sep 2014 20:22:36 +0000 (22:22 +0200)]
Turbostat: whitespace cleanup
Vincent Brillault [Tue, 23 Sep 2014 20:20:05 +0000 (22:20 +0200)]
Turbostat: enhance error/warning meesages
Vincent Brillault [Tue, 23 Sep 2014 19:40:46 +0000 (21:40 +0200)]
Turbostat: complex read register is now useless
Vincent Brillault [Tue, 23 Sep 2014 19:38:34 +0000 (21:38 +0200)]
Turbostat: remove superfluous function declaration
Vincent Brillault [Sat, 20 Sep 2014 17:45:36 +0000 (19:45 +0200)]
Turbostat: fix topology detection
Vincent Brillault [Sat, 20 Sep 2014 17:08:40 +0000 (19:08 +0200)]
Turbostat: fix allocate_cpu_set
Vincent Brillault [Sat, 20 Sep 2014 16:49:57 +0000 (18:49 +0200)]
Turbostat: this code can fail in fact...
Vincent Brillault [Sat, 20 Sep 2014 16:34:52 +0000 (18:34 +0200)]
Turbostat: last re-ordering of the module
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
Vincent Brillault [Sat, 20 Sep 2014 07:55:10 +0000 (09:55 +0200)]
Turbostat: Fix minor compilation warnings
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
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
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>
Vincent Brillault [Sun, 24 Aug 2014 08:37:34 +0000 (10:37 +0200)]
Turbostat: SNB & later support MSR_PKG_C2_RESIDENCY
Vincent Brillault [Sat, 23 Aug 2014 23:39:37 +0000 (01:39 +0200)]
Turbostat: add a missing fclose
Vincent Brillault [Sat, 23 Aug 2014 15:41:28 +0000 (17:41 +0200)]
Turbostat: Adding some comments
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
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
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
Vincent Brillault [Sat, 23 Aug 2014 14:32:29 +0000 (16:32 +0200)]
Turbostat: remove proc_stat global variable
Vincent Brillault [Sat, 23 Aug 2014 14:30:06 +0000 (16:30 +0200)]
Turbostat: use _Bool for boolean values
Vincent Brillault [Sat, 23 Aug 2014 13:53:12 +0000 (15:53 +0200)]
Turbostat: simplify aperf_mperf_unstable & skip_c[01]
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.
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
Vincent Brillault [Sat, 23 Aug 2014 07:50:13 +0000 (09:50 +0200)]
Turbostat: use ssnprintf instead of snprintf
Vincent Brillault [Sat, 23 Aug 2014 09:15:57 +0000 (11:15 +0200)]
Turbostat: fix some WARNING/ERROR calls
Vincent Brillault [Sat, 23 Aug 2014 07:49:21 +0000 (09:49 +0200)]
Turbostat: use sizeof for the buffer sier of s*printf
Vincent Brillault [Sat, 23 Aug 2014 07:46:31 +0000 (09:46 +0200)]
Turbostat: better error handling for get/read_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
Vincent Brillault [Sat, 23 Aug 2014 07:28:07 +0000 (09:28 +0200)]
Turbostat set_temperature_target: get msr from the correct cpu
Vincent Brillault [Sat, 23 Aug 2014 07:20:23 +0000 (09:20 +0200)]
Turbostat: Only open msr once in get_counters
Vincent Brillault [Sat, 23 Aug 2014 06:56:28 +0000 (08:56 +0200)]
Turbostat: use MSR_IA32_TSC instead of rdtsc
Vincent Brillault [Fri, 22 Aug 2014 23:06:30 +0000 (01:06 +0200)]
Turbostat: reorder checks: start with 'uid == 0 ?'
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)
Vincent Brillault [Fri, 22 Aug 2014 22:53:10 +0000 (00:53 +0200)]
Turbostat: remove unused variable has_epb
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
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
Vincent Brillault [Fri, 22 Aug 2014 22:42:49 +0000 (00:42 +0200)]
Turbostat: remove 'units' variable, only used once
Vincent Brillault [Fri, 22 Aug 2014 22:26:22 +0000 (00:26 +0200)]
Turbostat: remove unused show_* variables
Vincent Brillault [Fri, 22 Aug 2014 16:56:24 +0000 (18:56 +0200)]
Turbostat: Explain why _GNU_SOURCE is required
Vincent Brillault [Thu, 21 Aug 2014 16:15:01 +0000 (18:15 +0200)]
Turbostat: Don't manage 'Interval' manually, already done by collectd
Vincent Brillault [Thu, 21 Aug 2014 16:11:24 +0000 (18:11 +0200)]
Turbostat: specify parse_int_file format
Vincent Brillault [Thu, 21 Aug 2014 16:09:26 +0000 (18:09 +0200)]
Turbostat: replace sprintf with ssnprintf from common.h
Vincent Brillault [Thu, 21 Aug 2014 16:06:56 +0000 (18:06 +0200)]
Turbostat: expand __must_check macro and remove it
Vincent Brillault [Thu, 21 Aug 2014 16:05:36 +0000 (18:05 +0200)]
Turbostat: replace stdbool.h with C99 _Bool
Vincent Brillault [Thu, 21 Aug 2014 16:03:07 +0000 (18:03 +0200)]
Turbostat: Emphasize the origin of the code
Vincent Brillault [Thu, 21 Aug 2014 09:23:11 +0000 (11:23 +0200)]
Turbostat: Don't include msr-index.h, use standard header
Vincent Brillault [Mon, 23 Jun 2014 18:52:57 +0000 (20:52 +0200)]
Turbostat: Rename instance type "pc%02d" to "pkg%02d"
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>
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
Vincent Brillault [Thu, 19 Jun 2014 22:06:42 +0000 (00:06 +0200)]
Include turbostat plugin during compilation
Vincent Brillault [Thu, 19 Jun 2014 21:39:05 +0000 (23:39 +0200)]
Add sources for new turbostat plugin
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
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
Marc Fournier [Tue, 24 Feb 2015 08:57:29 +0000 (09:57 +0100)]
Merge branch 'collectd-5.3' into collectd-5.4
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
trenkel [Sun, 15 Feb 2015 15:34:09 +0000 (16:34 +0100)]
Merge pull request #890 from trenkel/master
Fix compiler warnings with Python3.
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
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
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
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
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
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>
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
Marc Fournier [Wed, 28 Jan 2015 14:06:28 +0000 (15:06 +0100)]
RPM specfile: doc clarification
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.
ciomaire [Mon, 26 Jan 2015 13:02:11 +0000 (14:02 +0100)]
write_kafka plugin: Topic property not being set
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
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.
Marc Fournier [Fri, 23 Jan 2015 14:07:44 +0000 (15:07 +0100)]
Merge pull request #906 from obazoud/patch-1
Wording automake
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
Marc Fournier [Fri, 23 Jan 2015 14:01:52 +0000 (15:01 +0100)]
mysql: document defaults to boolean config options
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.
Olivier Bazoud [Thu, 22 Jan 2015 15:57:35 +0000 (16:57 +0100)]
Wording automake
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.
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
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.
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.
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>
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 !
Marc Fournier [Thu, 15 Jan 2015 08:06:24 +0000 (09:06 +0100)]
write_riemann: defaults to use TCP and batching
Fixes #891
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
Marc Fournier [Wed, 14 Jan 2015 22:30:26 +0000 (23:30 +0100)]
RPM specfile: handle new write_log plugin
Marc Fournier [Wed, 14 Jan 2015 22:28:18 +0000 (23:28 +0100)]
Merge remote-tracking branch 'origin/pr/835'
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
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.
Pierre-Yves Ritschard [Wed, 14 Jan 2015 08:25:25 +0000 (09:25 +0100)]
Merge pull request #886 from pyr/feature/write_log
Add a write_log output plugin which logs values.
Pierre-Yves Ritschard [Tue, 13 Jan 2015 10:06:37 +0000 (11:06 +0100)]
Do not mention plugins with no options.
Pierre-Yves Ritschard [Tue, 13 Jan 2015 10:05:52 +0000 (11:05 +0100)]
mention write_log in the README
Pierre-Yves Ritschard [Tue, 13 Jan 2015 10:03:06 +0000 (11:03 +0100)]
change license
Sven Trenkel [Mon, 12 Jan 2015 23:22:34 +0000 (23:22 +0000)]
python: Properly init the empty string with Python3.
Sven Trenkel [Fri, 9 Jan 2015 21:28:24 +0000 (21:28 +0000)]
Fix compiler warnings with Python3.
https://github.com/collectd/collectd/issues/505
Pierre-Yves Ritschard [Thu, 8 Jan 2015 10:06:04 +0000 (11:06 +0100)]
Add a write_log output plugin which logs values.
I find this to be useful when developping new input plugins,
it allows creating a very simple configuration and combined
with `-f` can be used for a very simple workflow.
I'm proposing this, since I think it could be useful for
people wanting to debug their config on local agents as well.
Pierre-Yves Ritschard [Thu, 8 Jan 2015 09:14:48 +0000 (10:14 +0100)]
Merge pull request #870 from ifesdjeen/bugfix/absolute-in-multivalue-dispatch
Change "plugin_dispatch_multivalue" to accept any metric type.
Marc Fournier [Wed, 7 Jan 2015 23:18:57 +0000 (00:18 +0100)]
Merge branch 'collectd-5.4'
Marc Fournier [Wed, 7 Jan 2015 23:17:37 +0000 (00:17 +0100)]
Merge branch 'collectd-5.3' into collectd-5.4