Code

collectd.git
15 years agoted plugin: Fix indentation and other style cleanups.
Florian Forster [Sat, 7 Mar 2009 09:33:37 +0000 (10:33 +0100)]
ted plugin: Fix indentation and other style cleanups.

* Removed C++-style comments.
* Fixed a search-and-replace gone bad in the license information.
* Removed whitespaces at the end of line.

15 years agoted plugin: Updated ted.c based on Florian's input.
Eric Reed [Sat, 7 Mar 2009 08:59:13 +0000 (09:59 +0100)]
ted plugin: Updated ted.c based on Florian's input.

15 years agoted plugin: Add plugin for ``The Energy Detective''.
Eric Reed [Sat, 7 Mar 2009 08:56:46 +0000 (09:56 +0100)]
ted plugin: Add plugin for ``The Energy Detective''.

<http://www.theenergydetective.com/>

15 years agosrc/plugin.c, network, rrdtool: Improved thread shutdown.
Florian Forster [Sun, 1 Mar 2009 08:43:54 +0000 (09:43 +0100)]
src/plugin.c, network, rrdtool: Improved thread shutdown.

Just some comments, info messages and not assigning zero to pthread_t.

15 years agoping plugin: Add support for drop rate and standard deviation.
Florian Forster [Sun, 1 Mar 2009 08:42:33 +0000 (09:42 +0100)]
ping plugin: Add support for drop rate and standard deviation.

15 years agosrc/collectd.conf.in: Only include very few standard plugins by default.
Florian Forster [Sat, 28 Feb 2009 13:14:23 +0000 (14:14 +0100)]
src/collectd.conf.in: Only include very few standard plugins by default.

Available but disabled by default plugins are listed with one hash
mark ("#") in front of them; unavailable plugins are listed with two hash
marks ("##") in front of them.

Plugins loaded by default are:

 - syslog || logfile
 - rrdtool || network || csv
 - cpu
 - interface
 - load
 - memory

15 years agoprotocols plugin: Add to configuration summary and collectd.conf.in.
Florian Forster [Sat, 28 Feb 2009 13:09:35 +0000 (14:09 +0100)]
protocols plugin: Add to configuration summary and collectd.conf.in.

15 years agoprotocols plugin: Add a plugin which collets protocol information.
Florian Forster [Sat, 28 Feb 2009 11:12:54 +0000 (12:12 +0100)]
protocols plugin: Add a plugin which collets protocol information.

Currently a Linux only plugin. This plugin collects information about
IP, TCP, UDP, etc.

Thanks to Ulf Zimmermann for his (indirect) suggestion ;)

15 years agoMerge branch 'ff/java'
Florian Forster [Sat, 28 Feb 2009 09:35:58 +0000 (10:35 +0100)]
Merge branch 'ff/java'

15 years agoMerge branch 'collectd-4.6'
Florian Forster [Sat, 28 Feb 2009 09:35:17 +0000 (10:35 +0100)]
Merge branch 'collectd-4.6'

15 years agoMerge branch 'collectd-4.5' into collectd-4.6
Florian Forster [Sat, 28 Feb 2009 09:35:04 +0000 (10:35 +0100)]
Merge branch 'collectd-4.5' into collectd-4.6

15 years agodns plugin: Don't pass a NULL pointer to `pcap_open_live'.
Florian Forster [Sat, 28 Feb 2009 09:29:08 +0000 (10:29 +0100)]
dns plugin: Don't pass a NULL pointer to `pcap_open_live'.

Although the documentation states clearly, that passing a NULL pointer
as device is okay and handled like "any", doing so will crash the daemon
on some systems, most notably *BSDs but Linux users have reported this
behavior, too.

This patch passes "any" when the pointer it NULL, which reportedly
resulted in a different behavior, but still crashing the daemon. We'll
keep trying ;)

15 years agooracle plugin: Fix type size issue under 64bit systems.
Florian Forster [Fri, 27 Feb 2009 13:09:12 +0000 (14:09 +0100)]
oracle plugin: Fix type size issue under 64bit systems.

Under 64bit systems, `ub4' is of a different size than `size_t', so that a
`(size_t *)' cannot be casted to a `(ub4 *)' automatically.

15 years agocontrib/oracle/create_schema.ddl: Add GPLv2 license information.
Florian Forster [Tue, 24 Feb 2009 10:42:35 +0000 (11:42 +0100)]
contrib/oracle/create_schema.ddl: Add GPLv2 license information.

In accordance with Roman Klesel,
<C937BDA691901BFAD72AFEF3@ganga.office.noris.de>

15 years agosrc/common.c: Fixed a race condition in check_create_dir().
Sebastian Harl [Tue, 24 Feb 2009 10:27:22 +0000 (11:27 +0100)]
src/common.c: Fixed a race condition in check_create_dir().

Between checking for the existence of a directory using stat() and creating
the directory using mkdir(), another thread might have already created the
directory thus causing mkdir() to fail with errno == EEXIST. This case is now
handled sanely, no longer causing the function (and thus some write callback)
to fail in this case.

Most likely, this only happens during startup when creating the data
directories - later, no two threads should try to create the same directory.

Interestingly enough, I frequently encountered this issue on a single core
machine.

15 years agocollectd.conf(5), collectd-java(5): Updated the documentation for the Java plugin.
Florian Forster [Tue, 24 Feb 2009 10:24:38 +0000 (11:24 +0100)]
collectd.conf(5), collectd-java(5): Updated the documentation for the Java plugin.

15 years agocollectd-java(5): Documented the `match' and `target' callbacks.
Florian Forster [Tue, 24 Feb 2009 09:53:43 +0000 (10:53 +0100)]
collectd-java(5): Documented the `match' and `target' callbacks.

15 years agobindings/java/: CollectdMatchFactoryInterface: Add more JavaDoc.
Florian Forster [Tue, 24 Feb 2009 09:13:11 +0000 (10:13 +0100)]
bindings/java/: CollectdMatchFactoryInterface: Add more JavaDoc.

15 years agobindings/java/: Unify inline documentation terms.
Florian Forster [Tue, 24 Feb 2009 09:12:45 +0000 (10:12 +0100)]
bindings/java/: Unify inline documentation terms.

s/function/method/

15 years agojava plugin: Add support for `target' callbacks.
Florian Forster [Tue, 24 Feb 2009 09:11:56 +0000 (10:11 +0100)]
java plugin: Add support for `target' callbacks.

With the ``do everything while in the configuration phase'' issues all
sorted out, this was actually kinda easy.

Matches and targets share a lot of code, so that the patch actually isn't
all that large..

Now, the Java plugin is feature-complete \o/

15 years agoMerge branch 'master' into ff/java
Florian Forster [Tue, 24 Feb 2009 09:16:19 +0000 (10:16 +0100)]
Merge branch 'master' into ff/java

15 years agoMerge branch 'collectd-4.6'
Florian Forster [Tue, 24 Feb 2009 09:15:52 +0000 (10:15 +0100)]
Merge branch 'collectd-4.6'

15 years agosrc/plugin.c: Assure that targets get dynamically allocated memory.
Florian Forster [Tue, 24 Feb 2009 09:08:29 +0000 (10:08 +0100)]
src/plugin.c: Assure that targets get dynamically allocated memory.

If targets want to replace the values, they will have to use dynamically
allocated memory. If they can't free the values, because the pointer
might point to statically allocated memory, memory will be lost.

Unfortunately stack allocation will not do, since we will then not be able
to detect multiple replacements.

To impose as little a performance issue as possible, the dynamic allo-
cation is only done when either chain is present. If the filter mecha-
nism is not used, the values will not be copied.

15 years agojava plugin: Add support for `match' callbacks.
Florian Forster [Mon, 23 Feb 2009 17:59:04 +0000 (18:59 +0100)]
java plugin: Add support for `match' callbacks.

Holy crap, that one needed some serious magic.. The problem is, that the
filter chains are created before the initialization functions are run.
Since the Java plugin used to initialize the JVM and load the classes in
the init function, the match callbacks were not available in time.

The behavior is now: Create the JVM as soon as the the first `LoadPlugin'
option is found and load and configure all Java plugins while in the
configuration phase. (I. e. exactly like C plugins.)

Phew, I've earned that beer now.

15 years agologfile plugin: Interpret `(notification_t *)->time == 0' as `now'.
Florian Forster [Mon, 23 Feb 2009 14:38:29 +0000 (15:38 +0100)]
logfile plugin: Interpret `(notification_t *)->time == 0' as `now'.

15 years agojava plugin: Expose `plugin_dispatch_notification' to Java plugins.
Florian Forster [Mon, 23 Feb 2009 14:37:44 +0000 (15:37 +0100)]
java plugin: Expose `plugin_dispatch_notification' to Java plugins.

15 years agosrc/collectd.conf.in: Add `LoadPlugin java'.
Florian Forster [Mon, 23 Feb 2009 14:37:01 +0000 (15:37 +0100)]
src/collectd.conf.in: Add `LoadPlugin java'.

15 years agosrc/plugin.c: Fix plugin_dispatch_notification again.
Florian Forster [Mon, 23 Feb 2009 14:36:40 +0000 (15:36 +0100)]
src/plugin.c: Fix plugin_dispatch_notification again.

15 years agojava plugin: Add support for `notification' callbacks.
Florian Forster [Mon, 23 Feb 2009 13:57:56 +0000 (14:57 +0100)]
java plugin: Add support for `notification' callbacks.

15 years agosrc/plugin.c: Add a user_data_t pointer to notification callbacks.
Florian Forster [Mon, 23 Feb 2009 13:50:03 +0000 (14:50 +0100)]
src/plugin.c: Add a user_data_t pointer to notification callbacks.

15 years agobindings/java/: Add some javadoc markup to the interfaces.
Florian Forster [Sun, 22 Feb 2009 23:05:35 +0000 (00:05 +0100)]
bindings/java/: Add some javadoc markup to the interfaces.

15 years agocollectd-java(5): Fix a typo.
Florian Forster [Sun, 22 Feb 2009 22:30:06 +0000 (23:30 +0100)]
collectd-java(5): Fix a typo.

15 years agoUpdated various copyright information.
Sebastian Harl [Sun, 22 Feb 2009 21:53:50 +0000 (22:53 +0100)]
Updated various copyright information.

15 years agocollectd.conf(5): Updated the information on the java plugin.
Florian Forster [Sun, 22 Feb 2009 22:18:58 +0000 (23:18 +0100)]
collectd.conf(5): Updated the information on the java plugin.

15 years agojava plugin: Add support for `log' callbacks.
Florian Forster [Sun, 22 Feb 2009 22:18:43 +0000 (23:18 +0100)]
java plugin: Add support for `log' callbacks.

15 years agosrc/plugin.c: Add a user_data_t pointer to log callbacks.
Florian Forster [Sun, 22 Feb 2009 22:03:00 +0000 (23:03 +0100)]
src/plugin.c: Add a user_data_t pointer to log callbacks.

15 years agoUpdated various copyright information.
Sebastian Harl [Sun, 22 Feb 2009 21:53:50 +0000 (22:53 +0100)]
Updated various copyright information.

15 years agojava plugin: Add support for `flush' callbacks.
Florian Forster [Sun, 22 Feb 2009 21:15:47 +0000 (22:15 +0100)]
java plugin: Add support for `flush' callbacks.

15 years agosrc/plugin.c: Add a user_data_t pointer to flush callbacks.
Florian Forster [Sun, 22 Feb 2009 20:48:05 +0000 (21:48 +0100)]
src/plugin.c: Add a user_data_t pointer to flush callbacks.

15 years agocollectd-unixsock(5): Slightly improved the description.
Sebastian Harl [Sun, 22 Feb 2009 20:02:05 +0000 (21:02 +0100)]
collectd-unixsock(5): Slightly improved the description.

15 years agoMerge branch 'master' into ff/java
Florian Forster [Sun, 22 Feb 2009 18:50:14 +0000 (19:50 +0100)]
Merge branch 'master' into ff/java

15 years agoMerge branch 'collectd-4.6'
Florian Forster [Sun, 22 Feb 2009 18:49:33 +0000 (19:49 +0100)]
Merge branch 'collectd-4.6'

Conflicts:

src/bind.c

15 years agoBumped version to 4.6.1; Updated ChangeLog. collectd-4.6.1
Florian Forster [Sun, 22 Feb 2009 18:43:53 +0000 (19:43 +0100)]
Bumped version to 4.6.1; Updated ChangeLog.

15 years agoMerge branch 'collectd-4.5' into collectd-4.6
Florian Forster [Sun, 22 Feb 2009 18:31:49 +0000 (19:31 +0100)]
Merge branch 'collectd-4.5' into collectd-4.6

Conflicts:

ChangeLog
version-gen.sh

The changes made in b6612126 and reverted in 5fa56b89 are retained in
collectd-4.6.

15 years agoRevert "libiptc/Makefile.am: Added xtables.h, libxtc.h to libiptc_la_SOURCES." collectd-4.5.3
Florian Forster [Sun, 22 Feb 2009 18:29:49 +0000 (19:29 +0100)]
Revert "libiptc/Makefile.am: Added xtables.h, libxtc.h to libiptc_la_SOURCES."

This reverts commit b6612126d862d182d9219e0512fa9ca833272b62.

This commit should have gone in the master branch, not in the
collectd-4.5 branch.

15 years agoBumped version to 4.5.3; Updated ChangeLog.
Florian Forster [Sun, 22 Feb 2009 18:22:01 +0000 (19:22 +0100)]
Bumped version to 4.5.3; Updated ChangeLog.

15 years agojava plugin: Rename `CollectdAPI' to `Collectd'.
Florian Forster [Sun, 22 Feb 2009 18:10:56 +0000 (19:10 +0100)]
java plugin: Rename `CollectdAPI' to `Collectd'.

15 years agocollectd-java(5): Update the documentation.
Florian Forster [Sun, 22 Feb 2009 18:00:23 +0000 (19:00 +0100)]
collectd-java(5): Update the documentation.

Especially add the new ``native'' methods.

15 years agojava plugin: Change the name of all functions to conform to the Java convention.
Florian Forster [Sun, 22 Feb 2009 17:55:27 +0000 (18:55 +0100)]
java plugin: Change the name of all functions to conform to the Java convention.

15 years agoRevert part of 5f195369: Accidentally commited changes to src/Makefile.am.
Florian Forster [Sun, 22 Feb 2009 18:02:23 +0000 (19:02 +0100)]
Revert part of 5f195369: Accidentally commited changes to src/Makefile.am.

15 years agojava plugin: Expose `plugin_log' to Java plugins.
Florian Forster [Sun, 22 Feb 2009 17:32:02 +0000 (18:32 +0100)]
java plugin: Expose `plugin_log' to Java plugins.

15 years agojava plugin: Added comments for most functions.
Florian Forster [Sun, 22 Feb 2009 16:51:40 +0000 (17:51 +0100)]
java plugin: Added comments for most functions.

Hopefully this'll make the code a bit easier to read.

15 years agojava plugin: Implement registration for the other methods.
Florian Forster [Sun, 22 Feb 2009 16:26:42 +0000 (17:26 +0100)]
java plugin: Implement registration for the other methods.

``Other'' meaning `Config', `Init', and `Shutdown' right now.

15 years agocollectd-java(5): Updated the documentation.
Florian Forster [Sun, 22 Feb 2009 13:02:05 +0000 (14:02 +0100)]
collectd-java(5): Updated the documentation.

15 years agojava plugin: Implemented write plugin registration.
Florian Forster [Sun, 22 Feb 2009 12:07:26 +0000 (13:07 +0100)]
java plugin: Implemented write plugin registration.

15 years agojava plugin: Improve the read registration code.
Florian Forster [Sun, 22 Feb 2009 11:46:42 +0000 (12:46 +0100)]
java plugin: Improve the read registration code.

15 years agojava plugin: Implement plugin registration via `RegisterRead'.
Florian Forster [Sun, 22 Feb 2009 11:18:41 +0000 (12:18 +0100)]
java plugin: Implement plugin registration via `RegisterRead'.

15 years agosrc/plugin.c: Remove all read functions before calling the shutdown functions.
Florian Forster [Sun, 22 Feb 2009 11:16:45 +0000 (12:16 +0100)]
src/plugin.c: Remove all read functions before calling the shutdown functions.

This way the user_data may be cleaned up before the final cleanup
phase..

15 years agojava plugin: Change the API to use the `DataSet' class.
Florian Forster [Sun, 22 Feb 2009 10:29:12 +0000 (11:29 +0100)]
java plugin: Change the API to use the `DataSet' class.

15 years agojava plugin: Use the changed plugin infrastructure to call read and write functions...
Florian Forster [Sat, 21 Feb 2009 17:39:57 +0000 (18:39 +0100)]
java plugin: Use the changed plugin infrastructure to call read and write functions directly.

The read and write functions implemented in Java are now registered with
the "complex" interface as "java:<class name>". This way the cjni_read and
cjni_write functions can determine which Java function to call.

The patch is bigger than it'd need to be, because the order of some
functions has been changed..

15 years agosrc/plugin.c: Change the write callbacks to receive a user_data_t pointer.
Florian Forster [Sat, 21 Feb 2009 17:35:45 +0000 (18:35 +0100)]
src/plugin.c: Change the write callbacks to receive a user_data_t pointer.

There are by far not as many write callbacks, so I've just changed the
callback in general rather than introducing a `complex write' callback.

15 years agosrc/plugin.c: Implement `plugin_register_complex_read'
Florian Forster [Sat, 21 Feb 2009 17:29:52 +0000 (18:29 +0100)]
src/plugin.c: Implement `plugin_register_complex_read'

These read callbacks will receive a user pointer. This is nice for the
Java plugin, because the plugin infrastructure can now call one specific
Java read function.

AfaIk, the Perl plugin can make use of this, too.

15 years agojava plugin: Update the full name of the moved classes.
Florian Forster [Sat, 21 Feb 2009 17:20:44 +0000 (18:20 +0100)]
java plugin: Update the full name of the moved classes.

15 years agoRevert "src/plugin.[ch]: Implement `plugin_dispatch_values_async'."
Florian Forster [Sat, 21 Feb 2009 11:25:29 +0000 (12:25 +0100)]
Revert "src/plugin.[ch]: Implement `plugin_dispatch_values_async'."

This reverts commit ba6497bdffb6a225eb6c86c8b8fa57a2520f0c5f.

15 years agobindings/java: Moved the `PluginData' and `ValueList' classes.
Florian Forster [Sat, 21 Feb 2009 10:39:25 +0000 (11:39 +0100)]
bindings/java: Moved the `PluginData' and `ValueList' classes.

And implemented various (trivial) `Collectd*Interface' classes.

15 years agojava plugin: Implement a reference counter for the JVMEnv pointers.
Florian Forster [Sat, 21 Feb 2009 08:13:43 +0000 (09:13 +0100)]
java plugin: Implement a reference counter for the JVMEnv pointers.

This way one thread entering the Java plugin twice, e. g. with the
following call-chain, will not detach itself from the JVM before it is
completely done with it.

The problematic situation is:
  -> cjni_read
  -> ALLOC JVM
  -> `Read' (in Java)
  -> `DispatchValues' (in Java)
  -> plugin_dispatch_values
  -> cjni_write
  -> ALLOC JVM (this is a no-op!)
  -> `Write' (in Java)
  -> DEALLOC JVM

This last dealloc is prematurely, because the thread is not done with
the JVM yet: It'd like to continue and return from `DispatchValues' to
execute some more Java code..

15 years agotypes.db(5): Added a note about distributing custom types.db files.
Sebastian Harl [Fri, 20 Feb 2009 12:25:12 +0000 (13:25 +0100)]
types.db(5): Added a note about distributing custom types.db files.

15 years agoperl plugin: Deprecated the use of plugin_register() to register data-sets.
Sebastian Harl [Fri, 20 Feb 2009 12:20:02 +0000 (13:20 +0100)]
perl plugin: Deprecated the use of plugin_register() to register data-sets.

A custom types.db file should be used instead.

15 years agoMerge branch 'ff/java' of /var/lib/git/collectd into ff/java
Florian Forster [Fri, 20 Feb 2009 10:13:38 +0000 (11:13 +0100)]
Merge branch 'ff/java' of /var/lib/git/collectd into ff/java

15 years agocollectd-java(5): Fix a typo.
Florian Forster [Fri, 20 Feb 2009 10:13:21 +0000 (11:13 +0100)]
collectd-java(5): Fix a typo.

15 years agobind plugin: Fix a typo.
Florian Forster [Fri, 20 Feb 2009 10:12:50 +0000 (11:12 +0100)]
bind plugin: Fix a typo.

15 years agojava plugin: Use the new `plugin_dispatch_values_async' function.
Florian Forster [Thu, 19 Feb 2009 22:38:52 +0000 (23:38 +0100)]
java plugin: Use the new `plugin_dispatch_values_async' function.

Having Java read- and write-functions at the same time works now \o/

15 years agosrc/plugin.[ch]: Implement `plugin_dispatch_values_async'.
Florian Forster [Thu, 19 Feb 2009 22:28:16 +0000 (23:28 +0100)]
src/plugin.[ch]: Implement `plugin_dispatch_values_async'.

This function differs from `plugin_dispatch_values' in that it will add
the value_list_t to a queue rather than calling the write functions
right away. This as at least two advantages:

  - The _async function will often return faster, since no file
    operation is done.

  - The ``read thread'' and the ``write thread'' are not the same
    thread. This makes it much easier for plugins that provide both,
    `read' and `write' callbacks.

15 years agojava plugin: Conditionally register read, write, and shutdown callbacks.
Florian Forster [Thu, 19 Feb 2009 20:59:52 +0000 (21:59 +0100)]
java plugin: Conditionally register read, write, and shutdown callbacks.

Right now, this is a quick and dirty work around to get read functions
working again.

15 years agojava plugin: Implement `plugin_get_ds' aka. GetDS.
Florian Forster [Thu, 19 Feb 2009 20:59:09 +0000 (21:59 +0100)]
java plugin: Implement `plugin_get_ds' aka. GetDS.

15 years agocontrib/cussh.pl: Fixed and improved command parsing.
Sebastian Harl [Thu, 19 Feb 2009 11:09:46 +0000 (12:09 +0100)]
contrib/cussh.pl: Fixed and improved command parsing.

The input line is now split into separate tokens which are either quoted or
unquoted strings. This simplifies e.g. the parsing of identifiers as the whole
token may be interpreted as just the id string. This allows for specifying a
somewhat greedy regex which before led to the whole remainder of the input
line ending up in the type or type instance.

15 years agocontrib/cussh.pl: Improved error reporting.
Sebastian Harl [Thu, 19 Feb 2009 10:04:49 +0000 (11:04 +0100)]
contrib/cussh.pl: Improved error reporting.

15 years agoCollectd::Unixsock: Improved error handling in putval().
Sebastian Harl [Thu, 19 Feb 2009 10:03:01 +0000 (11:03 +0100)]
Collectd::Unixsock: Improved error handling in putval().

15 years agoipmi plugin: Use a less error-prone approach to build the sensor name.
Florian Forster [Thu, 19 Feb 2009 12:45:45 +0000 (13:45 +0100)]
ipmi plugin: Use a less error-prone approach to build the sensor name.

15 years agotable plugin, src/common: Un-escape '\t', '\n' and '\r' in column separators.
Sebastian Harl [Thu, 19 Feb 2009 12:14:35 +0000 (13:14 +0100)]
table plugin, src/common: Un-escape '\t', '\n' and '\r' in column separators.

For this purpose, the function strunescape() has been added to the "common"
module. Currently, any escape sequence that's not '\t', '\n' or '\r' will be
expanded to the literal escaped character.

15 years agoipmi plugin: Fix an off-by-one error.
Peter Holik [Thu, 19 Feb 2009 12:00:59 +0000 (13:00 +0100)]
ipmi plugin: Fix an off-by-one error.

Hi,

One of my ipmi sensors has a name longer than DATA_MAX_NAME_LEN and this
results in a SEGV.

cu Peter

15 years agobind plugin: Fix a counter vs. gauge problem with memory statistics.
Florian Forster [Thu, 19 Feb 2009 09:12:16 +0000 (10:12 +0100)]
bind plugin: Fix a counter vs. gauge problem with memory statistics.

Thanks to Bruno for the heads-up :)

15 years agopowerdns, utils_cmd_putval, utils_db_query: Use parse_value().
Sebastian Harl [Thu, 19 Feb 2009 08:48:14 +0000 (09:48 +0100)]
powerdns, utils_cmd_putval, utils_db_query: Use parse_value().

Besides cleaning up the code a little, this also adds more verbose error
messages.

15 years agoMoved parse_value() from the table plugin to the common module.
Sebastian Harl [Thu, 19 Feb 2009 08:14:22 +0000 (09:14 +0100)]
Moved parse_value() from the table plugin to the common module.

Some other plugins will find that useful as well.

15 years agotables plugin: Added a generic plugin to parse tabular data.
Sebastian Harl [Thu, 19 Feb 2009 07:56:37 +0000 (08:56 +0100)]
tables plugin: Added a generic plugin to parse tabular data.

Currently, the main purpose of this plugin is to be able to get information
from the Linux proc filesystem but it should be flexible enough to get data
from other sources as well.

Values are selected based on a given column separator and column numbers. The
configuration is a kind of a mix of the tail and *sql plugins' configurations.
A sample configuration might look like this:

  <Plugin table>
    <Table "/proc/slabinfo">
      Instance "slabinfo"
      Separator " "
      <Result>
        Type gauge
        InstancePrefix "active_objs"
        InstancesFrom 0
        ValuesFrom 1
      </Result>
      <Result>
        Type gauge
        InstancePrefix "objperslab"
        InstancesFrom 0
        ValuesFrom 4
      </Result>
    </Table>
  </Plugin>

15 years agoMoved remove_special() from the bind plugin to the "common" module.
Sebastian Harl [Wed, 18 Feb 2009 13:20:51 +0000 (14:20 +0100)]
Moved remove_special() from the bind plugin to the "common" module.

This function might be useful for other plugins as well. Also, it has been
renamed to replace_special() which is slightly more appropriate imho.

15 years agobind plugin: Fix various bugs.
Bruno Prémont [Thu, 19 Feb 2009 08:42:05 +0000 (09:42 +0100)]
bind plugin: Fix various bugs.

On Mon, 16 February 2009 Florian Forster wrote:
> The new plugins are:
>
>   * BIND:      Name-server and zone statistics

A few bugs are hidden there, attached is a patch that fixes most
of those I've discovered untils now.

- Url parameter never considered
- missing type definition for dns_reject
- MemoryStats is linked to the wrong variable
  (TODO: memory stats seem not to work, probably dispatch_counter()
   for gauge value ...)
- SOAOutv6 should be translated to SOA-IPv6 instead of SOA-IPv4
  in order to be saved correctly and not cause timestamp collisions

Bruno

15 years agojava plugin: Add some comments to a nasty if-cascade.
Florian Forster [Wed, 18 Feb 2009 22:40:23 +0000 (23:40 +0100)]
java plugin: Add some comments to a nasty if-cascade.

15 years agojava plugin: Divide times received from Java by 1000.
Florian Forster [Wed, 18 Feb 2009 22:39:57 +0000 (23:39 +0100)]
java plugin: Divide times received from Java by 1000.

Java keeps time as milliseconds in 64bit integers. Let's keep it that
way and translate to epoch transparently.

The other way around, from C to Java, already multiplies by 1000.

15 years agojava plugin: Have "DispatchValues" return a meaningful status.
Florian Forster [Wed, 18 Feb 2009 22:38:23 +0000 (23:38 +0100)]
java plugin: Have "DispatchValues" return a meaningful status.

I. e. the status of "plugin_dispatch_values". That's as meaningful as
we're going to get.

15 years agocollectd-java(5): Add a manual page for the java plugin.
Florian Forster [Wed, 18 Feb 2009 22:35:59 +0000 (23:35 +0100)]
collectd-java(5): Add a manual page for the java plugin.

15 years agojava plugin: Added the possibility to configure java plugins.
Florian Forster [Wed, 18 Feb 2009 17:43:27 +0000 (18:43 +0100)]
java plugin: Added the possibility to configure java plugins.

15 years agoMerge branch 'master' into ff/java
Florian Forster [Wed, 18 Feb 2009 17:46:40 +0000 (18:46 +0100)]
Merge branch 'master' into ff/java

15 years agosrc/liboconfig/oconfig.[ch]: Add `oconfig_clone'.
Florian Forster [Wed, 18 Feb 2009 17:41:20 +0000 (18:41 +0100)]
src/liboconfig/oconfig.[ch]: Add `oconfig_clone'.

This new function clones an entire sub-tree, that can be free'd again
using `oconfig_free'.

15 years agojava plugin: Implemented oconfig types in Java.
Florian Forster [Wed, 18 Feb 2009 15:43:26 +0000 (16:43 +0100)]
java plugin: Implemented oconfig types in Java.

The CollectdAPI class has been moved to the `org.collectd.api'
namespace, too, so that this stuff is together..

15 years agojava plugin: Added some configuration possibilities.
Florian Forster [Wed, 18 Feb 2009 13:20:02 +0000 (14:20 +0100)]
java plugin: Added some configuration possibilities.

15 years agojava plugin: Added the ability to have `Write' callbacks in Java modules.
Florian Forster [Wed, 18 Feb 2009 11:49:56 +0000 (12:49 +0100)]
java plugin: Added the ability to have `Write' callbacks in Java modules.

I think right now having both, a `Read' and a `Write' function, would be
a problem, because the same thread would enter the JVM twice, possibly
detaching itself from the JVM when the write callback is finished, while
it actually still is in the read callback. Adding a `dispatch thread' or
something similar should take care of this problem.

Other than that, converting `data_set_t' and `value_list_t' to their
Java equivalents and back works fine now.

15 years agocollectd.conf(5): Removed the section about filter_pcre.
Sebastian Harl [Wed, 18 Feb 2009 11:09:34 +0000 (12:09 +0100)]
collectd.conf(5): Removed the section about filter_pcre.

This plugin no longer exists ...

15 years agoDon't unnecessarily link match_regex against libpcre.
Sebastian Harl [Wed, 18 Feb 2009 11:06:18 +0000 (12:06 +0100)]
Don't unnecessarily link match_regex against libpcre.

Since no plugin currently uses libpcre, configure no longer checks for it and
it has been removed from README.

15 years agoREADME: Replaced filter plugins with matches and targets.
Sebastian Harl [Wed, 18 Feb 2009 10:52:34 +0000 (11:52 +0100)]
README: Replaced filter plugins with matches and targets.