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"
lpar: make dots in configure.in consistent with other plugins
add 2 missing data types for df percentages
tail plugin: Remove custom string config function.
Bump version to 5.3.1; Update ChangeLog.
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
contrib/redhat/init.d-collectd: Rename variable to …PIDDIR.
Github: #298
Github: #298
allow for non-root user to run script.
As collectdmon handles its pidfile, this would require to change
COLLECTMONPIDIR to something else than only-root writeable /var/run
Change-Id: I45d2de9dcc976f3b1e18cef5b6b78eeca1d270b2
Signed-off-by: Florian Forster <octo@collectd.org>
As collectdmon handles its pidfile, this would require to change
COLLECTMONPIDIR to something else than only-root writeable /var/run
Change-Id: I45d2de9dcc976f3b1e18cef5b6b78eeca1d270b2
Signed-off-by: Florian Forster <octo@collectd.org>
Merge branch 'collectd-4.10' into collectd-5.2
Don't notify continuously when MySQL slave SQL thread is running
Signed-off-by: Florian Forster <octo@collectd.org>
Signed-off-by: Florian Forster <octo@collectd.org>
Add "=encoding" header to all manual pages.
http://bugs.debian.org/708718
http://bugs.debian.org/708718
Merge branch 'yaccz/curl-status'
curl plugin: Use cdtime to calculate response times.
curl plugin: Don't abort when reading the response code failed.
curl plugin: Remove the curl-only auxiliary configuration functions.
curl plugin: Fix compile issue (long vs. long*).
exec plugin: Document that defaulting to PUTVAL is no longer done
Signed-off-by: Florian Forster <octo@collectd.org>
Signed-off-by: Florian Forster <octo@collectd.org>
Merge branch 'more-varnish-stats'
Merge branch 'document-varnish-instance-block' into collectd-5.2
modbus plugin: Refactor the new reconnection code.
Avoid the goto() and switch() statements.
Github: #294
Avoid the goto() and switch() statements.
Github: #294
Cleanup modbus connection if wrong result
Change-Id: I1b7520442d7663d5bc2529369e27e3e858fe2168
Signed-off-by: Florian Forster <octo@collectd.org>
Change-Id: I1b7520442d7663d5bc2529369e27e3e858fe2168
Signed-off-by: Florian Forster <octo@collectd.org>
Fix modbus segfault / New strategy for connecting
The previous implementation had a reconnection loop which should not
really be necessary. Idea tried here is to check if connection is alive,
and establish it if not. Change was begun because previously connection
would only be attempted as a retry, so on first pass a NULL was handed to
libmodbus which caused segmentation faults reproducibly.
Signed-off-by: Florian Forster <octo@collectd.org>
The previous implementation had a reconnection loop which should not
really be necessary. Idea tried here is to check if connection is alive,
and establish it if not. Change was begun because previously connection
would only be attempted as a retry, so on first pass a NULL was handed to
libmodbus which caused segmentation faults reproducibly.
Signed-off-by: Florian Forster <octo@collectd.org>
src/configfile.c: Add the "AutoLoadPlugin" option.
When enabled, <Plugin ...> blocks will automatically load plugins.
Thanks to Tim Bunce for suggesting this!
Github: #333
When enabled, <Plugin ...> blocks will automatically load plugins.
Thanks to Tim Bunce for suggesting this!
Github: #333
src/plugin.c: Fix a comment regarding duplicate plugin_load() calls.
src/plugin.c: Move the perl and python "global" magic to plugin_load().
The config file handling is really not the best place to have this. Also,
the feature I'm working on would have to copy this magic if left in the
config code, and I *really* don't want that.
The config file handling is really not the best place to have this. Also,
the feature I'm working on would have to copy this magic if left in the
config code, and I *really* don't want that.
collectd.conf(5): Document the new "LoadPlugin" behavior.
Github: #333
Github: #333
src/plugin.c: Make plugin_load() idempotent, i.e. don't load plugins twice.
Previously, multiple 'LoadPlugin "foo"' lines would dlopen the same .so file
twice and call its module_register function twice. This would eventually result
in complaints about callbacks with the same name being registered. With this
patch each plugin is only loaded only once, allowing people to write "self
contained" configuration segments.
Thanks to Tim Bunce for suggesting this!
Github: #333
Previously, multiple 'LoadPlugin "foo"' lines would dlopen the same .so file
twice and call its module_register function twice. This would eventually result
in complaints about callbacks with the same name being registered. With this
patch each plugin is only loaded only once, allowing people to write "self
contained" configuration segments.
Thanks to Tim Bunce for suggesting this!
Github: #333
Merge branch 'ef/mic'
README: Document power consumption being collected by the mic plugin.
mic plugin: Fix indentation issue.
mic plugin: Change the name of the power settings …
… to reflec the names documented in the manpage.
… to reflec the names documented in the manpage.
varnish plugin: update config docs for new collectors