write_graphite plugin: Use swrite() instead of write().
swrite() ensures that the entire buffer is written before the buffer is reset.
Change-Id: I105d42d8ea5b71acd5a5e37b7cc4209045f28d47
swrite() ensures that the entire buffer is written before the buffer is reset.
Change-Id: I105d42d8ea5b71acd5a5e37b7cc4209045f28d47
write_graphite plugin: Decrese buffer size.
The larger the buffer, the longer you need to wait for the data to be written
to Carbon. The new buffer size assumes an MTU of 1500 bytes (Ethernet payload)
and keeps margins for IPv6 and TCP (with timestamps). This should decrease the
number of packets needed (because data is now cleanly aligned to the packet
size) and decrease the overall time spent buffered.
Change-Id: I73021608f1ff0f22f9e73cd62b7fb5ea79421546
The larger the buffer, the longer you need to wait for the data to be written
to Carbon. The new buffer size assumes an MTU of 1500 bytes (Ethernet payload)
and keeps margins for IPv6 and TCP (with timestamps). This should decrease the
number of packets needed (because data is now cleanly aligned to the packet
size) and decrease the overall time spent buffered.
Change-Id: I73021608f1ff0f22f9e73cd62b7fb5ea79421546
src/collectd.conf.in: Add the write_graphite plugin.
Change-Id: I238d9bd7d2413bdc747f0603cb6e97d777252fcd
Change-Id: I238d9bd7d2413bdc747f0603cb6e97d777252fcd
write_graphite plugin: Implement the "AlwaysAppendDS" option.
Don't append DS name by default, except when there is more than one DS.
The "AlwaysAppendDS" option can be used to force the plugin to always
append the DS.
Change-Id: I0221bef49375e3b5c5de99bb8f5a9cd641b696c3
Don't append DS name by default, except when there is more than one DS.
The "AlwaysAppendDS" option can be used to force the plugin to always
append the DS.
Change-Id: I0221bef49375e3b5c5de99bb8f5a9cd641b696c3
write_graphite plugin: Fix trailing underscores.
This may also fix an off-by-one error when the name is long enough. D'oh!
Change-Id: Ibc5a68f9bc93eed6366d074b55a7aca020bcf990
This may also fix an off-by-one error when the name is long enough. D'oh!
Change-Id: Ibc5a68f9bc93eed6366d074b55a7aca020bcf990
write_graphite plugin: Implement the StoreRates option.
Most of it was already present in the code anyway, so I just added the
appropriate config handling.
Change-Id: I7ce8be2f5b075da690872ec72b3610eae05b3c6c
Most of it was already present in the code anyway, so I just added the
appropriate config handling.
Change-Id: I7ce8be2f5b075da690872ec72b3610eae05b3c6c
write_graphite plugin: Use cf_util_get_service() for the "Port" option.
Change-Id: If3f0b32f86a40dbaa22837dc15f51429239af03a
Change-Id: If3f0b32f86a40dbaa22837dc15f51429239af03a
Merge branch 'master' into ss/graphite
src/configfile.[ch]: Add cf_util_get_service() for getting service names.
Change-Id: I310c0d076a82927958fba04dd9eedbc706742dce
Change-Id: I310c0d076a82927958fba04dd9eedbc706742dce
collectd.conf(5): Add stub for the write_graphite plugin.
Change-Id: I129127ff7216b8a23f9cb638df49192f5b16e45f
Change-Id: I129127ff7216b8a23f9cb638df49192f5b16e45f
write_graphite plugin: Fix locking.
wg_send_buffer() is called from wg_flush_nolock(). When calling
wg_flush_nolock(), the thread has to hold cb->send_lock. Locking it again
will fail, but this condition is not checked for. Then the lock is
released twice which may result in concurrency issues.
Change-Id: Ie3062d50e6545adeb95b3a1938837c1f26835a56
wg_send_buffer() is called from wg_flush_nolock(). When calling
wg_flush_nolock(), the thread has to hold cb->send_lock. Locking it again
will fail, but this condition is not checked for. Then the lock is
released twice which may result in concurrency issues.
Change-Id: Ie3062d50e6545adeb95b3a1938837c1f26835a56
write_graphite plugin: Remove the unused "server" field.
Change-Id: I6ae59f4a2f6be69f891bbfa16afddc5ec9be9bad
Change-Id: I6ae59f4a2f6be69f891bbfa16afddc5ec9be9bad
write_graphite plugin: Update the copyright header.
It's based on the write_http plugin, so these copyrights apply as well.
Change-Id: I9def5e5b7e3cf6081f820df07187f47dd9d4b92b
It's based on the write_http plugin, so these copyrights apply as well.
Change-Id: I9def5e5b7e3cf6081f820df07187f47dd9d4b92b
write_graphite plugin: Escape *all* the things!
Dots and spaces can appear anywhere, e.g. spaces in hostnames and dots in type
instances. Escape them all to avoid unintended special treatment by Carbon /
Graphite.
Change-Id: Iccc330934bcd765a237a1fed42d0cdb4bf3aa2b1
Dots and spaces can appear anywhere, e.g. spaces in hostnames and dots in type
instances. Escape them all to avoid unintended special treatment by Carbon /
Graphite.
Change-Id: Iccc330934bcd765a237a1fed42d0cdb4bf3aa2b1
Merge pull request #20 from pyr/ss/graphite
Remove spaces and dots from the identifier.
Remove spaces and dots from the identifier.
write_graphite plugin: Remove duplicate includes.
Change-Id: I8745634aee66edde18f5720a6b4882d51e19ee12
Change-Id: I8745634aee66edde18f5720a6b4882d51e19ee12
Build system: write_graphite doesn't depend on cURL.
Change-Id: Ide4fccdef64fc37434c87e662484930ab69b9f1b
Change-Id: Ide4fccdef64fc37434c87e662484930ab69b9f1b
README: Add the write_graphite plugin.
Change-Id: I265711b7b76d2244264c1df4158aed43cfcbb31b
Change-Id: I265711b7b76d2244264c1df4158aed43cfcbb31b
AUTHORS: Add Scott Sanders.
Change-Id: I633b1f64a00db7192e64e88d5960683404e0602e
Change-Id: I633b1f64a00db7192e64e88d5960683404e0602e
bring back prefix/postfix handling. simplify swap_chars.
prefix and postfix need to be set to an empty string when
they are null since they are used in format strings.
swap_chars return value is never used and could never be
negative, switch to a void prototype instead.
prefix and postfix need to be set to an empty string when
they are null since they are used in format strings.
swap_chars return value is never used and could never be
negative, switch to a void prototype instead.
irq plugin: Coding style fixes.
Change-Id: Ibed2873a6862bf42ae701c4907805956ee4e07fa
Change-Id: Ibed2873a6862bf42ae701c4907805956ee4e07fa
Merge pull request #19 from bostjan/master
Pull request for fixes in irq plugin
Pull request for fixes in irq plugin
reimport my changes
Changes in irq plugin:
- fixes errors described here: http://mailman.verplant.org/pipermail/collectd/2011-July/004638.html
- refactored parsing code in order to make it a bit more intuitive
- added a few additional comments
- fixes errors described here: http://mailman.verplant.org/pipermail/collectd/2011-July/004638.html
- refactored parsing code in order to make it a bit more intuitive
- added a few additional comments
Build system: Add the write_graphite plugin.
Change-Id: I333cb950bb68e47366bf9dd17eca181dde25847d
Change-Id: I333cb950bb68e47366bf9dd17eca181dde25847d
Merge branch 'import/ss/graphite' into ss/graphite
write_graphite plugin: Don't allocate {Pre,Post}fix if unspecified.
Just leave them at NULL and catch this condition in wg_format_name().
Just leave them at NULL and catch this condition in wg_format_name().
write_graphite plugin: Improve Hostname / Port handling.
Use getaddrinfo(3) for hostname lookup -- this also adds IPv6 compatibility.
Switch the internal names to node / service, to follow the terminology used by
getaddrinfo(3). Use cf_util_get_string() rather than implementing our own.
Allow service names in addition to port numbers.
Use getaddrinfo(3) for hostname lookup -- this also adds IPv6 compatibility.
Switch the internal names to node / service, to follow the terminology used by
getaddrinfo(3). Use cf_util_get_string() rather than implementing our own.
Allow service names in addition to port numbers.
Merge remote-tracking branch 'snickl/snickl/1-modbus-fix-pkgconfig'
Merge pull request #18 from ChrisLundquist/cl/mongodb
free our bson record after the write as not to leak memory
free our bson record after the write as not to leak memory
free our bson record after the write as not to leak memory
Change modbus to libmodbus to fix pkgconfig
Merge branch 'collectd-5.0'
Merge branch 'collectd-4.10' into collectd-5.0
Merge remote-tracking branch 'tokkee/sh/collectd-5.0' into collectd-5.0
Minor doc fixes for the Python plugin.
Change-Id: I233d0ae4ec035c74811ef33aa119573066c9a3f6
Change-Id: I233d0ae4ec035c74811ef33aa119573066c9a3f6
Merge pull request #2 from trenkel/collectd-4.10
Even more fun than memory leaks: Memory corruption.
Even more fun than memory leaks: Memory corruption.
python: Fixed crash bug in case the plugin had more than one configuration block.
oracle plugin: Fix use of the OCIErrorGet() function.
Change-Id: I9899b98517fe0c239bffcf7a75681560029aa2ba
Change-Id: I9899b98517fe0c239bffcf7a75681560029aa2ba
Merge pull request #12 from ChrisLundquist/as/mongodb
Write MongoDB plugin: New plugin to write statistics to MongoDB, a NoSQL database using JSON documents.
Write MongoDB plugin: New plugin to write statistics to MongoDB, a NoSQL database using JSON documents.
write_mongodb plugin: Fix a format-string error.
Change-Id: Ia18cfa8ea7ef8536957c0807112620d2e0e2a976
Change-Id: Ia18cfa8ea7ef8536957c0807112620d2e0e2a976
write_mongodb plugin: Fix the use of {CPP,LD}FLAGS.
Change-Id: Ieb8467d3c1d0fac819864ff873594432170289d3
Change-Id: Ieb8467d3c1d0fac819864ff873594432170289d3
write_mongodb plugin: Update copyright header.
Change-Id: Ie939a7f3df1db9fc2aa3493028e3b3d74cdaeb61
Change-Id: Ie939a7f3df1db9fc2aa3493028e3b3d74cdaeb61
remove more commented out code
We have to convert CDTime to seconds since epoch
remove commented out code
Ok it is posting to the local server
added more debugging. cleaned up commented lines
compiles cleanly. libmongoc doesn't have an install target, will try to commit one there instead of having to hack the directory stucture to please ./configure.
configure.in: Improve check for libmongoc (aka. mongo-c-driver)
write_mongodb plugin: Rename the "write_mongo" plugin.
write_mongo plugin: Build fixes.
Enable the "write_mongo" plugin when the library is available. Move the
"MONGO_HAVE_STDINT" define into the .c file. Avoid the poisoned "strcpy".
Enable the "write_mongo" plugin when the library is available. Move the
"MONGO_HAVE_STDINT" define into the .c file. Avoid the poisoned "strcpy".
Fix plugin and type instance field name, also free bson object buffer
Add write_mongo plugin support for mongodb output (based on write_redis)
configure.in: Check for libmongoc.
common: check_create_dir(): Support symlinks as well.
Previously, the following situation would cause an endless look (as reported
by Michael Prokop in Debian bug #619123): the (CSV or RRD) datadir is a
symlink pointing to a non-existent target.
With this patch applied, check_create_dir() fails with "<file> exists but is
not a directory".
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Previously, the following situation would cause an endless look (as reported
by Michael Prokop in Debian bug #619123): the (CSV or RRD) datadir is a
symlink pointing to a non-existent target.
With this patch applied, check_create_dir() fails with "<file> exists but is
not a directory".
Signed-off-by: Sebastian Harl <sh@tokkee.org>
build system, ipvs plugin: Check for linux/ip_vs.h as well.
Also, try to find ip_vs.h without using KERNEL_CFLAGS at first. The Linux
kernel headers should not be used directly -- in current kernel versions this
generates warnings leading to build failures because of -Werror.
Also, try to find ip_vs.h without using KERNEL_CFLAGS at first. The Linux
kernel headers should not be used directly -- in current kernel versions this
generates warnings leading to build failures because of -Werror.
Merge branch 'collectd-5.0'
Merge branch 'collectd-4.10' into collectd-5.0
Change-Id: I8fea9338ac6490b2a76530a58c6bd36ec17d021a
Change-Id: I8fea9338ac6490b2a76530a58c6bd36ec17d021a
Update ChangeLog.
Change-Id: I7361ea08e1695b2928463150df36d385aa51299c
Change-Id: I7361ea08e1695b2928463150df36d385aa51299c
oracle plugin: Fix a memory leak.
Parameters must be freed using OCIDescriptorFree. D'oh!
Thanks to Rena Vetterling for helping me hunt down this problem!
Change-Id: Ic374ae13085c8d2afbdf9a3c0ceef92b485e7723
Parameters must be freed using OCIDescriptorFree. D'oh!
Thanks to Rena Vetterling for helping me hunt down this problem!
Change-Id: Ic374ae13085c8d2afbdf9a3c0ceef92b485e7723
oracle plugin: Improve the error printing function.
Change-Id: Ie52c80bd4a686b403037c97383176adf3e701419
Change-Id: Ie52c80bd4a686b403037c97383176adf3e701419
Bump version to 5.0.2; Update ChangeLog.
Change-Id: I8e564e51d9e9f3dc847811fd0d51fbf0079c20ba
Change-Id: I8e564e51d9e9f3dc847811fd0d51fbf0079c20ba
Merge branch 'collectd-4.10' into collectd-5.0
Conflicts:
ChangeLog
src/df.c
src/plugin.h
version-gen.sh
Change-Id: Id7a31088cdb3371534d5c1e6a690464f3343543d
Conflicts:
ChangeLog
src/df.c
src/plugin.h
version-gen.sh
Change-Id: Id7a31088cdb3371534d5c1e6a690464f3343543d
Bump version to 4.10.5; Update ChangeLog.
Change-Id: I900278064970e0c2d2bf471f4f80c7672aa8211f
Change-Id: I900278064970e0c2d2bf471f4f80c7672aa8211f
df: Set negative free space values to zero.
Some file systems (eg. UFS) may report negative free spave values.
Previously this caused underflow, but now it is prevented by setting
negative values to zero.
Change-Id: I821adb8a6d7a40dcbd6c65ab3541fbcd714f8aba
Conflicts:
src/df.c
Some file systems (eg. UFS) may report negative free spave values.
Previously this caused underflow, but now it is prevented by setting
negative values to zero.
Change-Id: I821adb8a6d7a40dcbd6c65ab3541fbcd714f8aba
Conflicts:
src/df.c
network plugin: Use the new plugin_dispatch_values_secure().
Change-Id: I2cc65a36366c6c714cd79c2905879bce313efe31
Change-Id: I2cc65a36366c6c714cd79c2905879bce313efe31
src/plugin.[ch]: Add plugin_dispatch_values_secure().
Change-Id: I1f7403b2e82edd099f0168d0a0735cd18f8ce05a
Change-Id: I1f7403b2e82edd099f0168d0a0735cd18f8ce05a
src/meta_data.[ch]: Add meta_data_clone().
Change-Id: I8449e27c908cbe75ea4ea3b8dd4df556f9aec9e7
Change-Id: I8449e27c908cbe75ea4ea3b8dd4df556f9aec9e7
Merge "Fix case when availrmem < freemem" into collectd-4.10
Fix case when availrmem < freemem
Change-Id: I03b188afeb2357e7b8c426bd0c6daff06fda2c4f
Conflicts:
src/memory.c
Change-Id: I03b188afeb2357e7b8c426bd0c6daff06fda2c4f
Conflicts:
src/memory.c
Merge pull request #16 from pyr/master
GenericJMX plugin: Allow attribute to call operations.
GenericJMX plugin: Allow attribute to call operations.
respect provided format
as per octo's request, provide details on nulls
Allow `Attribute` to query an MBean operation
MBeans provide two entities to the outside world:
* Attributes
* Operations
The former is a simple key/value lookup, while the latter
triggers a method call and yields the result.
Operations have signatures, they can be fed an array of
parameters. For now, calls are triggered assuming
there are no parameters. Later a separate keyword
`Operation` can be introduced, taking a list of
`Parameter` directives specifying type and values
to feed to the MBean operation.
MBeans provide two entities to the outside world:
* Attributes
* Operations
The former is a simple key/value lookup, while the latter
triggers a method call and yields the result.
Operations have signatures, they can be fed an array of
parameters. For now, calls are triggered assuming
there are no parameters. Later a separate keyword
`Operation` can be introduced, taking a list of
`Parameter` directives specifying type and values
to feed to the MBean operation.
Merge pull request #14 from insom/master
Add persistent 'OKAY' notifications.
Add persistent 'OKAY' notifications.
Merge pull request #13 from insom/improved-migration
Migration: Ensure destination directories exist when moving RRDs
Migration: Ensure destination directories exist when moving RRDs
python: Fixed memory leaks during dispatch.
Added "PersistOK" option to threshold to send notifications, even for OKAYs.
Migration: Ensure destination directories exist when moving RRDs
If you have not run collectd 5 before, then when type instances
are migrated to plugin instances the destination directories
may not already exist. For example:
mv "./test/df/df-mnt-dlna.rrd" "./test/df-mnt-dlna/df.rrd"
This one-liner does a mkdir -p of the destination before
attempting to move the file.
If you have not run collectd 5 before, then when type instances
are migrated to plugin instances the destination directories
may not already exist. For example:
mv "./test/df/df-mnt-dlna.rrd" "./test/df-mnt-dlna/df.rrd"
This one-liner does a mkdir -p of the destination before
attempting to move the file.
Updated the redhat spec so 5.0.1 would build.
Change-Id: I3f4f8e520b0be0226cd0ff5e3da5ff5dd090065c
Change-Id: I3f4f8e520b0be0226cd0ff5e3da5ff5dd090065c
Fix copy/paste typo in config option handler
Spotted by Pavel Korovin. Thanks!
Spotted by Pavel Korovin. Thanks!
src/common.c: parse_value: Be more verbose about parsing problems.
Change-Id: I784ec4ee9a1e89a82fdc9da54ed1fafd3d9c3e57
Change-Id: I784ec4ee9a1e89a82fdc9da54ed1fafd3d9c3e57
collectd-perl(5): Fix example Perl script.
Thanks to Sergey for catching this!
Change-Id: I4bbb609079734cd54d68f77681ea742b4eb83239
Thanks to Sergey for catching this!
Change-Id: I4bbb609079734cd54d68f77681ea742b4eb83239
This improves solaris memory plugin granularity.
Locked memory is now only tracking non-kernel locked memory.
We add kernel and unusable memory.
Source: http://www.brendangregg.com/K9Toolkit/swapinfo
Change-Id: I4f4d281e991068dc845d8c3615d285fc2a3296c8
Locked memory is now only tracking non-kernel locked memory.
We add kernel and unusable memory.
Source: http://www.brendangregg.com/K9Toolkit/swapinfo
Change-Id: I4f4d281e991068dc845d8c3615d285fc2a3296c8
use 64bit counters if available
Merge "Fix file:// not working as return code is 0 and not 200, as fixed beforehand in curl_json. Remove mention of http in documention as file also works now (and ftp most likely too)" into collectd-4.10
Fix file:// not working as return code is 0 and not 200, as fixed
beforehand in curl_json.
Remove mention of http in documention as file also works now (and ftp most likely too)
Change-Id: Iccb35e6b8c831f555dc5bbd17fa8d04672e13eb3
beforehand in curl_json.
Remove mention of http in documention as file also works now (and ftp most likely too)
Change-Id: Iccb35e6b8c831f555dc5bbd17fa8d04672e13eb3
Merge "interface plugin: Fix for bogus interfaces under Solaris." into collectd-4.10
Merge "irq plugin: Use the standard ignorelist for filtering interrupts."
Add patch from jimmyattime (issue #8)
This is certainly no worse than the previous usage of
pthread_mutex_lock, and will prevent the plugin from blocking. I'd like
to add better handling of failed locks in future commits.
This is certainly no worse than the previous usage of
pthread_mutex_lock, and will prevent the plugin from blocking. I'd like
to add better handling of failed locks in future commits.
ChangeLog: Remove blank line.
Change-Id: Ief9cabb148d75b79e0764d629c571ee9dc3d7d3b
Change-Id: Ief9cabb148d75b79e0764d629c571ee9dc3d7d3b
Merge branch 'collectd-4.10' into collectd-5.0
Conflicts:
ChangeLog
Change-Id: I65f02dbcad46460f18f356bc8d32eb15a7a352c2
Conflicts:
ChangeLog
Change-Id: I65f02dbcad46460f18f356bc8d32eb15a7a352c2
ChangeLog: Add thanks to Peter Green.
Change-Id: Ie392f7dfc7d637c92e286b0bf6d5d32877f70f76
Change-Id: Ie392f7dfc7d637c92e286b0bf6d5d32877f70f76
Prefix is no longer a required directive
While useful, the user should not be required to provide a prefix.
Having the hosts as the top level containers may make sense in some
environments. The current format is "${prefix}${hostname}${postfix}" so
be careful to add dots where needed.
Also updated docs to reflect this change.
While useful, the user should not be required to provide a prefix.
Having the hosts as the top level containers may make sense in some
environments. The current format is "${prefix}${hostname}${postfix}" so
be careful to add dots where needed.
Also updated docs to reflect this change.
Allow the user to append a string to the hostname
The user should be able to append a string to the hostname to provide
better organization if they wish. The directive used to set this option
is Postfix.
The user should be able to append a string to the hostname to provide
better organization if they wish. The directive used to set this option
is Postfix.
Make the dot substitution char configurable
Set the character used as the substitute in host and datasource names in
the collectd configuration block. The directive used to set this option
is DotCharactor and its default is '_' (underscore).
Set the character used as the substitute in host and datasource names in
the collectd configuration block. The directive used to set this option
is DotCharactor and its default is '_' (underscore).
Bump version to 5.0.1; Update ChangeLog.
Change-Id: I01466d5fb5c0d5c08a48d7c7e7a81239960a2d3c
Change-Id: I01466d5fb5c0d5c08a48d7c7e7a81239960a2d3c
Merge branch 'collectd-4.10' into collectd-5.0
Conflicts:
ChangeLog
src/collectd.conf.in
src/curl_json.c
version-gen.sh
Change-Id: I313c0d3c73d47481baa0a3b38bcdf508f1d4f8d8
Conflicts:
ChangeLog
src/collectd.conf.in
src/curl_json.c
version-gen.sh
Change-Id: I313c0d3c73d47481baa0a3b38bcdf508f1d4f8d8
Bump version to 4.10.4; Update ChangeLog.
Change-Id: Ie23cf45f929c52e94e968c7129d24aca7a287dd5
Change-Id: Ie23cf45f929c52e94e968c7129d24aca7a287dd5