target_scale: Fixed a `break strict-aliasing rules' compiler warning.
… identified by GCC 4.4.3 using -O3.
… identified by GCC 4.4.3 using -O3.
configure: In the summary, say which plugins have been disabled by the user.
postgresql plugin: Let the read callback fail if all queries failed.
csv plugin: Use the value list's interval when outputting to STDOUT.
utils_db_query: Added support for custom plugin intervals.
The interval is specified when calling udb_query_prepare_result(). A value
less than or equal to zero may be used to let udb use the default
(interval_g).
The dbi, oracle, and postgresql plugins have been updated accordingly.
The interval is specified when calling udb_query_prepare_result(). A value
less than or equal to zero may be used to let udb use the default
(interval_g).
The dbi, oracle, and postgresql plugins have been updated accordingly.
utils_db_query: Introduced the query & result preparation areas.
These objects are used to store the temporary data needed during execution of
a query, which was previously stored in the query object itself. This allows
the query object to be used read-only, making it possible to use it from
multiple threads in parallel.
The dbi, oracle and postgresql plugins have been updated to use that
(mandatory) new feature.
These objects are used to store the temporary data needed during execution of
a query, which was previously stored in the query object itself. This allows
the query object to be used read-only, making it possible to use it from
multiple threads in parallel.
The dbi, oracle and postgresql plugins have been updated to use that
(mandatory) new feature.
postgresql plugin: Don't abort read(), if a query's version doesn't match.
There is no reason to skip unrelated queries because of that.
There is no reason to skip unrelated queries because of that.
postgresql plugin: Use the "right" `interval' when passing a param to a query.
… i.e., use the database specific interval, if configured.
… i.e., use the database specific interval, if configured.
postgresql plugin: Added the ``Interval'' config option.
This option may be used to specify the read interval with which to query a
database.
This option may be used to specify the read interval with which to query a
database.
postgresql plugin: Use the "complex read" mechanism.
This way, multiple databases are queried in parallel (depending on the number
of read threads).
This way, multiple databases are queried in parallel (depending on the number
of read threads).
postgresql plugin: Connect to the database in the read function.
… rather than the init function. This way, we don't need access to some global
list of databases in the init function and it's done in preparation to using
the "complex read" system.
… rather than the init function. This way, we don't need access to some global
list of databases in the init function and it's done in preparation to using
the "complex read" system.
plugin: Introduced a concept of ``read groups''.
Using a new parameter added to plugin_register_complex_read(), it's now
possible to specify a group name for the registered callback. This name may
later be used to unregister *all* callbacks belonging to that group using the
newly added function plugin_unregister_read_group().
This might come in handy for plugins that register multiple read callbacks but
do not want to keep track of all of them in order to be able to unregister
them.
Using a new parameter added to plugin_register_complex_read(), it's now
possible to specify a group name for the registered callback. This name may
later be used to unregister *all* callbacks belonging to that group using the
newly added function plugin_unregister_read_group().
This might come in handy for plugins that register multiple read callbacks but
do not want to keep track of all of them in order to be able to unregister
them.
utils_llist: Added `llist_search_custom()'.
This function may be used for lookups using a custom compare function, i.e.
lookups that are not necessarily based on the name of the registered list
entry but some information specific to the used data-type.
This function may be used for lookups using a custom compare function, i.e.
lookups that are not necessarily based on the name of the registered list
entry but some information specific to the used data-type.
src/utils_format_json.c: Use a format string to add strings to the buffer.
While I hope that DS names can be trusted, I'm feeling more comfortable this
way nonetheless.
While I hope that DS names can be trusted, I'm feeling more comfortable this
way nonetheless.
utils_format_json: include ds names and types in json output.
Make it easier for external systems (i.e. those without visibility into
types.db) to interpret collectd json data.
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Make it easier for external systems (i.e. those without visibility into
types.db) to interpret collectd json data.
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
src/utils_format_json.c: Convert all data source types to rates except GAUGE.
This is basically the same fix as previously done for the write_http plugin.
This is basically the same fix as previously done for the write_http plugin.
write_http: make StoreRates work for JSON format, too.
StoreRates for write_http was inconsistent in that it only functioned
for WH_FORMAT_COMMAND. Extend StoreRates so that it works when using
WH_FORMAT_JSON, too.
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
StoreRates for write_http was inconsistent in that it only functioned
for WH_FORMAT_COMMAND. Extend StoreRates so that it works when using
WH_FORMAT_JSON, too.
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
write_http plugin: Fix the store rates option.
Convert all data source types to rates except GAUGE. Also, fixes some
indentation.
Convert all data source types to rates except GAUGE. Also, fixes some
indentation.
memcachec plugin: Add the "ExcludeRegex" config option.
curl plugin: Add the "ExcludeRegex" config option.
Introduces ExcludeRegexp to the tail plugin
Hi Florian
Florian Forster wrote:
> On Fri, Mar 19, 2010 at 06:13:14PM +0100, Peter Warasin wrote:
>> I'm searching for something like "ExcludeRegExp".
>
> no, something like that doesn't exist yet. I like the idea though, so
> I've added it to the [[Roadmap]] wiki page.
Attached is a patch which implements this.
The patch is against 4.9.1
Please tell me if you want me to rebase it to current svn
kind regards,
peter
--
:: e n d i a n
:: open source - open minds
:: peter warasin
:: http://www.endian.com :: peter@endian.com
Adds ExcludeRegex to the tail-match plugin
With this keyword it is possible to exclude a line from a match.
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Hi Florian
Florian Forster wrote:
> On Fri, Mar 19, 2010 at 06:13:14PM +0100, Peter Warasin wrote:
>> I'm searching for something like "ExcludeRegExp".
>
> no, something like that doesn't exist yet. I like the idea though, so
> I've added it to the [[Roadmap]] wiki page.
Attached is a patch which implements this.
The patch is against 4.9.1
Please tell me if you want me to rebase it to current svn
kind regards,
peter
--
:: e n d i a n
:: open source - open minds
:: peter warasin
:: http://www.endian.com :: peter@endian.com
Adds ExcludeRegex to the tail-match plugin
With this keyword it is possible to exclude a line from a match.
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Merge branch 'fs/openvpn'
Conflicts:
src/collectd.conf.pod
src/openvpn.c
Conflicts:
src/collectd.conf.pod
src/openvpn.c
Merge branch 'collectd-4.9'
openvpn plugin: Fix a copy'n'paste error in the "new naming schema".
collectd.conf(5): Document the "ImprovedNamingSchema" option of the OpenVPN plugin.
collectd.conf(5): Document the "Collect{IndividualUsers,UserCount}" options of the OpenVPN plugin.
openvpn plugin: Rename the "OnlyAggregateUsers" option to "CollectIndividualUsers".
The semantic is inverted: When true (default) statistics for individual
users will be collected.
The "AggregateUsers" is now named "CollectUserCount" and a new name for
"Compression", "CollectCompression", has been added. This makes the names
of the config options consistent with one another.
The module global configuration variables have been changed to _Bool
while I was at it.
The semantic is inverted: When true (default) statistics for individual
users will be collected.
The "AggregateUsers" is now named "CollectUserCount" and a new name for
"Compression", "CollectCompression", has been added. This makes the names
of the config options consistent with one another.
The module global configuration variables have been changed to _Bool
while I was at it.
openvpn plugin: Added copyright notice for Fabian Schuh.
src/openvpn.c: Re-indent the entire file.
Bugfix that made collectd inflooping if no openvpn connection
Name changes - removed transfer statistics (doesn't make sense here)
Added Users Counter
fixed typo
Bugfix with multiple files
[openvpn] new feature 'SumOverAllUsers'
netapp plugin: Fix a syntax error in an error message.
Thanks to facade from IRC for the hint.
Thanks to facade from IRC for the hint.
Merge branch 'cstenac'
Merge branch 'collectd-4.9'
Merge branch 'collectd-4.8' into collectd-4.9
Conflicts:
src/exec.c
Conflicts:
src/exec.c
Exec plugin: Update copyright header.
processes plugin: Fix a couple of hard-coded array sizes.
Since I was picky when accepting Clément's patch, I felt like I owed it
to clean up the entire file ;)
Since I was picky when accepting Clément's patch, I felt like I owed it
to clean up the entire file ;)
processes plugin: Update copyright and author information.
collectd.conf(5): Document the new "PrintSeverity" option.
logfile plugin: Rename the "PrintLevel" option to "PrintSeverity".
Impove level print
Misc fixes, thanks to octo for pointing them out
Add missing declarations for anonymous and code
configfile: cf_read_dir: Don't abort reading a directory when reading one file fails.
src/configfile.c: Fix a minor typo.
src/configfile.[ch]: Add "cf_util_get_int".
Helper function to parse an "int".
Helper function to parse an "int".
src/configfile.[ch]: Implement "cf_util_get_string_buffer".
A function to parse a config node into a char buffer of limited size.
A function to parse a config node into a char buffer of limited size.
Processes plugin: Fix a minor typo.
Exec plugin: Add a missing folding marker.
Exec plugin: Set the "noreturn" attribute on the "exec_child" function.
Exec plugin: Reset the "PL_RUNNING" if "fork_child()" fails.
libiptc: avoid strict-aliasing warnings
libiptc: avoid strict-aliasing warnings
In file included from libiptc/libip4tc.c:117:0:
libiptc/libiptc.c: In function ‘__iptcc_p_del_policy’:
libiptc/libiptc.c:826:4: warning: dereferencing type-punned pointer will break
strict-aliasing rules
libiptc/libiptc.c: In function ‘iptc_get_target’:
libiptc/libiptc.c:1650:4: warning: dereferencing type-punned pointer will break
strict-aliasing rules
libiptc/libip4tc.c: In function ‘dump_entry’:
libiptc/libip4tc.c:157:3: warning: dereferencing type-punned pointer will break
strict-aliasing rules
CC libiptc/libip6tc.lo
In file included from libiptc/libip6tc.c:112:0:
libiptc/libiptc.c: In function ‘__iptcc_p_del_policy’:
libiptc/libiptc.c:826:4: warning: dereferencing type-punned pointer will break
strict-aliasing rules
libiptc/libiptc.c: In function ‘ip6tc_get_target’:
libiptc/libiptc.c:1650:4: warning: dereferencing type-punned pointer will break
strict-aliasing rules
libiptc/libip6tc.c: In function ‘dump_entry’:
libiptc/libip6tc.c:188:3: warning: dereferencing type-punned pointer will break
strict-aliasing rules
Signed-off-by: Jan Engelhardt <jengelh@medozas.de>
Rebased for collectd/src/owniptc: Alan Pevec <apevec@gmail.com>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
libiptc: avoid strict-aliasing warnings
In file included from libiptc/libip4tc.c:117:0:
libiptc/libiptc.c: In function ‘__iptcc_p_del_policy’:
libiptc/libiptc.c:826:4: warning: dereferencing type-punned pointer will break
strict-aliasing rules
libiptc/libiptc.c: In function ‘iptc_get_target’:
libiptc/libiptc.c:1650:4: warning: dereferencing type-punned pointer will break
strict-aliasing rules
libiptc/libip4tc.c: In function ‘dump_entry’:
libiptc/libip4tc.c:157:3: warning: dereferencing type-punned pointer will break
strict-aliasing rules
CC libiptc/libip6tc.lo
In file included from libiptc/libip6tc.c:112:0:
libiptc/libiptc.c: In function ‘__iptcc_p_del_policy’:
libiptc/libiptc.c:826:4: warning: dereferencing type-punned pointer will break
strict-aliasing rules
libiptc/libiptc.c: In function ‘ip6tc_get_target’:
libiptc/libiptc.c:1650:4: warning: dereferencing type-punned pointer will break
strict-aliasing rules
libiptc/libip6tc.c: In function ‘dump_entry’:
libiptc/libip6tc.c:188:3: warning: dereferencing type-punned pointer will break
strict-aliasing rules
Signed-off-by: Jan Engelhardt <jengelh@medozas.de>
Rebased for collectd/src/owniptc: Alan Pevec <apevec@gmail.com>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Merge remote branch 'origin/collectd-4.8' into collectd-4.8
configure.in: Check for "htonll".
The first patch adds support to check if the htonl and htonll functions
(which are used in AIX port) are available in configure. Until now the
AIX port used these functions without perform any existence test.
Signed-off-by: Florian Forster <octo@leeloo.lan.home.verplant.org>
The first patch adds support to check if the htonl and htonll functions
(which are used in AIX port) are available in configure. Until now the
AIX port used these functions without perform any existence test.
Signed-off-by: Florian Forster <octo@leeloo.lan.home.verplant.org>
memcached plugin: Add hack for AIX compatibility.
The second one port memcached plugin to AIX. Since AIX don't have
MSG_DONTWAIT flag support, we use MSG_NONBLOCK... and we hope to work
fine ever :)
Signed-off-by: Florian Forster <octo@leeloo.lan.home.verplant.org>
The second one port memcached plugin to AIX. Since AIX don't have
MSG_DONTWAIT flag support, we use MSG_NONBLOCK... and we hope to work
fine ever :)
Signed-off-by: Florian Forster <octo@leeloo.lan.home.verplant.org>
oracle plugin: Fix semantics of OCIAttrGet.
Apparently it returns success if it could fetch the parameter value and
doesn't interpret the value itself. So returning NULL when querying for
OCI_ATTR_SERVER_STATUS does not result in an error. Handle this as a
lost connection.
Thanks to Sven for pointing this out :)
Apparently it returns success if it could fetch the parameter value and
doesn't interpret the value itself. So returning NULL when querying for
OCI_ATTR_SERVER_STATUS does not result in an error. Handle this as a
lost connection.
Thanks to Sven for pointing this out :)
Add missing fetch of virtual size for Mach
Add support for fetching data (aka anonymous) and code virtual memory size
Minor typo
Add an option to add the severity of the message in the logfile plugin
write_http plugin: Replace tabs with spaces.
So the entire file is indented the same way.
So the entire file is indented the same way.
.mailmap: Added Rodolphe Quiedeville <rquiedeville@bearstech.com>.
His name was mis-spelled in one commit as Rodolphe Quiedeville*l*.
His name was mis-spelled in one commit as Rodolphe Quiedeville*l*.
write_http plugin: Fixed a memory leak in the "StoreRates" code.
write_http plugin: Add a StoreRates option.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Merge branch 'collectd-4.9'
Merge branch 'collectd-4.8' into collectd-4.9
Conflicts:
src/ping.c
Conflicts:
src/ping.c
contrib/redhat/collectd.spec: Updated for version 4.9.
I've attached a patch for the RPM specfile to allow it to build collectd 4.9.0,
including Java support.
I've attached a patch for the RPM specfile to allow it to build collectd 4.9.0,
including Java support.
debian/: Removed ancient Debian package files.
You might want to look at git://git.tokkee.org/pkg-collectd.git instead.
You might want to look at git://git.tokkee.org/pkg-collectd.git instead.
configure.in: Fix three small typos.
Build system: Put Java class files into a .jar file.
Hi,
I was wondering why the java plugin api class files are published under
share/collectd/java. Ideally, a java-plugin.jar file containing all the class
files should get published rather than the individual class files.
Additionally, the jar files IMO should get published to the lib directory where
the so files are sitting rather than the share directory.
Same holds true for jmx class files as well (probably jmx.jar?).
I could work on this if everyone is okay with it.
Regards
Amit
Hi,
I was wondering why the java plugin api class files are published under
share/collectd/java. Ideally, a java-plugin.jar file containing all the class
files should get published rather than the individual class files.
Additionally, the jar files IMO should get published to the lib directory where
the so files are sitting rather than the share directory.
Same holds true for jmx class files as well (probably jmx.jar?).
I could work on this if everyone is okay with it.
Regards
Amit
src/utils_cmd_listval.c: Fix a memory leak.
Thanks to Peter Warasin for figuring this out. His "garbage collector" patch
may replace this solution in future versions of collectd.
Thanks to Peter Warasin for figuring this out. His "garbage collector" patch
may replace this solution in future versions of collectd.
Bugfix: correctly handle spurious wakeups in pthread_cond_timedwait
This fixes problems storing data in rrd files on NetBSD 5.0 with more
than one CPU.
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
This fixes problems storing data in rrd files on NetBSD 5.0 with more
than one CPU.
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
src/utils_format_json.c: Use "isfinite" rather than "isinf".
Makes it a bit easier to read.
Makes it a bit easier to read.
src/collectd.h: Add fallback implementations of "isfinite" and "isinf".
utils_format_json: serialize nan and inf as null, as per JSON spec
I'm deserializing JSON output from the write_http plugin using ruby-yajl.
yajl was puking on the literal value nan encoded in the output.
[
{
"plugin": "memcached",
"interval": 10,
"host": "myhost",
"values": [
nan,
5
],
"time": 1265239180,
"plugin_instance": "",
"type_instance": "",
"type": "ps_count"
}
]
After some research, ECMA-262 15.12.3 says nan and infinite numbers
aren't representable in JSON and should be serialized as the string
null. I figure any strictly-compliant JSON parser will fail on parsing
JSON data containing nans as emitted by collectd's utils_format_json
routines.
This patch makes collectd's JSON output compliant in the case of
infinite or nan gauge values.
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
I'm deserializing JSON output from the write_http plugin using ruby-yajl.
yajl was puking on the literal value nan encoded in the output.
[
{
"plugin": "memcached",
"interval": 10,
"host": "myhost",
"values": [
nan,
5
],
"time": 1265239180,
"plugin_instance": "",
"type_instance": "",
"type": "ps_count"
}
]
After some research, ECMA-262 15.12.3 says nan and infinite numbers
aren't representable in JSON and should be serialized as the string
null. I figure any strictly-compliant JSON parser will fail on parsing
JSON data containing nans as emitted by collectd's utils_format_json
routines.
This patch makes collectd's JSON output compliant in the case of
infinite or nan gauge values.
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
ping plugin: Improved some error messages.
contextswitch plugin: Handle large counter/derive values correctly.
Using "strtoul" for derive_t values fails for large counter values.
Thanks to Martin Merkel for reporting this :)
Using "strtoul" for derive_t values fails for large counter values.
Thanks to Martin Merkel for reporting this :)
collectd{-python,.conf}(5): Fixed some typos.
Thanks to lintian(1) for catching those!
Thanks to lintian(1) for catching those!
collectd{-perl,.conf}(5), {my,postgre}sql plugins: Fixed some typos.
Thanks to lintian(1) for catching (some of) those! :-)
Thanks to lintian(1) for catching (some of) those! :-)
curl_xml plugin: Cast _Bool to long when calling curl_easy_setopt.
apache plugin: Fix collection of the "apache_connections" value with Apache 2.*.
Thanks to Gary (bug tracker) for pointing this out :)
Thanks to Gary (bug tracker) for pointing this out :)
contrib/collection.cgi: Add graphs for "apache_connections" and "apache_idle_workers".
Thanks to Gary (via the bug tracker).
Thanks to Gary (via the bug tracker).
apache plugin: Added support for the "IdleWorkers" field.
Thanks to Gary from the bug tracker for the suggestion and code :)
Thanks to Gary from the bug tracker for the suggestion and code :)
contrib/collection.cgi: Added ability to hide specified types.
It is useful when you don't want to see many graphs. How to use the patch:
apply it to collection.cgi and add lines with keyword ,,dontshowtype'' to
/etc/collectd/collection.conf:
dontshowtype: "if_errors"
dontshowtype: "if_packets"
Then you will see only if_octets types in "interface" plugin page.
Via Debian bug #566199.
It is useful when you don't want to see many graphs. How to use the patch:
apply it to collection.cgi and add lines with keyword ,,dontshowtype'' to
/etc/collectd/collection.conf:
dontshowtype: "if_errors"
dontshowtype: "if_packets"
Then you will see only if_octets types in "interface" plugin page.
Via Debian bug #566199.
src/filter_chain.c: Make info-message more verbose.
swap plugin: Put parsing of Linux 2.6 and <2.6 files into one loop.
src/common.[ch]: Implement “strtoderive”.
Simplifies error handling.
Simplifies error handling.
swap plugin: Remove trailing whitespace.
swap plugin - swap in/out does not work for kernels <2.6
It works on RedHat9 and 6 (don't ask). A more gracefull solution is
having a configuration option for choosing /proc/<foo> format I
suppose...
Hope it helps some sysadmins like me that are forced to maintained
anqituities in production.
Cheers
From 1da38c6d515f7fa4599b7b08e1284fb2ac9a504a Mon Sep 17 00:00:00 2001
From: Lorin Scraba <lorin@si-bemol.ro>
Date: Tue, 19 Jan 2010 15:16:29 -0800
Subject: [PATCH] swap plugin - swapin/out fix for older kernels - <2.6
Signed-off-by: Lorin Scraba <lorin@si-bemol.ro>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
It works on RedHat9 and 6 (don't ask). A more gracefull solution is
having a configuration option for choosing /proc/<foo> format I
suppose...
Hope it helps some sysadmins like me that are forced to maintained
anqituities in production.
Cheers
From 1da38c6d515f7fa4599b7b08e1284fb2ac9a504a Mon Sep 17 00:00:00 2001
From: Lorin Scraba <lorin@si-bemol.ro>
Date: Tue, 19 Jan 2010 15:16:29 -0800
Subject: [PATCH] swap plugin - swapin/out fix for older kernels - <2.6
Signed-off-by: Lorin Scraba <lorin@si-bemol.ro>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Use Curl AnyAuth (digest+basic) instead of just digest
Merge commit 'tokkee/sh/collectd-4.8' into collectd-4.8
src/collectd.c: Include the plugin directory in the usage output.
collectd.conf.in: Add the cURL-XML plugin.
exec plugin: Improved some error messages.
contrib/exec-munin.px: Add GPLv2 header.
Merge branch 'collectd-4.8' into collectd-4.9
Conflicts:
ChangeLog
Conflicts:
ChangeLog