Merge branch 'jr/json'
collectd.conf(5): Markup improvements for the curl_json plugin.
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).
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).
Mention libsigrok dependency
Merge remote-tracking branches 'github/pr/392' and 'github/pr/399' into jr/json
src/types.db: Remove the maximum value for "latency".
Github: #400
Github: #400
Merge remote-tracking branch 'github/master'
Merge remote-tracking branch 'github/pr/404'
Update clean.sh
statsd plugin: add TimerCount option
The "count" name was chosen over "num" to match the naming scheme
used by the node.js implementation.
The "count" name was chosen over "num" to match the naming scheme
used by the node.js implementation.
statsd plugin: add TimerSum option
statsd plugin: add TimerLower and TimerUpper options
The "lower" and "upper" names were chosen over "min" and "max"
to match the naming scheme used by the node.js implementation.
The "lower" and "upper" names were chosen over "min" and "max"
to match the naming scheme used by the node.js implementation.
fix .gitignore of lcc_features.h
.gitignore collectd-tg
curl_json plugin: warn when config expects a map and a number is provided
Moves the warning for strings in the number callback which was being called anyway.
This also serves to fix parsing numbers represented as JSON strings which was inadvertantly broken when adding array support.
Moves the warning for strings in the number callback which was being called anyway.
This also serves to fix parsing numbers represented as JSON strings which was inadvertantly broken when adding array support.
curl_json plugin: add an example of array access to the documented uWSGI example
curl_json plugin: document the new Sock option
curl_json plugin: free the socket name
curl_json plugin: style cleanups
curl_json plugin: use sstrerr for thread safety
curl_json plugin: support getting json from a Unix socket as well as a URL
curl_json plugin: separate the cj_curl_perform in to the curl and yajl parts
curl_json plugin: document being able to access arrays
curl_json plugin: support arrays
Allow access to data in JSON arrays. For example
{ workers: [ { requests: 10 }, { requests: 10 } ] }
can all be accessed with
workers/*/requests
or just one by using the index.
workers/1/requests
Allow access to data in JSON arrays. For example
{ workers: [ { requests: 10 }, { requests: 10 } ] }
can all be accessed with
workers/*/requests
or just one by using the index.
workers/1/requests
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.
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.
Merge remote-tracking branch 'origin/pr/376'
update copyright and authors list
remove redundant inclusion of time.h
Add sigrok to README/AUTHORS
Signed-off-by: Florian Forster <octo@collectd.org>
Signed-off-by: Florian Forster <octo@collectd.org>
Merge branch 'ff/statsd'
Merge branch 'pr/381'
src/collectd.conf.in: Unify indentation.
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.
* 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.
collectd.conf(5): sigrok plugin: Improve markup.
use pkg-config to locate libmnl and configure netlink plugin
rrdtool plugin: Minor performance improvement.
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.
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.
sigrok: Update docs to reflect config keyword change
sigrok: Change 'interval' option to 'MinimumInterval', and allow 0
A MinimumInterval of 0 means whatever the device sends gets dispatched
to collectd. This is the default.
A MinimumInterval of 0 means whatever the device sends gets dispatched
to collectd. This is the default.
Fix temperature type to be unit-agnostic
The minimum value of -273.15 implies Celcius, which is not necessarily
what is used for this type.
The minimum value of -273.15 implies Celcius, which is not necessarily
what is used for this type.
add sound pressure level type
Use value types according to sigrok measured quantity
Code consistency fixes
Code cleanup
Config errors should not be fatal
Factor out device initialization
Use gcc-specific __attribute__ to mark unused parameter
sigrok plugin
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.
Github: #358
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.
Github: #358
sigrok: build system setup
Fix pointer confusion for nested attribute parsing
A reference to a pointer is passed as data,
the resulting attribute payload should be stored in
the dereferenced location to return it to the caller.
A reference to a pointer is passed as data,
the resulting attribute payload should be stored in
the dereferenced location to return it to the caller.
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.
"./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.
update README to mention libmnl dependency
netlink: __attribute__ usage clarification
As requested by @octo in GitHub#376.
As requested by @octo in GitHub#376.
netlink: comments & cleanup
netlink: indentation & whitespace/tab consistency
Merge remote-tracking branch 'origin/pr/371'
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.
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.
libmnl: fix 2 mistakes preventing building with --enable-debug
More fixing of netlink build with different HAVE_...
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 ...
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 ...
Fix HAVE_TCA_STATS(2) checks in configure.in
Fix netlink.c to (almost) build
Update configure script to link with -lmnl
Initial libmnl porting attempt
df: remove trailing whitespaces
df: rename percentage types to a more generic name
Add support for incr/decr counts
replace nginx_{accepts,handled} DSs
reusing an existing DS is preferred. GH#227.
reusing an existing DS is preferred. GH#227.
* change nginx plugin for collectd to submit "nginx_accepts" and
* "nginx_handled"
* "nginx_handled"
add 2 missing data types for df percentages
tail plugin: Remove custom string config function.
Merge branch 'ym/limit_write_queue_length'
Merge branch 'collectd-5.3'
Conflicts:
src/plugin.c
Conflicts:
src/plugin.c
Merge branch 'collectd-5.2' into collectd-5.3
src/plugin.c: Some fixes for write limits.
* Log an error once per second.
* Coding style fixes.
* Separate function for calculating drop probability.
* Log an error once per second.
* Coding style fixes.
* Separate function for calculating drop probability.
src/configfile.c: Rename options to "WriteQueueLimit{High,Low}".
The original names are a bit long.
The original names are a bit long.
Fixed a bug with WriteQueueLengthLimitHigh is null/uninitialized
Signed-off-by: Florian Forster <octo@collectd.org>
Signed-off-by: Florian Forster <octo@collectd.org>
Fixes for code quality
Signed-off-by: Florian Forster <octo@collectd.org>
Signed-off-by: Florian Forster <octo@collectd.org>
fixed a bug in doc near new WriteQueueLengthLimit*
Signed-off-by: Florian Forster <octo@collectd.org>
Signed-off-by: Florian Forster <octo@collectd.org>
Added new WriteQueueLengthLimit (drop values when bigger)
Signed-off-by: Florian Forster <octo@collectd.org>
Signed-off-by: Florian Forster <octo@collectd.org>
src/plugin.c: Free the "data_sets" AVL tree.
This pops up every time I investigate memory leaks and it's annoying me.
This pops up every time I investigate memory leaks and it's annoying me.
write_graphite plugin: Don't call close() on invalid file descriptors.
write_graphite plugin: Don't call close() on invalid file descriptors.
write_graphite plugin: Actually check the return value of wg_send_message().
Assignment to "status" was missing.
Assignment to "status" was missing.
statsd plugin: Store values internally as double.
While the documentation states that "values should generally be integers", this
"should" is not taken in the strict RFC meaning. For compatibility with Etsy's
statsd, handle everything as a double up until the last possible moment.
While the documentation states that "values should generally be integers", this
"should" is not taken in the strict RFC meaning. For compatibility with Etsy's
statsd, handle everything as a double up until the last possible moment.
Merge branch 'collectd-5.3'
Conflicts:
src/collectd.conf.pod
Conflicts:
src/collectd.conf.pod
Merge branch 'collectd-5.2' into collectd-5.3
rrdtool, rrdcached plugins: Re-implement value_list_to_filename().
Faster version without snprintf().
Faster version without snprintf().
csv plugin: Re-implement value_list_to_filename().
The new implementation is faster, because it doesn't use snprintf().
The new implementation is faster, because it doesn't use snprintf().
src/common.c: Reimplement format_name for performance.
This is used from uc_update(), i.e. for every value list dispatched, and was
one of the most expensive functions thanks to snprintf().
This reduces total time spent in the format_name() function from 7.78% to 1.89%
during a network stress test.
This is used from uc_update(), i.e. for every value list dispatched, and was
one of the most expensive functions thanks to snprintf().
This reduces total time spent in the format_name() function from 7.78% to 1.89%
during a network stress test.
statsd plugin: Make metric names case-sensitive.
The StatsD by etsy is case sensitive, so we should do the same. Also, strcmp()
should have better performance than strcasecmp().
The StatsD by etsy is case sensitive, so we should do the same. Also, strcmp()
should have better performance than strcasecmp().
statsd plugin: Don't use strtok_r() to split multi-metric packets.
Profiling has shown that it is one of the bottle-necks.
Profiling has shown that it is one of the bottle-necks.
statsd plugin: Dont'a call common.c:parse_value().
parse_value() is doing a strdup() do it can remove trailing whitespace.
We don't need that for the statsd protocol, so we just call strtoull()
instead, improving performance but a couple of percent again.
parse_value() is doing a strdup() do it can remove trailing whitespace.
We don't need that for the statsd protocol, so we just call strtoull()
instead, improving performance but a couple of percent again.
statsd plugin: Avoid calling snprintf() in the hot path.
snprintf() is very expensive and the alternative is simple. This shaves
off about 7% of the time spent handling events.
snprintf() is very expensive and the alternative is simple. This shaves
off about 7% of the time spent handling events.
statsd plugin: Remove the prefix in the counter and gauge handlers.
The prefix is added in statsd_metric_lookup_unsafe(), so we don't need
to do this here anymore. Since snprintf() is expensive, this increases
performance considerably.
The prefix is added in statsd_metric_lookup_unsafe(), so we don't need
to do this here anymore. Since snprintf() is expensive, this increases
performance considerably.
Test for end of oid tree without breaking collection loop.
Merge branch 'fix-stringio-python2.7' of git://github.com/aelse/collectd
Merge branch 'fix-dstype-ordinal-decode_network_values' of git://github.com/aelse/collectd
Merge branch 'vbartoni/df'
df plugin: Remove trailing white space.