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.
Marc Fournier [Thu, 19 Sep 2013 21:27:02 +0000 (23:27 +0200)]
switch default write_graphite protocol back to TCP
The *default* protocol was switched to UDP in 498a0dcd, when UDP support
was added to the plugin.
Switching this default back to TCP, because it makes the plugin break
for users upgrading to 5.4, and also because the UDP listener is disabled
in a default graphite installation (cf.
https://github.com/graphite-project/carbon/blob/0.9.x/conf/carbon.conf.example#L78)
Florian Forster [Wed, 28 Aug 2013 13:19:48 +0000 (15:19 +0200)]
cgroups plugin: Use cu_mount_checkoption().
cu_mount_checkoption() behaves a bit like strstr() in that it returns a pointer
into the buffer. cu_mount_getoptionvalue() allocated memory that was never
freed, slowly leaking memory (although very little).
Marc Fournier [Wed, 21 Aug 2013 14:22:32 +0000 (16:22 +0200)]
cgroups: don't fail parsing when colon not found
The format of cpuacct.stat seems to not always have a colon as separator.
It appears to *not* have the colon at least on debian's kernel 3.2.41 and
3.2.35, as well as on RHEL6 with 2.6.32. All of them have decent support for
cgroups/lxc, and the cgroups plugin fails to work with them without this patch.
Also, looking at other implementations shows that they *don't* expect a colon:
https://bitbucket.org/dotcloud/liblxcstats/src/2558b4fbbf589c609895b0badbfc7d413466d716/probes/cpuacct.c?at=default#cl-71
https://github.com/BrightcoveOS/Diamond/blob/master/src/collectors/cpuacct_cgroup/cpuacct_cgroup.py#L55
Florian Forster [Sun, 18 Aug 2013 08:55:38 +0000 (10:55 +0200)]
aquaero plugin: Some coding style fixes.
* Break long lines.
* Rename temperatures. The type instances are now "sensor", "virtual",
"software" and "other".
* Rename "flow-flow" to "flow-sensor".
Florian Forster [Sun, 18 Aug 2013 07:58:13 +0000 (09:58 +0200)]
curl_json plugin: Random minor improvements.
I did these changes while wrapping my head around the new array code.
* Added a comment to explain the cj_cb_map_key() function.
* Renamed some variabled and the arguments of the cj_cb_map_key() function.
* Renamed the "ignore" argument to "update_key" (inversing its meaning).
Marc Fournier [Fri, 9 Aug 2013 15:23:48 +0000 (17:23 +0200)]
disable fields not available in varnish 2.0.x
Several fields were added in commit 8775392. 3 of them make the build
fail when varnish 2.0.x is used. This patch makes them available only
when using varnish 3.x.
The commit message of 8775392 gives more detail on the rationale behind
this way of doing.
Florian Forster [Wed, 7 Aug 2013 06:33:13 +0000 (08:33 +0200)]
sigrok plugin: Ensure consistent logging prefix.
* Make sure all logging is using the "sigrok plugin: " prefix.
* Improved logging when handling the "LogLevel" option.
* Renamed free_drvopts() to sigrok_free_drvopts(). All functions now use the
"sigrok_" prefix.
* Don't abort parsing a "Device" block when encountering an incorrect number of
arguments. The cf_util_* functions will complain about that.
Replace the value_list_to_string() function with a version which is optimized
for data sets with a single data source. The original function is still used
for data sets with multiple data sources. This allows to reduce the number of
calls to snprintf() in this (very common) case, resulting in ~2% speedup.
stats plugin: Don't check the value of '(value_t).derive'.
statsd_parse_value() will write to (value_t).gauge, so don't read from another
member of the union. This also fixes problems with counter values being zero,
for whatever that is supposed to be useful for.
Marc Fournier [Mon, 22 Jul 2013 14:34:04 +0000 (16:34 +0200)]
update build system to reflect switch to libmnl
"./configure" was previously checking for libnetlink and setting
"-lmnl" if found, which was obviously calling for trouble. With
this patch, the last references to libnetlink are dead and buried.
NB: linux/netlink.h and friends are still included here and there
though, but these are not related to libnetlink.
Marc Fournier [Fri, 19 Jul 2013 14:23:56 +0000 (16:23 +0200)]
netlink: fix segfault & make advanced options work again
A type mismatch and offset mistake was preventing the interface list
from getting iterated. This was making collectd segfault when the
"QDisc", "Class" or "Filter" options were enabled.
Restructure to compile with all combos of HAVE_TCA_STATS(2)
We want to compile with all combinations of
HAVE_TCA_STATS(2) set/unset and at the same time
protect against submitting the stats twice (if both
are supported).
Introduce "stats_found" and set and attribute on it
to avoid having the compiler complain about it.
This allows us to bury the specific structs under
each HAVE_TCA_STATS(2) #if ...