thresholds: Log the current value of a DS value when generating an OKAY notification
Coding style: fix indents
indents
HTTP Digest support for curl plugins
memory plugin: fix submit multivalue (fill vl.type)
redis allows passwords up to 512 characters long
Merge pull request #525 from collectd/feature-better-graphite-escape
Graphite deals poorly with metric names containing quotes.
Graphite deals poorly with metric names containing quotes.
Graphite deals poorly with metric names containing quotes.
Sanitize graphite metrics with our own escaping function,
better suited for this use-case than the one in `utils_parse_option`
Sanitize graphite metrics with our own escaping function,
better suited for this use-case than the one in `utils_parse_option`
Merge remote-tracking branch 'origin/pr/524'
removed invalid space from macro definition
Merge remote-tracking branch 'github/master'
contrib/collection.cgi: Add license header.
Thanks for Mirko and Sebastian to agreeing to this licensing!
Thanks for Mirko and Sebastian to agreeing to this licensing!
Fix a typo in the manpage
Signed-off-by: Ruben Kerkhof <ruben@rubenkerkhof.com>
Signed-off-by: Ruben Kerkhof <ruben@rubenkerkhof.com>
Merge pull request #497 from pyr/feature-conntrack-pct
Report used, max and percent values for conntrack consumption
Report used, max and percent values for conntrack consumption
integrate comments by @octo
provide conntrack percentage values
collectd.conf(5): Correct default value used.
memory plugin: Use the new plugin_dispatch_multivalue() interface.
This takes calculation of percentages off of our hands.
This takes calculation of percentages off of our hands.
Merge branch 'master' into katzj/memory
Merge branch 'katzj/swap'
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.
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.
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.
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.
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?).
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?).
swap plugin: Use the "complex" configuration.
It's actually shorter and handles non-boolean arguments more intelligently.
It's actually shorter and handles non-boolean arguments more intelligently.
swap plugin: Remove left-over debugging message.
swap plugin: Switch to the new plugin_dispatch_multivalue() interface.
src/plugin.[ch]: Implement plugin_dispatch_multivalue().
collectd.conf(5): Document the memory plugin's Values{Absolute,Percentage} options.
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.
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.
memory plugin: Use the "complex" configuration.
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.
* 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.
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.
Signed-off-by: Florian Forster <octo@collectd.org>
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.
Signed-off-by: Florian Forster <octo@collectd.org>
collectd.conf(5): Document "Values{Absolute,Percentage} for the swap plugin.
Add support for ReportAbsolute and ReportPercentage in swap plugin
Add ReportAbsolute and ReportPercentage options to the swap plugin
so that values can be converted to percentages much like in the
df plugin
Signed-off-by: Florian Forster <octo@collectd.org>
Add ReportAbsolute and ReportPercentage options to the swap plugin
so that values can be converted to percentages much like in the
df plugin
Signed-off-by: Florian Forster <octo@collectd.org>
write_riemann plugin: Coding style fixes.
Merge branch 'collectd-5.4'
Conflicts:
src/write_graphite.c
Conflicts:
src/write_graphite.c
Merge branch 'collectd-5.3' into collectd-5.4
Conflicts:
src/zfs_arc.c
Conflicts:
src/zfs_arc.c
Merge branch 'collectd-4.10' into collectd-5.3
Revert "curl_xml.c: avoid using uninitalized variable in error message"
This reverts commit bbbf37d55a3959951604c4be482e9a705a0f86d9.
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.
This reverts commit bbbf37d55a3959951604c4be482e9a705a0f86d9.
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.
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 !
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 !
curl_xml.c: avoid using uninitalized variable in error message
Thanks to @trtrmitya for reporting this. Fixes GH#507
Thanks to @trtrmitya for reporting this. Fixes GH#507
fix wg_send_buffer to reconnect tcp sockets on failure
Conflicts:
src/write_graphite.c
Conflicts:
src/write_graphite.c
curl plugin: Fixed a segfault when using <Match> without an Instance.
Thanks to Alexander Golovko for reporting this in
http://bugs.debian.org/732701
Thanks to Alexander Golovko for reporting this in
http://bugs.debian.org/732701
Merge pull request #502 from rtkmhart/write_graphite_issue_430
Fix issue #430 where write_graphite fails to reconnect
Fix issue #430 where write_graphite fails to reconnect
Merge pull request #414 from kri5/master
Adds Blacklist/Whitelist support to snmp plugin
Adds Blacklist/Whitelist support to snmp plugin
fix wg_send_buffer to reconnect tcp sockets on failure
Adds Blacklist/Whitelist support to snmp plugin
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)
Signed-off-by: Christophe Courtaut <christophe.courtaut@gmail.com>
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)
Signed-off-by: Christophe Courtaut <christophe.courtaut@gmail.com>
Merge pull request #499 from pyr/feature-cpu-active
Report a CPU "active" value, summing non-idle values
Report a CPU "active" value, summing non-idle values
Merge pull request #498 from pyr/feature-relative-load
Feature relative load
Feature relative load
Merge pull request #362 from mikepilat/add-snmpv3
Add SNMPv3 authentication and encryption support
Add SNMPv3 authentication and encryption support
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).
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).
Document changes, mostly taken from @vbartoni's original work
Adapt to @octo's comments for PR #344
Merge remote-tracking branch 'github/master'
Merge pull request #495 from abhinav-upadhyay/fix-readme
Remove 'the' from in front of collectd.
Remove 'the' from in front of collectd.
Remove 'the' from in front of collectd.
collection3: Fix data source names
Data sources were renamed in 6c1415d, but the data source names for some
of these entries still referenced the old data sources.
Data sources were renamed in 6c1415d, but the data source names for some
of these entries still referenced the old data sources.
Merge branch 'collection3-data-sources' of git://github.com/raimue/collectd
Merge branch 'netlinkfix' of git://github.com/marekbecka/collectd
Merge branch 'ff/network'
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.
Signed-off-by: Florian Forster <octo@collectd.org>
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.
Signed-off-by: Florian Forster <octo@collectd.org>
src/types.db: Remove maximum value on "cache_size".
Fixes #466. Thanks to @dlacko for pointing this out!
Fixes #466. Thanks to @dlacko for pointing this out!
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.
Signed-off-by: Florian Forster <octo@collectd.org>
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.
Signed-off-by: Florian Forster <octo@collectd.org>
collection3: Fix data source names
Data sources were renamed in 6c1415d, but the data source names for some
of these entries still referenced the old data sources.
Data sources were renamed in 6c1415d, but the data source names for some
of these entries still referenced the old data sources.
Merge pull request #459 from pyr/feature-riemann-attributes
Add support for custom attributes.
Add support for custom attributes.
Ignore more build artifacts
This hides:
- vl_utils_lookup_test
- junk left behind by pod2man
- the buildperl dir
This hides:
- vl_utils_lookup_test
- junk left behind by pod2man
- the buildperl dir
Add documentation bits for the new 'Attribute' directive
Add support for custom attributes.
Refactor / modernize config parsing with configfile helpers
... as requested by @octo
... as requested by @octo
Merge pull request #453 from vincentbernat/feature/parallel-dbi
Handle several databases in parallel with dbi plugin
Handle several databases in parallel with dbi plugin
Merge pull request #393 from mfournier/prevent-building-with-old-libpcap
Prevent building with old libpcap
Prevent building with old libpcap
Merge pull request #441 from katzj/localhost-sql
Fix handling of 127.0.0.1 instead of localhost for *sql plugins
Fix handling of 127.0.0.1 instead of localhost for *sql plugins
Merge pull request #452 from alexscott/master
Add a JMXProvider Class Loader to be able to load Provider using
Add a JMXProvider Class Loader to be able to load Provider using
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.
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.
dbi plugin: fix a warning mentioning snmp plugin
Merge pull request #444 from falzm/master
Append rules/targets to existing chain.
Append rules/targets to existing chain.
Add a JMXProvider Class Loader to be able to load Provider using
getConnectorAsService from JMXConnectorFactory. The protocol remoting-jmx
using by JBOSS > 7 need that to work.
getConnectorAsService from JMXConnectorFactory. The protocol remoting-jmx
using by JBOSS > 7 need that to work.
fix error message in target_{replace,set}
Remove erroneous hint that "Type" can be altered. Also correct a small
typo. Thanks to @mjulian for pointing that out !
Fixes GH#448
Remove erroneous hint that "Type" can be altered. Also correct a small
typo. Thanks to @mjulian for pointing that out !
Fixes GH#448
Rewritten condition more clearly.
Append rules/targets to existing chain.
This patch allows appending rules/targets to an existing chain instead
of overwriting it. This way, it is possible to split filter chains
definition among several files.
This patch allows appending rules/targets to an existing chain instead
of overwriting it. This way, it is possible to split filter chains
definition among several files.
Merge pull request #417 from udoprog/udoprog/riemann
write_riemann: Add extra meta strings as attributes in notifications
write_riemann: Add extra meta strings as attributes in notifications
Merge pull request #425 from spotify/master
write_riemann plugin: Receive acknowledge message when using TCP.
write_riemann plugin: Receive acknowledge message when using TCP.
Update collectd.conf.pod
spotted by lukas227 in IRC:
23:43 < lukas227> Hi, I think I found a mistake in the threshold.conf(5) man page: the example
THRESHOLD CONFIGURATION is within <Threshold></Threshold> tags, but should
probably be within <Plugin "threshold"></Plugin> tags (doesn work with
<Threshold> for me)
Day changed to 27 Sep 2013
Signed-off-by: Florian Forster <octo@collectd.org>
spotted by lukas227 in IRC:
23:43 < lukas227> Hi, I think I found a mistake in the threshold.conf(5) man page: the example
THRESHOLD CONFIGURATION is within <Threshold></Threshold> tags, but should
probably be within <Plugin "threshold"></Plugin> tags (doesn work with
<Threshold> for me)
Day changed to 27 Sep 2013
Signed-off-by: Florian Forster <octo@collectd.org>
configure.in: Move the useragent config to a more appropriate block.
Avoid using first person in the error message
Signed-off-by: Florian Forster <octo@collectd.org>
Signed-off-by: Florian Forster <octo@collectd.org>
Fix handling of 127.0.0.1 instead of localhost for *sql plugins
The mysql and postgresql plugins have special handling if you
use localhost as your hostname. Sometimes you need to use 127.0.0.1
instead and want to not have that make changes to the hostname
for the metrics.
The mysql and postgresql plugins have special handling if you
use localhost as your hostname. Sometimes you need to use 127.0.0.1
instead and want to not have that make changes to the hostname
for the metrics.
Add support for a custom user agent at compile-time
Make it possible to specify a custom user agent at compile time
and then use on all libcurl calls instead of just going with
PACKAGE_NAME/PACKAGE_VERSION
Make it possible to specify a custom user agent at compile time
and then use on all libcurl calls instead of just going with
PACKAGE_NAME/PACKAGE_VERSION
libcollectdclient: Implement the lcc_server_set_interface() function.
Copied from the network plugin. License changed to MIT with permission
from Max Henkel, thank you very much!
Copied from the network plugin. License changed to MIT with permission
from Max Henkel, thank you very much!
Replace you with your in error message
Signed-off-by: Florian Forster <octo@collectd.org>
Signed-off-by: Florian Forster <octo@collectd.org>
fix typos
Add support for 64bit netlink counters to the netlink plugin
make build outputs more quiet
"make V=1" reverts the output to the usual verbosity level
Thanks to @jbergstroem for suggesting this !
"make V=1" reverts the output to the usual verbosity level
Thanks to @jbergstroem for suggesting this !
Autoupdate
configure.in has been deprecated for a while now
write_graphite: avoid printing out the NULL value in error messages
aquaero: Fix type names on aquaero plugin.
The percentage values are now reported as "percent" and the "flow"
type is included in the types.db list.
The percentage values are now reported as "percent" and the "flow"
type is included in the types.db list.
Display status of mic module
Merge remote-tracking branch 'origin/master'
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)
Fixes GH#428
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)
Fixes GH#428
write_riemann plugin: Receive acknowledge message when using TCP.
Not receiving an acknowledge message when communicating with riemann over TCP
will cause the riemann instance to eventually hang for extended periods of time
because of resource exhaustion.
Took the time to reaorganize the riemann_send function to simplify locking.
Not receiving an acknowledge message when communicating with riemann over TCP
will cause the riemann instance to eventually hang for extended periods of time
because of resource exhaustion.
Took the time to reaorganize the riemann_send function to simplify locking.