irq plugin: Parse interrupt counters as unsigned long long.
Hello,
attached patch fixes accounting of most frequent interrupts (like NICs
on routers). E.g. in my case:
213: 76266 76357 76250 76397 2408617852 2411844062 2411642538 2411814531 PCI-MSI-edge eth1
214: 2621368360 2621463385 2621343444 2621386931 2349184 28 35 32 PCI-MSI-edge eth0
Here LONG_MAX (2147483647L) overflows in 10 days uptime and strtol()
returns the same value.
As all the values (including counter_t) are unsigned long long int, the
fix is trivial (for now there's no need to check for irq_value overflow;>).
--
Tomasz Pala <gotar@pld-linux.org>
Signed-off-by: Florian Forster <octo@leeloo.lan.home.verplant.org>
Hello,
attached patch fixes accounting of most frequent interrupts (like NICs
on routers). E.g. in my case:
213: 76266 76357 76250 76397 2408617852 2411844062 2411642538 2411814531 PCI-MSI-edge eth1
214: 2621368360 2621463385 2621343444 2621386931 2349184 28 35 32 PCI-MSI-edge eth0
Here LONG_MAX (2147483647L) overflows in 10 days uptime and strtol()
returns the same value.
As all the values (including counter_t) are unsigned long long int, the
fix is trivial (for now there's no need to check for irq_value overflow;>).
--
Tomasz Pala <gotar@pld-linux.org>
Signed-off-by: Florian Forster <octo@leeloo.lan.home.verplant.org>
apache plugin: Check if an URL was given at configuration time.
apache plugin: Use boolean members for "verify_{peer,host}".
apache plugin: Use the "complex read" interface.
gmond plugin: Update copyright notice.
Merge branch 'fl/memcached'
memcached plugin: Improve coding style a bit.
memory plugin: Fix the order of the #ifdef's.
Linux has sysctl too. I'm using the same order as in the CPU plugin here,
i. e.:
* Linux
* kstat
* sysctl
Linux has sysctl too. I'm using the same order as in the CPU plugin here,
i. e.:
* Linux
* kstat
* sysctl
apache plugin: Fix the signature of the curl callback function.
memcached plugin: Fix indentation: Indent all lines using tabs.
memcached plugin: List Franck Lombardi as copyright holder.
memcached plugin: Remove trailing whitespace.
memcache plugin: Make connecting via UNIX socket possible.
Hello,
As the bugtracker is broken, I'm sending you this patch against v4.6.2
It was done by one of my collegues (Franck Lombardi)
As Franck doesn't want his email address to go in the wild, I proposed
to send it for him.
It adds a new configuration option "Socket" for this pluggin
i'll try to upload my patch there once Mantis is back to normal
Cheers
Stéphane Loeuillet
Seulement dans collectd-4.6.2-fl/bindings: .perl-directory-stamp
Seulement dans collectd-4.6.2/src/libcollectdclient: lcc_features.h
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Hello,
As the bugtracker is broken, I'm sending you this patch against v4.6.2
It was done by one of my collegues (Franck Lombardi)
As Franck doesn't want his email address to go in the wild, I proposed
to send it for him.
It adds a new configuration option "Socket" for this pluggin
i'll try to upload my patch there once Mantis is back to normal
Cheers
Stéphane Loeuillet
Seulement dans collectd-4.6.2-fl/bindings: .perl-directory-stamp
Seulement dans collectd-4.6.2/src/libcollectdclient: lcc_features.h
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
configure.in: Active the memory plugin if sysctl(3) is available.
memory plugin: Update copyright notice and AUTHORS.
memory plugin: Check `pagesize' when initializing, not when reading.
memory plugin: Added support for OpenBSD and possibly other *BSDs.
Signed-off-by: Simon Kuhnle <simon@blarzwurst.de>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Signed-off-by: Simon Kuhnle <simon@blarzwurst.de>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
conntrack plugin: Add plugin to collect the connection tracking table size.
Hello,
I've adapted entropy plugin to get nf_conntrack entries, which is
important on Linux routers. Attached patch.
BTW you may want to take a look at PLD Linux spec file at
http://cvs.pld-linux.org/cgi-bin/cvsweb/SPECS/collectd.spec or
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/SPECS/collectd.spec
as it's much more complex than Fedora, RH or SLES ones which are shipped
in contrib.
--
Tomasz Pala <gotar@pld-linux.org>
Hello,
I've adapted entropy plugin to get nf_conntrack entries, which is
important on Linux routers. Attached patch.
BTW you may want to take a look at PLD Linux spec file at
http://cvs.pld-linux.org/cgi-bin/cvsweb/SPECS/collectd.spec or
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/SPECS/collectd.spec
as it's much more complex than Fedora, RH or SLES ones which are shipped
in contrib.
--
Tomasz Pala <gotar@pld-linux.org>
Merge branch 'collectd-4.6'
Conflicts:
src/mysql.c
src/ping.c
Conflicts:
src/mysql.c
src/ping.c
Merge branch 'collectd-4.5' into collectd-4.6
Conflicts:
src/cpu.c
Conflicts:
src/cpu.c
src/libcollectdclient/: Check if EILSEQ is defined.
And fall back to EPROTO or EINVAL if it is not, e. g. under FreeBSD.
And fall back to EPROTO or EINVAL if it is not, e. g. under FreeBSD.
interface, memory, ping plugins: Update copyright information.
openvpn plugin: Correct copyright information.
cpu plugin: Updated copyright information.
network plugin: Compatibility fixes with old versions of libgcrypt.
mysql plugin: Fix a typo in my previous patch.
D'oh!
D'oh!
mysql plugin: Updated copyright information.
Set process vmem_size and stack_size on FreeBSD
Fixes:
processes.c: In function 'ps_read':
processes.c:328: warning: 'pse.vmem_size' is used uninitialized in this function
processes.c:1300: note: 'pse.vmem_size' was declared here
processes.c:330: warning: 'pse.stack_size' is used uninitialized in this function
processes.c:1300: note: 'pse.stack_size' was declared here
Signed-off-by: Doug MacEachern <dougm@hyperic.com>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Fixes:
processes.c: In function 'ps_read':
processes.c:328: warning: 'pse.vmem_size' is used uninitialized in this function
processes.c:1300: note: 'pse.vmem_size' was declared here
processes.c:330: warning: 'pse.stack_size' is used uninitialized in this function
processes.c:1300: note: 'pse.stack_size' was declared here
Signed-off-by: Doug MacEachern <dougm@hyperic.com>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Merge branch 'ag/apache'
apache plugin: Prepare for parallel reading of instances.
Do find the patch attached. I have moved apache_buffer and friends to the
apache_t structure and set the plugin_instance if there. There are other
changes as well like freeing up the lci->values etc. Have a look at the patch
and let me know if this looks okay to you.
Regards
Amit
Do find the patch attached. I have moved apache_buffer and friends to the
apache_t structure and set the plugin_instance if there. There are other
changes as well like freeing up the lci->values etc. Have a look at the patch
and let me know if this looks okay to you.
Regards
Amit
network plugin: Updated signature handling.
This is a preparation for being able to handle mixed signed/unsigned
data in one packet. The signature verifying code uses a recursive
structure now, just like the decryption code.
This is a preparation for being able to handle mixed signed/unsigned
data in one packet. The signature verifying code uses a recursive
structure now, just like the decryption code.
network plugin: Fix compile ifndef HAVE_GCRYPT_H
Signed-off-by: Doug MacEachern <Doug.MacEachern@hyperic.com>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Signed-off-by: Doug MacEachern <Doug.MacEachern@hyperic.com>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
uptime plugin: Removed some blank lines and reformatted some comments.
uptime plugin: Calculate the boot time under Linux.
Hi Florian,
[...]
About the uptime plugin:
New code attached, it should be fine now (different linux behaviour and some
minor changes). As soon as I can I'll send to you a plotting code sample (with
lots of stuff and RPN expressions) to be added in the contributions dir, if you
like, and edit the wiki page.
Regards,
Marco
Hi Florian,
[...]
About the uptime plugin:
New code attached, it should be fine now (different linux behaviour and some
minor changes). As soon as I can I'll send to you a plotting code sample (with
lots of stuff and RPN expressions) to be added in the contributions dir, if you
like, and edit the wiki page.
Regards,
Marco
apache plugin: Replace C++-style comments.
apache plugin: Remove unused variables.
apache plugin: Fix whitespace: Indent using tab, remove trailing.
apache plugin: Added Amit to list of copyright holders.
apache plugin: Add support for multiple servers.
Hi,
Based on Bruno/Florian input, I have changed the apache code to support
the following configuration structure:
<Plugin apache>
<Instance "instance_name">
URL ....
Host ... # optional and defaults to hostname_g
</Instance>
URL ...
</Plugin>
I have defined Instance as a block and not Host because the idea here is to
monitor multiple apache instances on the same machine. For apache instances on
remote machines, one could specify Host within the Instance block (which is
optional and default is hostname_g). For legacy configuration, I am converting
the legacy block to <Instance ""> which defaults to apache.
Do find the patch attached. I am not very familiar with git format-patch
and send-email functionalities as yet, so I am attaching a diff -ur
output as mentioned in the submitting-patches.shtml page.
The things which haven't been done as yet:
- I haven't used plugin_register_complex_read as yet. The main reason
being I am working on 4.6.1 version and I can't seem to find the
function plugin_register_complex_read in the code base. I believe it
is being added only in 4.6.2
- lighttpd scoreboard is not yet handled. This would probably be my next
task.
Question:
Given that this plugin can be used by both apache and lighttpd, how do
we find out if the server is lighttpd or apache?. It will be good to
have different rrd file names for apache and lighttpd which could only
be done if we set different vl.type for both the servers. One way I can
think of is to rely on the differences of the mod_status output of the
two servers or perhaps we could have a generic type as "httpd". (which
can be done only in the next major release if you folks are planning to
change the plugin name to httpd in the next major release)
Regards
Amit
Hi,
Based on Bruno/Florian input, I have changed the apache code to support
the following configuration structure:
<Plugin apache>
<Instance "instance_name">
URL ....
Host ... # optional and defaults to hostname_g
</Instance>
URL ...
</Plugin>
I have defined Instance as a block and not Host because the idea here is to
monitor multiple apache instances on the same machine. For apache instances on
remote machines, one could specify Host within the Instance block (which is
optional and default is hostname_g). For legacy configuration, I am converting
the legacy block to <Instance ""> which defaults to apache.
Do find the patch attached. I am not very familiar with git format-patch
and send-email functionalities as yet, so I am attaching a diff -ur
output as mentioned in the submitting-patches.shtml page.
The things which haven't been done as yet:
- I haven't used plugin_register_complex_read as yet. The main reason
being I am working on 4.6.1 version and I can't seem to find the
function plugin_register_complex_read in the code base. I believe it
is being added only in 4.6.2
- lighttpd scoreboard is not yet handled. This would probably be my next
task.
Question:
Given that this plugin can be used by both apache and lighttpd, how do
we find out if the server is lighttpd or apache?. It will be good to
have different rrd file names for apache and lighttpd which could only
be done if we set different vl.type for both the servers. One way I can
think of is to rely on the differences of the mod_status output of the
two servers or perhaps we could have a generic type as "httpd". (which
can be done only in the next major release if you folks are planning to
change the plugin name to httpd in the next major release)
Regards
Amit
battery plugin: Don't complain about missing /proc/acpi/battery each interval.
Instead, complain once when the read callback is called for the first time.
Instead, complain once when the read callback is called for the first time.
network plugin: Enable mixing encrypted and unencrypted data.
Unencrypted stuff may now follow encrypted blocks. They are only
handled, if ‘SecurityLevel’ ist set to ‘None’, of course.
Also, use ‘size_t’ for the buffer size.
Unencrypted stuff may now follow encrypted blocks. They are only
handled, if ‘SecurityLevel’ ist set to ‘None’, of course.
Also, use ‘size_t’ for the buffer size.
network plugin: Use an initialization vector when encrypting packets.
network plugin: Talk about “HMAC-SHA-256” in the documentation and error messages.
network plugin: Use libgcrypt's HMAC implementation rather than rolling our own.
The previously implemented method is simple enough, but apparently pront
to attacks.
The previously implemented method is simple enough, but apparently pront
to attacks.
network plugin: Use SHA-1 instead of SHA-224 to check integrity.
SHA-224 is not supported by older versions of libgcrypt (i. e. the
version included in Debian Etch), so lets take this more conservative
alternative instead.
Also, the padding bytes have been moved to the beginning of the packet
and will be filled with randomness, so they serve as some kind of IV.
It is, however, not guaranteed that any padding bytes exist at all, so
in theory two identical packets could be encrypted in the same way.
SHA-224 is not supported by older versions of libgcrypt (i. e. the
version included in Debian Etch), so lets take this more conservative
alternative instead.
Also, the padding bytes have been moved to the beginning of the packet
and will be filled with randomness, so they serve as some kind of IV.
It is, however, not guaranteed that any padding bytes exist at all, so
in theory two identical packets could be encrypted in the same way.
Merge branch 'collectd-4.6'
Merge branch 'collectd-4.5' into collectd-4.6
Restore BYTE_ORDER on DARWIN The files matching grep "define _POSIX_C_SOURCE" src/*.c on MacOSX do not compile: In file included from target_notification.c:60: collectd.h:172:3: error: #error "Cannot determine byte order"
See /usr/include/i386/endian.h:
#if defined(KERNEL) || (!defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE))
#define LITTLE_ENDIAN __DARWIN_LITTLE_ENDIAN
#define BIG_ENDIAN __DARWIN_BIG_ENDIAN
#define BYTE_ORDER __DARWIN_BYTE_ORDER
Signed-off-by: Doug MacEachern <dougm@hyperic.com>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
See /usr/include/i386/endian.h:
#if defined(KERNEL) || (!defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE))
#define LITTLE_ENDIAN __DARWIN_LITTLE_ENDIAN
#define BIG_ENDIAN __DARWIN_BIG_ENDIAN
#define BYTE_ORDER __DARWIN_BYTE_ORDER
Signed-off-by: Doug MacEachern <dougm@hyperic.com>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Disable disable multi -arch flags to perl.c on OSX Compilation of perl.c fails with:
gcc ... -Wall -Werror -arch i386 -arch ppc -g -pipe -fno-common -DPERL_DARWIN ... -MT perl_la-perl.lo -MD -MP -MF ...
...
gcc-4.0: -E, -S, -save-temps and -M options are not allowed with multiple -arch flags
See Config_heavy.pl:
$archflags = exists($ENV{ARCHFLAGS}) ? $ENV{ARCHFLAGS} : '-arch i386 -arch ppc';
Signed-off-by: Doug MacEachern <dougm@hyperic.com>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
gcc ... -Wall -Werror -arch i386 -arch ppc -g -pipe -fno-common -DPERL_DARWIN ... -MT perl_la-perl.lo -MD -MP -MF ...
...
gcc-4.0: -E, -S, -save-temps and -M options are not allowed with multiple -arch flags
See Config_heavy.pl:
$archflags = exists($ENV{ARCHFLAGS}) ? $ENV{ARCHFLAGS} : '-arch i386 -arch ppc';
Signed-off-by: Doug MacEachern <dougm@hyperic.com>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
network plugin: Use CBC rather than ECB.
network plugin: Implement signing and encryption of network traffic.
The patch adds shared secret signing and encryption of network traffic.
Currently, there are three “security levels”:
- Encrypt
Encrypt outgoing data and only accept encrypted data when receiving.
- Sign
Outgoing data is signed; signed and encrypted data is accepted when
receiving.
- None
Send without any cryptography and accept anything when receiving.
The security level and shared secret can be set per-socket, so that
forwarding instances can re-encrypt and similar goodies.
The libgcrypt library is used to calculate hashes, encrypt and decrypt,
see <http://www.gnu.org/software/libgcrypt/>. I tested compiling the
`network' plugin without libgcrypt afterwards, but haven't tested this
much yet.
Algorithms used are SHA-256 for signing and AES-256 in ECB mode /
SHA-224 when encrypting. Also, SHA-256 is used to get the 32 byte key
for AES-256 from the user-supplied secret.
The patch adds shared secret signing and encryption of network traffic.
Currently, there are three “security levels”:
- Encrypt
Encrypt outgoing data and only accept encrypted data when receiving.
- Sign
Outgoing data is signed; signed and encrypted data is accepted when
receiving.
- None
Send without any cryptography and accept anything when receiving.
The security level and shared secret can be set per-socket, so that
forwarding instances can re-encrypt and similar goodies.
The libgcrypt library is used to calculate hashes, encrypt and decrypt,
see <http://www.gnu.org/software/libgcrypt/>. I tested compiling the
`network' plugin without libgcrypt afterwards, but haven't tested this
much yet.
Algorithms used are SHA-256 for signing and AES-256 in ECB mode /
SHA-224 when encrypting. Also, SHA-256 is used to get the 32 byte key
for AES-256 from the user-supplied secret.
src/plugin.c: Emit warning in load_plugin if !S_ISREG
Signed-off-by: Doug MacEachern <dougm@hyperic.com>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Signed-off-by: Doug MacEachern <dougm@hyperic.com>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Merge branch 'dm/misc'
clean.sh: Clean up `src/libcollectdclient/'.
Signed-off-by: Doug MacEachern <dougm@hyperic.com>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Signed-off-by: Doug MacEachern <dougm@hyperic.com>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
configure.in: Check for libpq for function `PQserverVersion'.
It does not exist in 7.x.
Signed-off-by: Doug MacEachern <dougm@hyperic.com>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
It does not exist in 7.x.
Signed-off-by: Doug MacEachern <dougm@hyperic.com>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
src/plugin.c: Emit warning in load_plugin if !S_ISREG
Signed-off-by: Doug MacEachern <dougm@hyperic.com>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Signed-off-by: Doug MacEachern <dougm@hyperic.com>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
contrib/collection3/: Add plugin_instance to MySQL RRDTitle
Signed-off-by: Doug MacEachern <dougm@hyperic.com>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Signed-off-by: Doug MacEachern <dougm@hyperic.com>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
bindings/java/: Fix a reference in a JavaDoc comment.
src/liboping: Remove the shipped version of the ‘oping’ library.
There's no real reason for this special handling, since liboping is
developed separately now.
There's no real reason for this special handling, since liboping is
developed separately now.
Merge branch 'ff/memcachec'
dbi plugin: Be more specific about unknown field types.
Especially print the name of the field.
Especially print the name of the field.
java plugin: Use `void *' to pass arguments of varying type.
The types passed at VM creation time differ from Java implementation to the
next and/or only certain compiler complain. This way we should be on the safe
side.
The types passed at VM creation time differ from Java implementation to the
next and/or only certain compiler complain. This way we should be on the safe
side.
memcachec plugin: Add a plugin to fetch data from the memcache daemon.
Based on Doug MacEachern's modification to the cURL plugin.
Based on Doug MacEachern's modification to the cURL plugin.
Merge branch 'er/ted'
README: Added the `ted' plugin.
bindings/java/: JMXMemory: Add GPL and copyright header.
ndings/java/: Add `JMXMemory' example plugin.
java plugin: Fix a typo in the oconfig_item conversion function.
src/plugin.c: Automatically set vl->interval to interval_g if (vl->interval <= 0).
java plugin: Honor the return value of `NewGlobalRef'.
Apparently GCJ used to modify it's argument, but the spec apparently says
that the return value is important.
Apparently GCJ used to modify it's argument, but the spec apparently says
that the return value is important.
bindings/java/: Initialize `time' and `interval' to zero.
They will be replaced by the correct values automatically, so it's better
to initialize the members to those ``magic'' values..
They will be replaced by the correct values automatically, so it's better
to initialize the members to those ``magic'' values..
java plugin: Use slashes, not dots, in absulte object names.
Dots workes for GCJ but not with Sun's Java. I haven't tested if GCJ likes
this too, but I strongly suspect it.
Dots workes for GCJ but not with Sun's Java. I haven't tested if GCJ likes
this too, but I strongly suspect it.
mysql plugin: Make the `Database' option optional again.
contrib/collectd-network.py: Add pure-Python implementation of collectd's network protocol.
Announcement can be found here:
<http://blogs.igalia.com/aperez/?p=38>
Announcement can be found here:
<http://blogs.igalia.com/aperez/?p=38>
src/configfile.c: Improve a debugging message.
contrib/collectd-network.py: Add pure-Python implementation of collectd's network protocol.
Announcement can be found here:
<http://blogs.igalia.com/aperez/?p=38>
Announcement can be found here:
<http://blogs.igalia.com/aperez/?p=38>
src/Makefile.am: Use `LIBADD' instead of `LDFLAGS' when linking.
contrib/collectd-unixsock.py: Add Python module to talk to the UnixSock plugin.
src/utils_cmd_putval.c: Add a missing newline ...
... when printing to the socket.
... when printing to the socket.
collectd-unixsock(5): Fix two typos.
mysql plugin: Log an info message after connecting to a server.
Also, improved the error message logged if the connection failed.
Also, improved the error message logged if the connection failed.
collectd.conf(5): Documented support for the master / slave statistics.
Also, the sample configuration in collectd.conf.in has been updated.
Also, the sample configuration in collectd.conf.in has been updated.
collectd.conf(5): Documented the <Database> blocks.
Also, updated the sample configuration in collectd.conf.in.
Also, updated the sample configuration in collectd.conf.in.
mysql plugin: Added support for "slave notifications".
The new boolean config option "SlaveNotifications" may be used to enable
notifications if the replication slave I/O and / or SQL threads are not
running (and the respective OKAY notifications). Since this is somewhat
related to the time offset between master and slave, "time_offset" is used for
the type information stored in the notification.
The new boolean config option "SlaveNotifications" may be used to enable
notifications if the replication slave I/O and / or SQL threads are not
running (and the respective OKAY notifications). Since this is somewhat
related to the time offset between master and slave, "time_offset" is used for
the type information stored in the notification.
mysql plugin: Updated copyright and authors information.
Added Doug MacEachern to the list of copyright holders and Mirko Buffoni to
the list of authors.
Added Doug MacEachern to the list of copyright holders and Mirko Buffoni to
the list of authors.
mysql plugin: Added support for master/slave statistics.
MySQL replication master and slave statistics may be enabled using the newly
added boolean config options "MasterStats" and "SlaveStats". In the first
case, the position in the binlog is collected while in the later case the
read and exec positions in the master log as well as the value of the
Seconds_Behind_Master variable are collected.
For the log positions, the counter type "mysql_log_position" has been
introduced while "time_offset" is used for the Seconds_Behind_Master values.
MySQL replication master and slave statistics may be enabled using the newly
added boolean config options "MasterStats" and "SlaveStats". In the first
case, the position in the binlog is collected while in the later case the
read and exec positions in the master log as well as the value of the
Seconds_Behind_Master variable are collected.
For the log positions, the counter type "mysql_log_position" has been
introduced while "time_offset" is used for the Seconds_Behind_Master values.
src/plugin.c: Fixed a typo.
exec plugin: Allow executed programs to close STDERR.
When an executed program is closing STDERR but continues running, the
daemon will wait for the child to exit and the child will eventually
block because the pipe is filled up, resulting in no statistics being
collected.
Thanks to Thorsten von Eicken for finding this problem :)
When an executed program is closing STDERR but continues running, the
daemon will wait for the child to exit and the child will eventually
block because the pipe is filled up, resulting in no statistics being
collected.
Thanks to Thorsten von Eicken for finding this problem :)
onewire plugin: Make use of the `complex read' callbacks.
The `Interval' option is not honored and can be used to set an arbitrary
interval for this plugin.
The `Interval' option is not honored and can be used to set an arbitrary
interval for this plugin.
uptime plugin: Shuffle some preprocessor stuff around.
Fix some comments and possibly a Solaris bug, too.
Fix some comments and possibly a Solaris bug, too.
build system: Add the new `uptime' plugin.
uptime plugin: Add a plugin to measure the time a system has been running.
Florian Forster ha scritto:
>Hi Marco,
Hi Florian,
> Checking the KSTAT_TYPE_NAMED twice (three times if you count the
> assertion) is of course not necessary. I suspect a copy'n'paste error ;)
Me too. Please remove the second one at least, kstat_read do not change
ks_type.
>A quick `grep' revealed that `get_kstat' is only used in two places, the
>memory and the swap plugin - both trying to figure out the pagesize. If
>you need something else than `KSTAT_TYPE_NAMED', I'd suggest to move the
>checks to a new function `get_kstat_pagesize' and use that function in
>the two plugins.
I went for the kstat.h only solution.
Ok, I'm attaching the code, please check the preprocessor directives for
the includes section, I don't much about defines created by the build
system and its names.
I'm using it right now on a linux machine, but I haven't tested yet on
Solaris and BSDs. Today I tried to compile it on OpenSolaris, but after
fighting with the packaging system and many other things I gave up and
decided I won't try anymore. So, since I'd like to say the plugin is
done after testing it, Solaris testers are wanted :P
As soon as I can I will edit the wiki page, but first I want to have a
closer look to the iptable plugin and see how many modifications are
needed for IPv6 and then have an opinion about the single vs. double
plugin approach.
See you soon :)
Regars,
Marco
Florian Forster ha scritto:
>Hi Marco,
Hi Florian,
> Checking the KSTAT_TYPE_NAMED twice (three times if you count the
> assertion) is of course not necessary. I suspect a copy'n'paste error ;)
Me too. Please remove the second one at least, kstat_read do not change
ks_type.
>A quick `grep' revealed that `get_kstat' is only used in two places, the
>memory and the swap plugin - both trying to figure out the pagesize. If
>you need something else than `KSTAT_TYPE_NAMED', I'd suggest to move the
>checks to a new function `get_kstat_pagesize' and use that function in
>the two plugins.
I went for the kstat.h only solution.
Ok, I'm attaching the code, please check the preprocessor directives for
the includes section, I don't much about defines created by the build
system and its names.
I'm using it right now on a linux machine, but I haven't tested yet on
Solaris and BSDs. Today I tried to compile it on OpenSolaris, but after
fighting with the packaging system and many other things I gave up and
decided I won't try anymore. So, since I'd like to say the plugin is
done after testing it, Solaris testers are wanted :P
As soon as I can I will edit the wiki page, but first I want to have a
closer look to the iptable plugin and see how many modifications are
needed for IPv6 and then have an opinion about the single vs. double
plugin approach.
See you soon :)
Regars,
Marco
network plugin: Improve a debugging message.
Merge branch 'collectd-4.6'
snmp plugin: Use `complex reads', one for each host.
This way the reads are sheduled by the global read threads, thread
handling can be removed completely and intervals which are not a
multiple of the global interval are possible.
This way the reads are sheduled by the global read threads, thread
handling can be removed completely and intervals which are not a
multiple of the global interval are possible.
mysql plugin: Use "mysql-$db" when registering a read callback.
mysql plugin: use plugin_register_complex_read
Signed-off-by: Doug MacEachern <dougm@hyperic.com>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Signed-off-by: Doug MacEachern <dougm@hyperic.com>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Merge branch 'master' of octo@verplant.org:/var/lib/git/collectd
configure: Prefixed cache-ids in AC_CACHE_CHECK with "c_cv_".
autoconf requires the string "_cv_" to be present in cache-ids.
This patch adds/changes `have_broken_perl_load_module' which was added
after 4.5.
autoconf requires the string "_cv_" to be present in cache-ids.
This patch adds/changes `have_broken_perl_load_module' which was added
after 4.5.
Bumped version to 4.6.2; Updated ChangeLog.