Merge branch 'pr/392'
curl_json plugin: style cleanups
curl_json plugin: use sstrerr for thread safety
Add sigrok to README/AUTHORS
Signed-off-by: Florian Forster <octo@collectd.org>
Signed-off-by: Florian Forster <octo@collectd.org>
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
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.
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
Merge remote-tracking branch 'origin/pr/371'
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.
fixes StringIO unicode handling in python 2.7
decode_network_values dstype is ordinal value of string literal
fix the build
statsd plugin: Implement the "TimerPercentile" configuration option.
collectd-threshold(5): Correct the description of the "Interesting" config option.
threshold plugin: Fix the "Interesting" configuration option.
Signed-off-by: Florian Forster <octo@collectd.org>
Signed-off-by: Florian Forster <octo@collectd.org>
Merge branch 'feature-write_graphite-udp' of git://github.com/jjmaestro/collectd
stats plugin: Add support for sets.
statsd plugin: Allow several metrics with the same name but different types.
This more closely mimicks Etsy's implementation.
This more closely mimicks Etsy's implementation.
statsd plugin: Implement the "Delete{Counters,Timers,Gauges}" options.
statsd plugin: Add configuration for Host and Port.
statsd plugin: Initial implementation.
write_graphite plugin: avoid flooding the log with the protocol error check
Moving the protocol error checking from `wg_callback_init` to `wg_config_node`.
This avoids flooding the log, as suggested by Florian Forster (@octo).
Moving the protocol error checking from `wg_callback_init` to `wg_config_node`.
This avoids flooding the log, as suggested by Florian Forster (@octo).
write_graphite plugin: config should fail on error
This is the preferred way of handling config, as it can be seen in snmp.c. It's
important to fail on a config error to simplify code in other callbacks.
This is the preferred way of handling config, as it can be seen in snmp.c. It's
important to fail on a config error to simplify code in other callbacks.
Unbreak type_inst value in collectd psql view.
Signed-off-by: Florian Forster <octo@collectd.org>
Signed-off-by: Florian Forster <octo@collectd.org>
Fix typo
recive -> receive
recive -> receive
Plugin df - reporting both percentage and absolute values
write_graphite plugin: Adding myself to AUTHORS :)
Merge branch 'xl/zfs'
zfs_arc plugin: Fix indentation.
zfs_arc plugin: Use a buffer with fixed size rather than allocating on the heap.
The key length is very predicable, so buffer length is not a problem.
The key length is very predicable, so buffer length is not a problem.
zfs_arc plugin: Add copyright information for Xin Li.
write_graphite plugin: Adding LogSendErrors to docs, README, etc.
write_graphite plugin: Adding LogSendErrors boolean flag
Sometimes we don't want to hog the syslog with errors that are produced
when the graphite server is down.
Especially for UDP, we want to be able to truly fire-and-forget
(remember to monitor UDP packet receipt failures though :) and having
errors written to the syslog is a burden that should be avoided.
Sometimes we don't want to hog the syslog with errors that are produced
when the graphite server is down.
Especially for UDP, we want to be able to truly fire-and-forget
(remember to monitor UDP packet receipt failures though :) and having
errors written to the syslog is a burden that should be avoided.
write_graphite plugin: Adding UDP support to docs, README, etc.
write_graphite plugin: Adding TCP/UDP support via config
UDP allows to "fire-and-forget" data while not bringing the servers down
due to TCP's connection oriented overhead.
The new versions of Graphite support both TCP and UDP streams so it made
sense to add UDP support.
UDP allows to "fire-and-forget" data while not bringing the servers down
due to TCP's connection oriented overhead.
The new versions of Graphite support both TCP and UDP streams so it made
sense to add UDP support.
write_riemann plugin: Implement the "TTLFactor" option.
Github: #336
Github: #336
Merge branch 'yaccz/curl-status'
Merge branch 'vb/df'
curl plugin: Fix compiler warning.
The compiler thinks the "start" variable may be used uninitialized.
The compiler thinks the "start" variable may be used uninitialized.
collectd.conf(5): Minor fixes.
df plugin: Rename the percent metrics.
* Change type to "percent".
* Use "<disk>-bytes" and "<disk>-inodes" as plugin instance. This way we're
able to use "percent" for both.
* Remove one level of indentation.
* Make casting more explicit (e.g. don't divide a float by a size_t).
* Change type to "percent".
* Use "<disk>-bytes" and "<disk>-inodes" as plugin instance. This way we're
able to use "percent" for both.
* Remove one level of indentation.
* Make casting more explicit (e.g. don't divide a float by a size_t).
df plugin: Remove trailing whitespace.
And fix indentation.
And fix indentation.
Plugin df: ReportPercentage
Plugin df free space as percentage.
Signed-off-by: Florian Forster <octo@collectd.org>
Signed-off-by: Florian Forster <octo@collectd.org>
Implement ARC data collection on FreeBSD.
Merge branch 'collectd-5.2' into collectd-5.3
src/configfile.c: Let errors in included files propagate up to cf_read().
cf_read_generic() returned NULL in two cases: Unable to read file and
file was empty. Since we wanted to allow empty includes, the "include
file with errors" case was not handled properly.
Github: #323
cf_read_generic() returned NULL in two cases: Unable to read file and
file was empty. Since we wanted to allow empty includes, the "include
file with errors" case was not handled properly.
Github: #323