collectd.git
11 years agorrdtool and rrdcached plugins: Don't update the file if ...
Florian Forster [Mon, 25 Feb 2013 20:08:15 +0000 (21:08 +0100)]
rrdtool and rrdcached plugins: Don't update the file if ...

... it is being created asynchronously.

11 years agosrc/utils_rrdcreate.c: Lock files to be created.
Florian Forster [Sun, 24 Feb 2013 09:33:51 +0000 (10:33 +0100)]
src/utils_rrdcreate.c: Lock files to be created.

This works around an issue where RRDtool crashes due to two threads
trying to create the same file at the same time. This shouldn't happen
in normal operation, but an attacker could cause this, e.g. with
specially crafted network packets.

11 years agosrc/utils_rrdcreate.c: Add folding markers.
Florian Forster [Sat, 23 Feb 2013 12:16:20 +0000 (13:16 +0100)]
src/utils_rrdcreate.c: Add folding markers.

11 years agosrc/utils_rrdcreate.c: Free allocated memory in all error handling cases.
Florian Forster [Sat, 23 Feb 2013 12:13:40 +0000 (13:13 +0100)]
src/utils_rrdcreate.c: Free allocated memory in all error handling cases.

11 years agorrdtool, rrdcached plugin: Whitespace fix.
Florian Forster [Sat, 23 Feb 2013 12:10:40 +0000 (13:10 +0100)]
rrdtool, rrdcached plugin: Whitespace fix.

11 years agosrc/utils_rrdcreate.[ch]: Implement the srrd_create_async() function.
Florian Forster [Sat, 23 Feb 2013 11:28:39 +0000 (12:28 +0100)]
src/utils_rrdcreate.[ch]: Implement the srrd_create_async() function.

This new functionality, which is also exported by the rrdtool and
rrdcached plguins, allows to create new RRD files in the background.
This avoid blocking write threads on the RRD creation, when hundreds of
files need to be created.

See also Github issues #243 and #244.

11 years agosrc/plugin.c: Use cdtime_t to calculate the sleep intervals.
Florian Forster [Wed, 6 Feb 2013 19:21:06 +0000 (20:21 +0100)]
src/plugin.c: Use cdtime_t to calculate the sleep intervals.

Since it's easier to do calculations with cdtime_t than struct timespec,
the code becomes easier to read and maintain.

11 years agoFix a NULL pointer dereference during shutdown
Dan Fandrich [Mon, 4 Feb 2013 22:59:41 +0000 (23:59 +0100)]
Fix a NULL pointer dereference during shutdown

Signed-off-by: Florian Forster <octo@collectd.org>
11 years agosrc/Makefile.am: Fix compilation of the riemann.proto file.
Florian Forster [Sun, 3 Feb 2013 10:40:21 +0000 (11:40 +0100)]
src/Makefile.am: Fix compilation of the riemann.proto file.

11 years agoMerge branch 'collectd-5.2'
Florian Forster [Sun, 3 Feb 2013 10:39:50 +0000 (11:39 +0100)]
Merge branch 'collectd-5.2'

11 years agoMerge branch 'collectd-5.1' into collectd-5.2
Florian Forster [Sun, 3 Feb 2013 10:36:48 +0000 (11:36 +0100)]
Merge branch 'collectd-5.1' into collectd-5.2

11 years agoMerge branch 'collectd-4.10' into collectd-5.1
Florian Forster [Sun, 3 Feb 2013 10:36:37 +0000 (11:36 +0100)]
Merge branch 'collectd-4.10' into collectd-5.1

Conflicts:
src/curl_json.c

11 years agocurl's numeric options are always at minimum long, never int
Dan Fandrich [Sat, 2 Feb 2013 00:19:48 +0000 (01:19 +0100)]
curl's numeric options are always at minimum long, never int

This can affect portability to some architectures.

Signed-off-by: Florian Forster <octo@collectd.org>
11 years agopostgresql plugin: Fix cast (was breaking aliasing rules).
Florian Forster [Sun, 3 Feb 2013 09:46:06 +0000 (10:46 +0100)]
postgresql plugin: Fix cast (was breaking aliasing rules).

postgresql.c: In function 'c_psql_flush':
postgresql.c:974: warning: dereferencing type-punned pointer will break strict-aliasing rules

11 years agopf plugin: Fix checking for <net/pfvar.h>.
Florian Forster [Sun, 3 Feb 2013 09:43:59 +0000 (10:43 +0100)]
pf plugin: Fix checking for <net/pfvar.h>.

The header is not self-contained, so we need to include appropriate
headers in the configure check as well.

11 years agopf plugin: Define {F,S}CNT_NAMES.
Florian Forster [Fri, 1 Feb 2013 10:48:31 +0000 (11:48 +0100)]
pf plugin: Define {F,S}CNT_NAMES.

Apparently they are only defined in the pfctl sources, not in the
system's header files for some reason.

11 years agopf plugin: Fix a typo.
Florian Forster [Fri, 1 Feb 2013 10:47:29 +0000 (11:47 +0100)]
pf plugin: Fix a typo.

s/status/state/g

11 years agocpu plugin: Remove broken debug message.
Florian Forster [Thu, 31 Jan 2013 20:08:25 +0000 (21:08 +0100)]
cpu plugin: Remove broken debug message.

The message was uninformative and did cast a pointer to an int,
resulting in a compile error.

11 years agoMerge remote-tracking branch 'github/collectd-5.2' into collectd-5.2
Florian Forster [Thu, 31 Jan 2013 20:07:45 +0000 (21:07 +0100)]
Merge remote-tracking branch 'github/collectd-5.2' into collectd-5.2

11 years agoChangeLog: Fix typo.
Florian Forster [Thu, 31 Jan 2013 20:07:05 +0000 (21:07 +0100)]
ChangeLog: Fix typo.

11 years agoChangeLog: Fixed version number for 5.2.1 ;-)
Sebastian Harl [Thu, 31 Jan 2013 07:59:24 +0000 (08:59 +0100)]
ChangeLog: Fixed version number for 5.2.1 ;-)

11 years agosrc/utils_tail.c: Remove multiple newlines at EOL.
Florian Forster [Tue, 29 Jan 2013 10:04:36 +0000 (11:04 +0100)]
src/utils_tail.c: Remove multiple newlines at EOL.

11 years agoMerge remote-tracking branch 'github-tokkee/sh/netapp'
Florian Forster [Tue, 29 Jan 2013 09:40:24 +0000 (10:40 +0100)]
Merge remote-tracking branch 'github-tokkee/sh/netapp'

11 years agoMerge remote-tracking branch 'github-tokkee/sh/postgresql'
Florian Forster [Tue, 29 Jan 2013 09:24:52 +0000 (10:24 +0100)]
Merge remote-tracking branch 'github-tokkee/sh/postgresql'

11 years agowrite_graphite plugin: Change <Carbon> blocks to <Node> blocks.
Florian Forster [Tue, 29 Jan 2013 09:22:41 +0000 (10:22 +0100)]
write_graphite plugin: Change <Carbon> blocks to <Node> blocks.

Many other write plugins, e.g. write_{mongodb,redis,riemann} use the
<Node "name"> syntax. This adds code to handle this syntax as well.

While the documentation doesn't mention it, the old <Carbon> syntax
(without a name) is still supported for backwards compatibility.

11 years agopostgresql plugin: If a query fails, try to reconnect immediately.
Sebastian Harl [Thu, 8 Mar 2012 21:07:23 +0000 (22:07 +0100)]
postgresql plugin: If a query fails, try to reconnect immediately.

Else, we would unnecessarily skip one iteration even when being able to
reconnect right away.

11 years agopostgresql plugin: Don't do any SQL query when checking the connection.
Sebastian Harl [Thu, 8 Mar 2012 20:53:24 +0000 (21:53 +0100)]
postgresql plugin: Don't do any SQL query when checking the connection.

First of all, this is not needed -- PQstatus() will correctly determine a
failed connection without that. Secondly, the "SELECT 42" that was used before
does not work, e.g. when querying PgBouncer (thanks to renchap for reporting
this on IRC!).

11 years agoUpdated ChangeLog. collectd-5.2.1
Florian Forster [Sun, 27 Jan 2013 13:37:29 +0000 (14:37 +0100)]
Updated ChangeLog.

11 years agoMerge remote-tracking branch 'origin/collectd-5.2' into collectd-5.2
Florian Forster [Sun, 27 Jan 2013 13:35:25 +0000 (14:35 +0100)]
Merge remote-tracking branch 'origin/collectd-5.2' into collectd-5.2

11 years agoBumped version to 5.2.1; Updated ChangeLog.
Florian Forster [Sun, 27 Jan 2013 13:24:31 +0000 (14:24 +0100)]
Bumped version to 5.2.1; Updated ChangeLog.

11 years agoMerge branch 'collectd-5.1' into collectd-5.2
Florian Forster [Fri, 25 Jan 2013 22:05:30 +0000 (23:05 +0100)]
Merge branch 'collectd-5.1' into collectd-5.2

Conflicts:
ChangeLog
src/write_graphite.c
version-gen.sh

11 years agoBumped version to 5.1.2; Updated ChangeLog. collectd-5.1.2
Florian Forster [Fri, 25 Jan 2013 22:04:03 +0000 (23:04 +0100)]
Bumped version to 5.1.2; Updated ChangeLog.

11 years agoAdded "tar-pax" (bugfix for long filenames with make distcheck)
Yves Mettier [Thu, 15 Nov 2012 13:14:59 +0000 (14:14 +0100)]
Added "tar-pax" (bugfix for long filenames with make distcheck)

Signed-off-by: Florian Forster <octo@collectd.org>
11 years agonetapp plugin: Updated copyright information.
Sebastian Harl [Fri, 25 Jan 2013 14:01:46 +0000 (15:01 +0100)]
netapp plugin: Updated copyright information.

11 years agonetapp plugin: Added support for quota statistics.
Sebastian Harl [Fri, 25 Jan 2013 13:59:23 +0000 (14:59 +0100)]
netapp plugin: Added support for quota statistics.

If enabled, the plugin collects the used space and the number of used files
based on qtree quotas. The interval at which those information is collected
may be configured.

11 years agosrc/Makefile.am: Fix "make distcheck".
Florian Forster [Fri, 25 Jan 2013 13:48:29 +0000 (14:48 +0100)]
src/Makefile.am: Fix "make distcheck".

protoc-c has a weird handling of files not in the CWD: They have to be
specified with the "-I" option _and_ you need to specify the full path
to the file.

11 years agonetapp plugin: Added support for collecting dedup/compressed saved info.
Sebastian Harl [Fri, 25 Jan 2013 13:32:32 +0000 (14:32 +0100)]
netapp plugin: Added support for collecting dedup/compressed saved info.

This information is available from the SIS subsystem starting with OnTap 8.1.

11 years agobugfix ("cannot find collectd.h") for branch master (and 5.2)
Yves Mettier [Tue, 20 Nov 2012 17:13:39 +0000 (18:13 +0100)]
bugfix ("cannot find collectd.h") for branch master (and 5.2)

Signed-off-by: Florian Forster <octo@collectd.org>
11 years agomake distcheck : perllocal.pod was missing. Fixed
Yves Mettier [Wed, 14 Nov 2012 15:42:04 +0000 (16:42 +0100)]
make distcheck : perllocal.pod was missing. Fixed

Signed-off-by: Florian Forster <octo@collectd.org>
11 years agoFix make distcheck (against release 5.1.1)
Yves Mettier [Wed, 14 Nov 2012 14:45:07 +0000 (15:45 +0100)]
Fix make distcheck (against release 5.1.1)

Signed-off-by: Florian Forster <octo@collectd.org>
11 years agonetapp plugin: Added VFiler® support.
Sebastian Harl [Fri, 25 Jan 2013 13:17:46 +0000 (14:17 +0100)]
netapp plugin: Added VFiler® support.

The plugin now accepts the <VFiler> config block (inside <Host> blocks). This
is treated similar to <Host> blocks (it accepts all the same config options)
and it inherits all connection related settings from the surrounding <Host>
block (which may, however, be overwritten inside the <VFiler> block). However,
all data collecting operations are done in the context of the specified
VFiler®.

11 years agonetapp plugin: Added support for SnapVault® statistics.
Sebastian Harl [Fri, 25 Jan 2013 12:12:45 +0000 (13:12 +0100)]
netapp plugin: Added support for SnapVault® statistics.

If enabled, the plugin collects lag time, transfer duration and transferred
bytes for each relationship. The interval at which those information is
collected may be configured.

11 years agowrite_riemann plugin: Implement communication over TCP.
Florian Forster [Fri, 25 Jan 2013 10:08:43 +0000 (11:08 +0100)]
write_riemann plugin: Implement communication over TCP.

11 years agologfile plugin: Make "do_close" a boolean.
Florian Forster [Fri, 25 Jan 2013 07:47:15 +0000 (08:47 +0100)]
logfile plugin: Make "do_close" a boolean.

11 years agoIf the file isn't closed such as when logging to stdout or stderr the file must be...
Nathan Huff [Thu, 24 Jan 2013 16:10:02 +0000 (10:10 -0600)]
If the file isn't closed such as when logging to stdout or stderr the file must be flushed for it to get out of the IO buffers right away.

Signed-off-by: Florian Forster <octo@collectd.org>
11 years agopostgresql plugin: Don't access realloc'ed memory.
Sebastian Harl [Wed, 23 Jan 2013 08:26:48 +0000 (09:26 +0100)]
postgresql plugin: Don't access realloc'ed memory.

D'oh! This is the most stupidest bug: all database connection objects are
stored in a plugin-global array and a pointer to each object was passed around
to the worker functions. This array used to be an array of objects (rather
than pointers) and was realloc'ed every time a new connection was added. Now,
the realloc caused the old pointer to not be valid any more, thus, any but the
last database connection were later accessing memory out of range. This caused
the plugin to segfault if more than one database connection was used.

Thanks to Greg Swift for reporting this!
Fixes Github issue #238.

11 years agowrite_riemann plugin: Implement the "AlwaysAppendDS" option.
Florian Forster [Wed, 23 Jan 2013 07:30:19 +0000 (08:30 +0100)]
write_riemann plugin: Implement the "AlwaysAppendDS" option.

11 years agowrite_riemann plugin: Use format_name() to generate the service name.
Florian Forster [Tue, 22 Jan 2013 18:25:38 +0000 (19:25 +0100)]
write_riemann plugin: Use format_name() to generate the service name.

This uses the default "plugin-instance/type-instance" format, optionally
adding the ds name if the type has more than one data source.

11 years agowrite_riemann plugin: Update copyright information.
Florian Forster [Tue, 22 Jan 2013 18:07:28 +0000 (19:07 +0100)]
write_riemann plugin: Update copyright information.

11 years agowrite_riemann plugin: Fix two bugs in the example configuration.
Florian Forster [Tue, 22 Jan 2013 18:07:13 +0000 (19:07 +0100)]
write_riemann plugin: Fix two bugs in the example configuration.

Remove a trailing ">" from the example config and use the correct config
item to configure the "StoreRates" option.

11 years agosrc/plugin.c: Make the context cloning a bit more implicit.
Florian Forster [Tue, 22 Jan 2013 11:01:46 +0000 (12:01 +0100)]
src/plugin.c: Make the context cloning a bit more implicit.

The plugin_set_ctx() call has been moved into the plugin_write_dequeue()
function. Comments describing the unavailability of the context have
been updated.

11 years agoplugin: Pass on read-plugins' contexts to the write threads.
Sebastian Harl [Mon, 21 Jan 2013 15:35:17 +0000 (16:35 +0100)]
plugin: Pass on read-plugins' contexts to the write threads.

Else, the write plugins will have wrong or missing interval information when
actually writing a data-set.

Signed-off-by: Florian Forster <octo@collectd.org>
11 years agosrc/plugin.c: Fill in the time and interval before queueing the value list.
Florian Forster [Mon, 21 Jan 2013 15:38:28 +0000 (16:38 +0100)]
src/plugin.c: Fill in the time and interval before queueing the value list.

This feels a bit hackish, but it should do the job.

11 years agosrc/plugin.c: Improve error messages in plugin_load().
Florian Forster [Mon, 21 Jan 2013 10:36:48 +0000 (11:36 +0100)]
src/plugin.c: Improve error messages in plugin_load().

Fixes Github issue #237.

11 years agoREADME, AUTHORS: Update for the write_riemann plugin.
Florian Forster [Mon, 21 Jan 2013 10:25:04 +0000 (11:25 +0100)]
README, AUTHORS: Update for the write_riemann plugin.

11 years agoMerge branch 'pyr/riemann'
Florian Forster [Mon, 21 Jan 2013 10:10:55 +0000 (11:10 +0100)]
Merge branch 'pyr/riemann'

Resolves Github issue #221.

11 years agosrc/plugin.[ch]: Remove the plugin_dispatch_values_secure() function.
Florian Forster [Mon, 21 Jan 2013 09:29:30 +0000 (10:29 +0100)]
src/plugin.[ch]: Remove the plugin_dispatch_values_secure() function.

Since values are now *always* copied, we don't need the secure version
anymore.

11 years agosrc/plugin.[ch]: Use a pool of write threads to dispatch values to write plugins.
Florian Forster [Mon, 21 Jan 2013 09:27:55 +0000 (10:27 +0100)]
src/plugin.[ch]: Use a pool of write threads to dispatch values to write plugins.

This fixes Github issue #75.

11 years agodbi plugin, collectd.conf(5): Document the "Host" option.
Florian Forster [Sun, 20 Jan 2013 14:43:15 +0000 (15:43 +0100)]
dbi plugin, collectd.conf(5): Document the "Host" option.

Previously called "Hostname".

11 years agosrc/utils_dns.c: Improve ordering of includes.
Ed Schouten [Fri, 18 Jan 2013 11:01:48 +0000 (12:01 +0100)]
src/utils_dns.c: Improve ordering of includes.

sys, followed by net, followed by netinet, followed by arpa
that should be the most logical order

Signed-off-by: Florian Forster <octo@collectd.org>
11 years agowrite_riemann plugin: Remove the "Delay" option.
Florian Forster [Fri, 18 Jan 2013 10:55:53 +0000 (11:55 +0100)]
write_riemann plugin: Remove the "Delay" option.

11 years agodbi plugin: Replace cdbi_config_set_string() with cf_util_get_string().
Florian Forster [Fri, 18 Jan 2013 10:42:40 +0000 (11:42 +0100)]
dbi plugin: Replace cdbi_config_set_string() with cf_util_get_string().

11 years agoAdd Hostname option to dbi plugin. Use cdbi_config_set_string and fix udb_query_prepa...
Daniel Hilst [Thu, 3 Jan 2013 20:09:03 +0000 (18:09 -0200)]
Add Hostname option to dbi plugin. Use cdbi_config_set_string and fix udb_query_prepare_result argument

11 years agoAdd Hostname option to Database block of dbi plugin
Daniel Hilst [Thu, 3 Jan 2013 19:57:16 +0000 (17:57 -0200)]
Add Hostname option to Database block of dbi plugin

11 years agowrite_riemann plugin: Remove unused defines.
Florian Forster [Fri, 18 Jan 2013 10:37:34 +0000 (11:37 +0100)]
write_riemann plugin: Remove unused defines.

11 years agocollectd.conf(5): Add documentation for the write_riemann plugin.
Florian Forster [Thu, 17 Jan 2013 13:07:12 +0000 (14:07 +0100)]
collectd.conf(5): Add documentation for the write_riemann plugin.

11 years agowrite_riemann plugin: Unify the plugin's configuration semantic.
Florian Forster [Thu, 17 Jan 2013 12:37:09 +0000 (13:37 +0100)]
write_riemann plugin: Unify the plugin's configuration semantic.

The "write_mongodb" and "write_redis" plugins follow the same general
config schema, i.e. <Node /> blocks with "Host" and "Port" options.
Adapt the same style for "write_riemann".

11 years agowrite_graphite plugin: Remove two more redundant error messages.
Florian Forster [Thu, 17 Jan 2013 09:50:08 +0000 (10:50 +0100)]
write_graphite plugin: Remove two more redundant error messages.

The failing functions already print an error message; don't spam the logs
by duplicating this.

Further fixes Github issue #236.

11 years agosrc/utils_complain.[ch]: Fix the complaint mechanism after the sub-second change.
Florian Forster [Thu, 17 Jan 2013 09:48:45 +0000 (10:48 +0100)]
src/utils_complain.[ch]: Fix the complaint mechanism after the sub-second change.

11 years agowrite_graphite: Use the complain mechanism to report connection errors.
Florian Forster [Thu, 17 Jan 2013 08:51:56 +0000 (09:51 +0100)]
write_graphite: Use the complain mechanism to report connection errors.

Fixes Github issue #236. Thanks to @pyr for reporting it!

11 years agosrc/collectd.conf.in: Rename "riemann" to "write_riemann".
Florian Forster [Thu, 17 Jan 2013 08:46:20 +0000 (09:46 +0100)]
src/collectd.conf.in: Rename "riemann" to "write_riemann".

11 years agowrite_riemann plugin: Ensure a unified logging prefix.
Florian Forster [Thu, 17 Jan 2013 08:28:24 +0000 (09:28 +0100)]
write_riemann plugin: Ensure a unified logging prefix.

11 years agowrite_riemann plugin: Rename the "riemann" plugin.
Florian Forster [Wed, 16 Jan 2013 21:00:11 +0000 (22:00 +0100)]
write_riemann plugin: Rename the "riemann" plugin.

11 years agoriemann plugin: Clean up the riemann_connect() function.
Florian Forster [Wed, 16 Jan 2013 20:50:37 +0000 (21:50 +0100)]
riemann plugin: Clean up the riemann_connect() function.

Don't warn when connecting to some address fails. The system could, for
example, not have any IPv6 connectivity but the address record also
includes an IPv6 address. In this case a connect(2) call will fail but
this is not a problem.

Due to the new locking one of the concurrency checks was made redundant.

11 years agoMerge remote-tracking branch 'origin/collectd-5.2' into collectd-5.2
Florian Forster [Wed, 16 Jan 2013 12:26:46 +0000 (13:26 +0100)]
Merge remote-tracking branch 'origin/collectd-5.2' into collectd-5.2

11 years agowrite_graphite: Decrease a buffer size.
Florian Forster [Wed, 16 Jan 2013 12:18:32 +0000 (13:18 +0100)]
write_graphite: Decrease a buffer size.

If the buffer is too large, it is possible that the message cannot be
send using the send buffer, leading to a failed assertion in
wg_send_message().

Fixes Github issue #226. Thanks to @bwhaley for reporting this.

11 years agoLook for IOPowerSources.h on Darwin only
Ruben Kerkhof [Mon, 19 Nov 2012 11:54:06 +0000 (12:54 +0100)]
Look for IOPowerSources.h on Darwin only

Signed-off-by: Florian Forster <octo@collectd.org>
11 years agodbi plugin: Implement support for numeric options.
Florian Forster [Wed, 16 Jan 2013 11:36:51 +0000 (12:36 +0100)]
dbi plugin: Implement support for numeric options.

Fixes Github issue #233.

11 years agoMerge branch 'collectd-5.2'
Florian Forster [Mon, 14 Jan 2013 09:53:29 +0000 (10:53 +0100)]
Merge branch 'collectd-5.2'

11 years agoMerge branch 'collectd-5.1' into collectd-5.2
Florian Forster [Mon, 14 Jan 2013 09:53:21 +0000 (10:53 +0100)]
Merge branch 'collectd-5.1' into collectd-5.2

11 years agoMerge branch 'collectd-4.10' into collectd-5.1
Florian Forster [Mon, 14 Jan 2013 09:53:13 +0000 (10:53 +0100)]
Merge branch 'collectd-4.10' into collectd-5.1

11 years agodbi plugin: Replace cdbi_config_set_string() with cf_util_get_string().
Florian Forster [Mon, 14 Jan 2013 09:48:03 +0000 (10:48 +0100)]
dbi plugin: Replace cdbi_config_set_string() with cf_util_get_string().

11 years agoFixed a small typo in the ethstat plugin
Jeff Schroeder [Mon, 31 Dec 2012 17:48:25 +0000 (11:48 -0600)]
Fixed a small typo in the ethstat plugin

Signed-off-by: Florian Forster <octo@collectd.org>
11 years agoMerge remote-tracking branch 'github-octo/pyr/riemann' into pyr/riemann
Florian Forster [Mon, 14 Jan 2013 08:49:17 +0000 (09:49 +0100)]
Merge remote-tracking branch 'github-octo/pyr/riemann' into pyr/riemann

11 years agoriemann plugin: Implement the "StoreRates" option.
Florian Forster [Sun, 13 Jan 2013 22:14:13 +0000 (23:14 +0100)]
riemann plugin: Implement the "StoreRates" option.

11 years agoethstat plugin: Fix the map lookup.
Florian Forster [Fri, 11 Jan 2013 18:45:43 +0000 (19:45 +0100)]
ethstat plugin: Fix the map lookup.

Previously, a pointer into the configuration structure was used to look
up the mappings. Because the configuration structure is freed or
otherwise modified, this does not work as intended (and may actually
lead to a segmentation fault when unlucky).

For completeness sake, a shutdown callback was added to free the used
memory on exit.

Fixes Github issue 224.

11 years agoriemann plugin: Use the new strarray interface to allow indefinite number of tags.
Florian Forster [Fri, 11 Jan 2013 12:43:59 +0000 (13:43 +0100)]
riemann plugin: Use the new strarray interface to allow indefinite number of tags.

11 years agosrc/common.[ch]: Implement strarray_{add,free}.
Florian Forster [Fri, 11 Jan 2013 13:56:35 +0000 (14:56 +0100)]
src/common.[ch]: Implement strarray_{add,free}.

11 years agoriemann plugin: Fix two minor bugs.
Florian Forster [Fri, 11 Jan 2013 10:52:14 +0000 (11:52 +0100)]
riemann plugin: Fix two minor bugs.

11 years agoriemann plugin: Fix a double-free issue with the shared structure.
Florian Forster [Fri, 11 Jan 2013 10:30:14 +0000 (11:30 +0100)]
riemann plugin: Fix a double-free issue with the shared structure.

The reference to the riemann_host structure is shared between the write
and the notification callback. Upon exit, riemann_free() is called twice,
via the user_data_t structure passed to the register functions. Previously
this would have caused a double-free, which is unacceptable.

This patch introduces a reference counter and will only free the structure
(and close the socket) when the last reference is freed.

The locking has been moved out of the riemann_connect() function and into
the riemann_send() function. It is unlikely, but not impossible that two
threads interfere with each other when writing to the socket.

11 years agoriemann plugin: Add support for service names.
Florian Forster [Fri, 11 Jan 2013 09:33:36 +0000 (10:33 +0100)]
riemann plugin: Add support for service names.

I.e. you can not define a "riemann" service in /etc/services and then use
«Port "riemann"» in the configuration. Also add support for arbitrarily
long host names.

11 years agoriemann plugin: Move the creation of protobufs into their own function.
Florian Forster [Thu, 10 Jan 2013 10:40:58 +0000 (11:40 +0100)]
riemann plugin: Move the creation of protobufs into their own function.

This also adds a couple more tags, e.g. "type:..." and so on. The "host"
field is now correctly populated from the vl->host or n->host field.

11 years agoriemann plugin: Make all private funcitons and module-global variables "static".
Florian Forster [Wed, 9 Jan 2013 10:19:57 +0000 (11:19 +0100)]
riemann plugin: Make all private funcitons and module-global variables "static".

11 years agoriemann plugin: Remove trailing white-space.
Florian Forster [Wed, 9 Jan 2013 10:18:34 +0000 (11:18 +0100)]
riemann plugin: Remove trailing white-space.

11 years agoriemann plugin: Improve the riemann_send() function.
Florian Forster [Wed, 9 Jan 2013 10:18:05 +0000 (11:18 +0100)]
riemann plugin: Improve the riemann_send() function.

Make the passed in "Msg*" const, use swrite() to make sure the entire
buffer is sent and break out the disconnect logic into an own function.

11 years agotake into account PR comments from @octo
Pierre-Yves Ritschard [Wed, 9 Jan 2013 09:02:50 +0000 (10:02 +0100)]
take into account PR comments from @octo

Signed-off-by: Florian Forster <octo@collectd.org>
11 years agoadd support for notifications as well
Pierre-Yves Ritschard [Fri, 28 Dec 2012 20:51:12 +0000 (21:51 +0100)]
add support for notifications as well

Signed-off-by: Florian Forster <octo@collectd.org>
11 years agoRiemann UDP write plugin
Pierre-Yves Ritschard [Fri, 21 Dec 2012 21:26:02 +0000 (22:26 +0100)]
Riemann UDP write plugin

First implementation of a riemann plugin.
This is basic for now and only support
sending to a UDP target, later work will
include notification support and service
rewriting.

Signed-off-by: Florian Forster <octo@collectd.org>
11 years agoRemove the redundant and little used STATIC_ARRAY_LEN() macro.
Florian Forster [Fri, 14 Dec 2012 10:40:41 +0000 (11:40 +0100)]
Remove the redundant and little used STATIC_ARRAY_LEN() macro.

11 years agoapcups plugin: Implement the "ReportSeconds" option.
Florian Forster [Fri, 14 Dec 2012 10:40:12 +0000 (11:40 +0100)]
apcups plugin: Implement the "ReportSeconds" option.