pinba plugin: Turn most metrics into DERIVEs.
This way we don't need to keep track of the time ourselves. The new type
"float_counter_t" is used to convert floats into derive_ts.
This way we don't need to keep track of the time ourselves. The new type
"float_counter_t" is used to convert floats into derive_ts.
pinba plugin: Remove the "NI_MAXSERV" define.
pinba plugin: Turn the "Port" config option into a string.
This way service names can be used, too.
This way service names can be used, too.
pinba plugin: Added folding markers to all functions.
pinba plugin: Removed the dependency to libevent.
The filedescriptors are now watched using poll(2).
The filedescriptors are now watched using poll(2).
pinba plugin: Use mutexes rather than R/W-locks.
Mutexes are more portable and since only write locks were used they
act exactly the same way.
Mutexes are more portable and since only write locks were used they
act exactly the same way.
pinba plugin: pinba_socket_open: Rewrote the function ...
... with protocol independence (IPv6 support).
... with protocol independence (IPv6 support).
pinba plugin: Rename custom types to follow the "*_t" convention.
pinba plugin: pinba_udp_read_callback_fn: Streamlined the function a bit.
pinba plugin: service_statnode_collect: Coding style changes.
pinba plugin: Add temporary defines for default address and port.
Pinba plugin: Add Antony Dovgal as copyright holder.
A note stating where the original code was taken from has been added,
too.
A note stating where the original code was taken from has been added,
too.
Pinba plugin: Reorder the functions to get the callgraph right.
This fixes build issues introduced by removing the forward declarations.
This fixes build issues introduced by removing the forward declarations.
Pinba plugin: Picked some low-hanging fruit.
Removed includes already included via "collectd.h", moved variable
declarations before function declarations, fixed missing return
statements, and removed void statements.
Removed includes already included via "collectd.h", moved variable
declarations before function declarations, fixed missing return
statements, and removed void statements.
Build system: Make it possible to (conditionally) build the protobuf stuff.
The dependency for the module is still missing, but I don't know how to
specify that from the top of my head.
The dependency for the module is still missing, but I don't know how to
specify that from the top of my head.
src/Makefile.am: Order the plugins alphabetically.
And add "pinba.proto" to the distribution.
And add "pinba.proto" to the distribution.
Build system: Check for protoc-c and enable the Pinba plugin if it is found.
Writing autotools rules for pinba.
Add pinba plugin.
Merge branch 'collectd-4.9'
Merge branch 'collectd-4.8' into collectd-4.9
network plugin: Fix a severe memory leak.
A couple of bytes were leaked with every encrypted packet received.
A couple of bytes were leaked with every encrypted packet received.
rrdtool plugin: Correctly free the cache when shutting down.
network plugin: Be more strict when checking the return value of "setsockopt".
network plugin: Be more strict when checking the return value of "setsockopt".
network plugin: Print a warning when setting the interface on a unicast socket is not possible.
Build system: Check for the "if_indextoname" function.
Use this information rather than hard-coding "if Linux …"
Use this information rather than hard-coding "if Linux …"
Build system: Check for "struct ip_mreqn".
Use this rather than hard-coding "if Linux …"
Use this rather than hard-coding "if Linux …"
network plugin: Interface option moved to Server/Listen block
Hello list!
On Tue, Mar 09, 2010 at 06:17:35PM +0100, Florian Forster wrote:
[...]
> On Fri, Feb 26, 2010 at 12:49:02PM +0100, Max Henkel wrote:
[...]
> > @@ -2842,6 +2929,8 @@ static int network_config (oconfig_item_t *ci) /* {{{ */
> > network_config_add_server (child);
> > else if (strcasecmp ("TimeToLive", child->key) == 0)
> > network_config_set_ttl (child);
> > + else if (strcasecmp ("Interface", child->key) == 0)
> > + network_config_set_interface (child);
> > else if (strcasecmp ("MaxPacketSize", child->key) == 0)
> > network_config_set_buffer_size (child);
> > else if (strcasecmp ("Forward", child->key) == 0)
>
> Starting with the signing and encryption option, we have <Server> and
> <Listen> blocks that take socket specific options. It'd be kind of
> inconsistent with the "TimeToLive" and other options, but maybe adding
> this to those blocks would be even better. It would enable to forward
> data from one multicast group on interface-0 to the *same* multicast
> group on interface-1, which I guess could be useful. But maybe it's an
> academic case, I dunno.. Thoughts, anyone?
[...]
This patch provides the configuration possibility inside the
Server/Listen-block, but I'm unsure if the "int interface" is
located properly inside the sockent_t.
Best regards,
Max
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Hello list!
On Tue, Mar 09, 2010 at 06:17:35PM +0100, Florian Forster wrote:
[...]
> On Fri, Feb 26, 2010 at 12:49:02PM +0100, Max Henkel wrote:
[...]
> > @@ -2842,6 +2929,8 @@ static int network_config (oconfig_item_t *ci) /* {{{ */
> > network_config_add_server (child);
> > else if (strcasecmp ("TimeToLive", child->key) == 0)
> > network_config_set_ttl (child);
> > + else if (strcasecmp ("Interface", child->key) == 0)
> > + network_config_set_interface (child);
> > else if (strcasecmp ("MaxPacketSize", child->key) == 0)
> > network_config_set_buffer_size (child);
> > else if (strcasecmp ("Forward", child->key) == 0)
>
> Starting with the signing and encryption option, we have <Server> and
> <Listen> blocks that take socket specific options. It'd be kind of
> inconsistent with the "TimeToLive" and other options, but maybe adding
> this to those blocks would be even better. It would enable to forward
> data from one multicast group on interface-0 to the *same* multicast
> group on interface-1, which I guess could be useful. But maybe it's an
> academic case, I dunno.. Thoughts, anyone?
[...]
This patch provides the configuration possibility inside the
Server/Listen-block, but I'm unsure if the "int interface" is
located properly inside the sockent_t.
Best regards,
Max
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
network plugin: Bind to device for unicast
Hello list!
On Tue, Mar 09, 2010 at 06:17:35PM +0100, Florian Forster wrote:
[...]
> On Fri, Feb 26, 2010 at 12:49:02PM +0100, Max Henkel wrote:
[...]
> > + if (! IN_MULTICAST (ntohl (addr->sin_addr.s_addr)))
> > + return (0);
>
> Doesn't it make sense to be able to set the interface in unicast mode,
> too? For example if the host has multiple default gateways. The
> socket(7) option "SO_BINDTODEVICE" could be used for this I guess.
[...]
Thus this patch binds the socket to a specific interface for unicast
traffic, too. But, as Sebastian already mentioned, the behaviour is
Linux specific.
Best regards,
Max
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Hello list!
On Tue, Mar 09, 2010 at 06:17:35PM +0100, Florian Forster wrote:
[...]
> On Fri, Feb 26, 2010 at 12:49:02PM +0100, Max Henkel wrote:
[...]
> > + if (! IN_MULTICAST (ntohl (addr->sin_addr.s_addr)))
> > + return (0);
>
> Doesn't it make sense to be able to set the interface in unicast mode,
> too? For example if the host has multiple default gateways. The
> socket(7) option "SO_BINDTODEVICE" could be used for this I guess.
[...]
Thus this patch binds the socket to a specific interface for unicast
traffic, too. But, as Sebastian already mentioned, the behaviour is
Linux specific.
Best regards,
Max
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
network plugin: Added Interface option
Hello list!
Again I'm providing an interface option for the network plugin for
the manual selection of an incoming or outgoing interface,
incorporating the changes proposed by Florian and Sebastian.
Please look through it and feedback or suggest new changes! :-)
Best regards,
Max
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Hello list!
Again I'm providing an interface option for the network plugin for
the manual selection of an incoming or outgoing interface,
incorporating the changes proposed by Florian and Sebastian.
Please look through it and feedback or suggest new changes! :-)
Best regards,
Max
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Merge branch 'ff/modbus'
README: Fix a typo.
README: Add information about the modbus plugin.
Merge branch 'schmurfy/re_invert'
collectd.conf(5): Document the new "Invert" option …
… of the Regex match.
… of the Regex match.
Regex match: Whitespace fixes.
now using cf_util_get_boolean
Merge commit 'tokkee/sh/collectd-4.8' into collectd-4.8
postgresql plugin: Relicensed to (2-clause) BSD license.
All (most?) of PostgreSQL is licensed under a BSD license …
Florian, the only other copyright holder, agreed with this.
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
All (most?) of PostgreSQL is licensed under a BSD license …
Florian, the only other copyright holder, agreed with this.
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
collectd.conf.in: Change the basename of the Perl plugin to "Collectd::Plugins".
collectd-perl(5): Fix the synopsis.
I think this is a left-over from a switch from "Collectd::Plugin" to
"Collectd::Plugins". Thanks to Denis Yagofarov for reporting the bug and
Michael Shigorin for relaying it to me.
I think this is a left-over from a switch from "Collectd::Plugin" to
"Collectd::Plugins". Thanks to Denis Yagofarov for reporting the bug and
Michael Shigorin for relaying it to me.
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.
added an "Invert" option for regex
modbus plugin: Downgrade to use the libmodbus 1.2.5 API.
The API of the library changes every other month, so be conservative and
use the "stable" version, released in May 2008, and hope *that* API is
somewhat stable.
The API of the library changes every other month, so be conservative and
use the "stable" version, released in May 2008, and hope *that* API is
somewhat stable.
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.
configure, src/Makefile: Check for nanosleep() in libposix4 as well.
On, e.g., Solaris 2.6, nanosleep() is only available from that library.
Thanks to Vincent McIntyre for reporting this and providing an initial patch.
On, e.g., Solaris 2.6, nanosleep() is only available from that library.
Thanks to Vincent McIntyre for reporting this and providing an initial patch.
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.
README: Fix typo.
README: Fix typo.
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>
snmp plugin: Fix a format string.
modbus plugin: Set the interval when dispatching values.
collectd.conf(5): Improve the synopsis for the "modbus" plugin.
collectd.conf(5): Add documentation for the "modbus" plugin.
modbus plugin: Add some folding markers.
modbus plugin: Implement dispatching of values.
Merge branch 'master' into ff/modbus
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.
modbus plugin: Actually get into a working state.
Build system: Add the "modbus" plugin.
configure.in: Add checks for libmodbus.
Merge branch 'master' into ff/modbus
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.