Benjamin Gilbert [Wed, 16 Apr 2014 19:00:11 +0000 (15:00 -0400)]
lvm: Report used/free space for thin pools and thick snapshots
Thin pools and traditional snapshot volumes fill up as I/O is performed
to their associated thin volumes or origins. When they run out of free
space, things break, so it's useful to monitor their disk utilization.
Add new plugin instances for thin pool data LVs, thin pool metadata LVs,
and thick snapshot LVs, each with "used" and "free" type instances.
Benjamin Gilbert [Wed, 16 Apr 2014 13:35:56 +0000 (09:35 -0400)]
lvm: Ignore virtual volumes
The sum of the sizes reported by a volume group should equal the size
of the volume group. Virtual volumes do not directly correspond to
allocated storage (and, in fact, may be larger than the entire volume
group), so must be ignored.
Florian Forster [Tue, 14 Jan 2014 07:34:42 +0000 (08:34 +0100)]
swap plugin: Remove the swap_submit() function.
This function was used only by swap_submit_derive(), which was declared
conditionally. This resulted in "defined but not used" warnings, e.g. on
FreeBSD.
Florian Forster [Tue, 14 Jan 2014 06:55:02 +0000 (07:55 +0100)]
src/common.[ch]: Rewrite the escape_slashes() function.
Cleaner and slightly more efficient (3.8% faster) version of escape_slashes().
This function is quite hot with, depending on the configuration, between 1.2%
and 2.6% of total CPU time spent here.
Florian Forster [Tue, 14 Jan 2014 06:24:40 +0000 (07:24 +0100)]
src/utils_cache.c: Very minor performance improvement.
cache_compare() is one of the hottest functions in collectd. Depending how many
metrics collectd handles (how deep the tree is) it gets called an order of
magnitude or two more often than the number of metrics handled. With 100k
metrics, about 6.6% of the CPU time were spent within cache_compare(), with
this commit this reduces to 6.3% (that's, uhm, 4.7% faster?).
Florian Forster [Sun, 12 Jan 2014 11:12:26 +0000 (12:12 +0100)]
memory plugin: Move calculation of the percentage to memory_submit().
This removed the need for a lot of duplicate calls. It also changes the
naming schema to use the "percent" type rather than the "memory" type,
putting the information that these are percentages into the type
instance field.
Florian Forster [Sun, 12 Jan 2014 09:25:29 +0000 (10:25 +0100)]
swap plugin: Improvements for the percent code:
* Don't rely on the left-to-right evaluation order, i.e. move the
division to the right.
* Avoid casting by making many of the internally used variables gauge_t.
They were derive_t in many cases for historical reasons that no longer
apply.
* Change the naming: Don't use the "swap" type for percentages (putting
the information that it *is* a percentage into the type instance) and
use "percent" instead.
Jeremy Katz [Sat, 21 Sep 2013 16:00:01 +0000 (18:00 +0200)]
Support sending percentages for memory utilization
Allow setting ReportPercentage and ReportAbsolute to enable
sending percentages of memory usage instead of absolute values.
This is useful when trying to compare across a heterogeneous
set of systems.
A different fix for this problem was commited to the collectd-5.4 branch
(8327ee64) and conflicts with this patch. Also, initializing url the
same way as 8327ee64 does it, to avoid a merge conflict.
Marc Fournier [Tue, 7 Jan 2014 15:06:10 +0000 (16:06 +0100)]
interface.c: FreeBSD-10 support
Quoting @trtrmitya in github issue #506 : "[...] it is broken on
FreeBSD-10, in which getifaddrs() returns not only link level stats for
a particular interface, but also entries for each IP configured on that
interface. As a result if_submit() is called several times for each
interface, which results in incorrect data being logged.
I am attaching a patch which fixes a problem on FreeBSD (9/10), but it
should work for every *BSD because [...] the getifaddrs implementation
first appeared in BSDi BSD/OS."
Many thanks to @trtrmitya for providing the patch !
Adds two options to snmp plugin Data Section:
- Ignore -> A List of string containing patterns to blacklist
- InvertMatch -> A Boolean value to tell if using blacklist or
whitelist (true is whitelist, false (default) is blacklist)
Report a CPU "active" value, summing non-idle values
This small change provides a per-core aggregate of non-idle
values for CPUs. This is a good indicator to apply a threshold
on (especially if aggregated by means of the aggregation plugin).
Rainer Müller [Sun, 10 Nov 2013 02:51:40 +0000 (03:51 +0100)]
Link to IOKit using -framework
The libIOKit.dylib symlink no longer exists in OS X 10.9 Mavericks, we
now have to link using -framework. This should also work in all previous
versions of OS X.
Rainer Müller [Sun, 10 Nov 2013 02:39:22 +0000 (03:39 +0100)]
curl_json, curl_xml: Fix unitialized variable
The variable url is used unintialized here. The code used to be the same
in both plugins, but diverged in 19808b44. The solution applied there
does not work correctly as the effective URL can only be queried after
performing the request. Instead, just use the original request URL.
Vincent Bernat [Sat, 12 Oct 2013 20:38:57 +0000 (22:38 +0200)]
dbi plugin: register one read callback for each database block
By using a distinct read callback for each database block, collectd
will be able to query several databases in parallel. This is useful if
the plugin should handle many queries. This lets the user split them in
chunks and speed up the retrieval.