Sebastian Harl [Sun, 14 Oct 2012 14:42:35 +0000 (16:42 +0200)]
Initialize plugin context to global interval before loading a plugin.
This ensures that the actual interval for each plugin is available through its
context. It is a preparation for removing 'interval_g' (which has limited use
after introducing per-plugin intervals and, thus, its use is rather error-
prone).
Sebastian Harl [Sun, 14 Oct 2012 14:31:01 +0000 (16:31 +0200)]
plugin: Added plugin_get_interval().
This function returns the current value of the plugin's interval. If no
interval has been set in the plugin context, it will fall back to the global
interval or ten seconds as a last resort.
Sebastian Harl [Thu, 2 Feb 2012 06:44:48 +0000 (07:44 +0100)]
plugin: Introduced basic support for per-plugin intervals.
This is based on a newly introduced "plugin context", which stores plugin-
related settings (currently the plugin interval) for each registered callback.
The context is initialized when loading the plugin (LoadPlugin), setting the
interval to the value of the newly introduced "Interval" option of the
LoadPlugin block, if specified.
The context is set (using thread-specific data) and restored before and after
calling any callback.
This way, single plugins don't need to take special care in order to benefit
from the new feature. plugin.c will handle (most) situations automatically.
VALUE_LIST_INIT() has been changed to honor the plugin interval settings (if
any). As a helper, the new 'plugin_interval' macro may be used to access the
current plugin's interval (read-only).
Bostjan Skufca [Fri, 3 Feb 2012 02:10:08 +0000 (03:10 +0100)]
Changes in irq plugin:
- fixes errors described here: http://mailman.verplant.org/pipermail/collectd/2011-July/004638.html
- refactored parsing code in order to make it a bit more intuitive
- added a few additional comments
Chris Lundquist [Fri, 13 Jan 2012 22:33:29 +0000 (14:33 -0800)]
compiles cleanly. libmongoc doesn't have an install target, will try to commit one there instead of having to hack the directory stucture to please ./configure.
Jonathan Nieder [Mon, 9 Jan 2012 18:01:50 +0000 (19:01 +0100)]
common: check_create_dir(): Support symlinks as well.
Previously, the following situation would cause an endless look (as reported
by Michael Prokop in Debian bug #619123): the (CSV or RRD) datadir is a
symlink pointing to a non-existent target.
With this patch applied, check_create_dir() fails with "<file> exists but is
not a directory".
Sebastian Harl [Mon, 9 Jan 2012 10:16:19 +0000 (11:16 +0100)]
build system, ipvs plugin: Check for linux/ip_vs.h as well.
Also, try to find ip_vs.h without using KERNEL_CFLAGS at first. The Linux
kernel headers should not be used directly -- in current kernel versions this
generates warnings leading to build failures because of -Werror.
Toni Ylenius [Fri, 6 Jan 2012 16:13:56 +0000 (18:13 +0200)]
df: Set negative free space values to zero.
Some file systems (eg. UFS) may report negative free spave values.
Previously this caused underflow, but now it is prevented by setting
negative values to zero.
The former is a simple key/value lookup, while the latter
triggers a method call and yields the result.
Operations have signatures, they can be fed an array of
parameters. For now, calls are triggered assuming
there are no parameters. Later a separate keyword
`Operation` can be introduced, taking a list of
`Parameter` directives specifying type and values
to feed to the MBean operation.
Aaron Brady [Sun, 15 Jan 2012 13:16:37 +0000 (13:16 +0000)]
Migration: Ensure destination directories exist when moving RRDs
If you have not run collectd 5 before, then when type instances
are migrated to plugin instances the destination directories
may not already exist. For example:
Florian Forster [Fri, 25 Nov 2011 09:48:22 +0000 (10:48 +0100)]
Merge "Fix file:// not working as return code is 0 and not 200, as fixed beforehand in curl_json. Remove mention of http in documention as file also works now (and ftp most likely too)" into collectd-4.10
Fabien Wernli [Fri, 4 Nov 2011 10:25:59 +0000 (11:25 +0100)]
Fix file:// not working as return code is 0 and not 200, as fixed
beforehand in curl_json.
Remove mention of http in documention as file also works now (and ftp most likely too)
interface plugin: Fix for bogus interfaces under Solaris.
Under newer versions of Solaris, the method for finding network interfaces
results in 'collectd' gathering statistics on an interface called 'mac', along
with 16 interfaces named 'wrsmd0' through 'wrsmd15' (which are for WCI Remote
Shared Memory). The 'mac' interface is especially problematic because it
occurs multiple times, which results in warnings from rrdtool about insertions
with the same timestamp.
irq plugin: Implement collection of non-numeric interrupts.
Hi all!
I've created a patch that enables collectd to collect all irqs present in
/proc/interrupts, with numeric and string names (NMI, LOC, RES, etc).
Two notices:
a) Unfortunately I was unable to build collectd from git repo (build.sh
failures), therefore I created this patch for latest stable release: 4.10.1
b) I am fairly unexperienced in C programming, so please inform me gently of my
mistakes:) But I am already using a patched version and it works fine.
Any feedback on code quality or recommendations are welcome.
Sebastian Harl [Wed, 24 Aug 2011 16:26:12 +0000 (18:26 +0200)]
processes plugin: Fixed handling of ProcessMatch regexes containing spaces.
Previously, something like 'ProcessMatch name "My Regex"' would have been
interpreted as three values. This was caused by using the old, non-complex
config interface which joins all config values using a space and passing the
resulting string to the plugin. The processes plugin used to use strsplit() to
re-gain a list of all values, obviously ignoring any quoting that might exist.
This has been fixed by using the complex config interface, which passes all
values as an array of strings and thus honoring the quoting handled by
liboconfig.