rrdcached plugin: Fix syntax and type errors.
rrdcached plugin: Implement the "XFF" option.
rrdcached plugin: Implement the "RRATimespan" option.
rrdcached plugin: Implement the "StepSize", "HeartBeat" and "RRARows" options.
rrdcached plugin: Refactor the configuration handling.
Remove a custom string handling function that's only used in one place and use
the functions provided by "configfile.h".
Remove a custom string handling function that's only used in one place and use
the functions provided by "configfile.h".
Merge remote-tracking branch 'github-tokkee/sh/empty-config'
collectd-python.conf(5): fix register_* argument description
Signed-off-by: Florian Forster <octo@collectd.org>
Signed-off-by: Florian Forster <octo@collectd.org>
collectd-python.conf(5): change phrasing of function descriptions
Signed-off-by: Florian Forster <octo@collectd.org>
Signed-off-by: Florian Forster <octo@collectd.org>
collectd-python.conf(5): change phrasing of minimum required version
Signed-off-by: Florian Forster <octo@collectd.org>
Signed-off-by: Florian Forster <octo@collectd.org>
collectd-python.conf(5): fix trivial spelling mistakes
Signed-off-by: Florian Forster <octo@collectd.org>
Signed-off-by: Florian Forster <octo@collectd.org>
collectd-python.conf(5): capitalize Python
Signed-off-by: Florian Forster <octo@collectd.org>
Signed-off-by: Florian Forster <octo@collectd.org>
collection3: Remove duplicate definition of contains_invalid_chars().
Thanks to Jonathan Amiez for pointing this out!
Fixes Github issue #160.
Thanks to Jonathan Amiez for pointing this out!
Fixes Github issue #160.
pf plugin: Include "common.h".
collectd.conf(5): Documented the postgresql "by_table" queries.
postgresql_default.conf: Added _by_table variants for all table-related qries.
These queries use the 'schemaname' and 'relname' columns to construct the type
instance.
These queries use the 'schemaname' and 'relname' columns to construct the type
instance.
oconfig: Allow empty statement lists (in blocks and files).
This allows to use empty blocks (which is useful during development and
testing) and empty files (which may happen when including config directories,
cf. Debian #592881).
In order not to generate a shift/reduce error, rather than allowing a
'statement_list' to be empty, this has been implemented by explicitly allowing
empty blocks and an empty 'entire_file'.
This allows to use empty blocks (which is useful during development and
testing) and empty files (which may happen when including config directories,
cf. Debian #592881).
In order not to generate a shift/reduce error, rather than allowing a
'statement_list' to be empty, this has been implemented by explicitly allowing
empty blocks and an empty 'entire_file'.
postgresql plugin: Fixed config key check for <Writer> block.
A missing "else" caused incorrect “Ignoring unknown config key "Statement"”
warning messages.
A missing "else" caused incorrect “Ignoring unknown config key "Statement"”
warning messages.
network.c: call gcry_check_version() as required by library.
Signed-off-by: Florian Forster <octo@collectd.org>
Signed-off-by: Florian Forster <octo@collectd.org>
Merge remote-tracking branch 'trenkel/collectd-4.10' into collectd-4.10
Change the libnetlink function used to query link statistics to match iproute2's behavior and thus not trip on the kernel's new parsing of optional attributes for RTM_GETLINK.
Signed-off-by: Florian Forster <octo@collectd.org>
Signed-off-by: Florian Forster <octo@collectd.org>
postgresql plugin: Added support for using the db instance as query parameter.
collectd.conf(5): Documented the <Database> "Instance" option of postgresql.
postgresql plugin: Added "Instance" option to <Database> config block.
This option may be used to specify the plugin instance that should be used
instead of the database name. This allows to query multiple databases of the
same name on the same host (e.g. when running multiple database server
versions in parallel).
This fixes GH #161 suggested by Bryan Varner.
This option may be used to specify the plugin instance that should be used
instead of the database name. This allows to query multiple databases of the
same name on the same host (e.g. when running multiple database server
versions in parallel).
This fixes GH #161 suggested by Bryan Varner.
Merge branch 'collectd-5.1'
Merge branch 'collectd-5.0' into collectd-5.1
Merge branch 'collectd-4.10' into collectd-5.0
Conflicts:
src/utils_db_query.c
src/utils_db_query.h
Conflicts:
src/utils_db_query.c
src/utils_db_query.h
disk plugin: Multiply the average read/write latency with the interval.
The counter/derive will later be divided by the interval, resulting in too
small rates (for interval > 1.0).
Should fix issue #150. Thanks to Manuel Sanmartin for identifying this problem!
The counter/derive will later be divided by the interval, resulting in too
small rates (for interval > 1.0).
Should fix issue #150. Thanks to Manuel Sanmartin for identifying this problem!
Use plugin_thread_create() rather than pthread_create() in all plugins.
This function copies the plugin context from the calling thread to the new
thread. While this might not strictly be necessary in most/many cases, this
will make sure that any code within a plugin uses the same context
information, thus avoiding possible problems in the future.
This function copies the plugin context from the calling thread to the new
thread. While this might not strictly be necessary in most/many cases, this
will make sure that any code within a plugin uses the same context
information, thus avoiding possible problems in the future.
python: Fix memory leaks.
plugin: Don't switch plugin context in 'write', 'notification' and 'log'.
Rather, keep the context (i.e. interval) information of the calling (read)
plugin. This allows the write, notify and log callbacks to access the correct
interval settings appropriate for the current data-set.
Rather, keep the context (i.e. interval) information of the calling (read)
plugin. This allows the write, notify and log callbacks to access the correct
interval settings appropriate for the current data-set.
Initialize plugin context to global interval before loading a plugin.
This ensures that the actual interval for each plugin is available through its
context. It is a preparation for removing 'interval_g' (which has limited use
after introducing per-plugin intervals and, thus, its use is rather error-
prone).
This ensures that the actual interval for each plugin is available through its
context. It is a preparation for removing 'interval_g' (which has limited use
after introducing per-plugin intervals and, thus, its use is rather error-
prone).
Don't use 'interval_g' in any plugins.
Rather, use plugin_get_interval () in order to honor any plugin specific
interval settings.
Rather, use plugin_get_interval () in order to honor any plugin specific
interval settings.
plugin: Added plugin_get_interval().
This function returns the current value of the plugin's interval. If no
interval has been set in the plugin context, it will fall back to the global
interval or ten seconds as a last resort.
This function returns the current value of the plugin's interval. If no
interval has been set in the plugin context, it will fall back to the global
interval or ten seconds as a last resort.
src/utils_format_graphite.[ch]: Add the "store_rates" option.
This functionality must have been lost in the refactoring that added
Graphite support to the AMQP plugin.
This functionality must have been lost in the refactoring that added
Graphite support to the AMQP plugin.
network.c: workaround for broken OSX compilers issuing false warnings
Signed-off-by: Florian Forster <octo@collectd.org>
Signed-off-by: Florian Forster <octo@collectd.org>
Merge branch 'collectd-5.1'
Merge remote-tracking branch 'origin/collectd-5.1' into collectd-5.1
Merge branch 'collectd-5.1'
src/utils_db_query.[ch]: Remove duplicate "const" modifier.
Merge branch 'collectd-5.0' into collectd-5.1
Conflicts:
src/snmp.c
Conflicts:
src/snmp.c
Merge branch 'collectd-4.10' into collectd-5.0
Conflicts:
src/snmp.c
Conflicts:
src/snmp.c
Merge branch 'ff/snmp' into collectd-4.10
src/ntpd.c: Write NAN if the peer was not reachable
src/utils_avltree.c: Fix an off-by-one error in c_avl_insert().
When inserting the first node in the tree, the size is not incremented.
This causes c_avl_size() to return one element too little.
Thanks to Yves Mettier for debugging this!
When inserting the first node in the tree, the size is not incremented.
This causes c_avl_size() to return one element too little.
Thanks to Yves Mettier for debugging this!
Bugfix (mutex unlock instead of lock)
rc/utils_cache.c: Allocate most of the memory required by uc_get_names() at once.
strdup() will still require additional memory, but no more memory movement like
required when doing realloc() a lot.
This fixes Github issue #148.
strdup() will still require additional memory, but no more memory movement like
required when doing realloc() a lot.
This fixes Github issue #148.
collectd.conf(5): Document the "LoadPlugin / Interval" option.
src/plugin.c: Document the use of "register_complex_read".
Also add assertions to make sure plugin_init_ctx() is used correctly.
Also add assertions to make sure plugin_init_ctx() is used correctly.
ntpd plugin: Make some arguments 'const'.
ntpd plugin: Refactor the peer name generation.
Break it out of the main read-loop and put it into two functions: One for the
reference clocks and one for network hosts. The reference clock code will call
the network host code when the clock name is not available in the internal list
of reference clock names. This eliminates the (thread-unsafe) usage of
inet_ntoa(3).
Break it out of the main read-loop and put it into two functions: One for the
reference clocks and one for network hosts. The reference clock code will call
the network host code when the clock name is not available in the internal list
of reference clock names. This eliminates the (thread-unsafe) usage of
inet_ntoa(3).
Document ntpd IncludeUnitID and add to default config
src/ntpd.c: Add IncludeUnitID option for backwards compatibility
src/ntpd.c: Format refclock name and unit ID with %s-%u
src/ntpd.c: Add unit number to refclock name
There can be multiple instances of the same refclock with different unit
numbers. The unit number needs to be a part of the peer name, otherwise
the code will try to write the measurements from multiple peers to the
same RRD file.
There can be multiple instances of the same refclock with different unit
numbers. The unit number needs to be a part of the peer name, otherwise
the code will try to write the measurements from multiple peers to the
same RRD file.
Merge branch 'ym/utils_cache_bugfix'
src/utils_cache.c: Fix comment re defining LISTVAL_INCREASE.
Using the preprocessor flags (CPPFLAGS) is a tad more correct I think.
Using the preprocessor flags (CPPFLAGS) is a tad more correct I think.
snmp plugin: Fix incorrect comparison in csnmp_oid_compare().
the increment is defined as a constant (#define) and will not be a
variable. So its names becomes uppercase.
variable. So its names becomes uppercase.
snmp plugin: Check the return value of csnmp_oid_suffix().
Also fix an issue where the complete OID is compared with only the suffix.
Thanks to Mark Juric to test the changes and point out these problems.
Issue: #131
Also fix an issue where the complete OID is compared with only the suffix.
Thanks to Mark Juric to test the changes and point out these problems.
Issue: #131
Add in swap plugin reserved, in and out values for AIX.
Signed-off-by: Florian Forster <octo@collectd.org>
Signed-off-by: Florian Forster <octo@collectd.org>
Merge branch 'mlsr/uptime-aix'
Add libperfstat in Makefile.am
Add AIX support for uptime plugin.
Fix typo in if and return
Fix link with perfstat
AIX suport in contextswitch plugin.
sequence_number is only used in linux.
Generate a compilation error.
Signed-off-by: Florian Forster <octo@collectd.org>
Generate a compilation error.
Signed-off-by: Florian Forster <octo@collectd.org>
The commit 3bda88e8b425f43644e303e6957e38ae59c1bc83 change the shell from sh to bash.
To fix the configure script generation error: remove the echo whith \c used in sh.
Note: bash is not installed in AIX by default.
Signed-off-by: Florian Forster <octo@collectd.org>
To fix the configure script generation error: remove the echo whith \c used in sh.
Note: bash is not installed in AIX by default.
Signed-off-by: Florian Forster <octo@collectd.org>
ARG_MAX on Solaris is *very* large, 2 MB. Allocating that much on the
stack (local variable) overflows the thread stack and crashes the
process in weird and interesting ways.
"int i" is a useless variable and breaks the build with -Werror.
Signed-off-by: Florian Forster <octo@collectd.org>
stack (local variable) overflows the thread stack and crashes the
process in weird and interesting ways.
"int i" is a useless variable and breaks the build with -Werror.
Signed-off-by: Florian Forster <octo@collectd.org>
snmp plugin: Fix iterating over tables without an instance configuration.
Also should fix incorrect handling of instance values; the first one would
be skipped.
Also should fix incorrect handling of instance values; the first one would
be skipped.
Performance improvment : uc_get_names now allocates memory by blocks and not element by element.
configure: Only set the Perl interpreter if the argument is a file.
This fixes Github issue #137.
This fixes Github issue #137.
Fixed bugs that prevented to "make distcheck"
Fixes Github issue #132.
Signed-off-by: Florian Forster <octo@collectd.org>
Fixes Github issue #132.
Signed-off-by: Florian Forster <octo@collectd.org>
processes plugin: Coding style and whitespace changes.
processes plugin: Use stack memory when reading the command line.
Also remove the call to the non-threadsafe strtok(3) call and fix the
size passed to sstrncpy().
Also remove the call to the non-threadsafe strtok(3) call and fix the
size passed to sstrncpy().
processes plugin: Call ps_submit_fork_rate() from read_fork_rate().
This avoids the "return ULONG_MAX" hack to signal a problem.
This avoids the "return ULONG_MAX" hack to signal a problem.
Buffer and memory allocation related bug fixes and changes
Replaced "free" with "sfree" for memory deallocation.
Added memset(...) to initialized newly allocated memory
Removed buffer "termination".
Replaced "free" with "sfree" for memory deallocation.
Added memset(...) to initialized newly allocated memory
Removed buffer "termination".
Added support for the Solaris OS processes
Added support for process information on the Solaris OS. The information comes mainly from
/proc/PID/status, /proc/PID/psinfo , /proc/PID/usage and kstat
Added a few "solaris" specific process states as well
Added support for process information on the Solaris OS. The information comes mainly from
/proc/PID/status, /proc/PID/psinfo , /proc/PID/usage and kstat
Added a few "solaris" specific process states as well
Merge branch 'collectd-5.1'
Merge branch 'collectd-5.0' into collectd-5.1
Merge branch 'collectd-4.10' into collectd-5.0
Conflicts:
src/utils_db_query.c
src/zfs_arc.c
Conflicts:
src/utils_db_query.c
src/zfs_arc.c
Fix for Solaris when setting ip-opt multicast-loop (must be a char, not int).
General logging additions for tracking down the problem.
Signed-off-by: Florian Forster <octo@collectd.org>
General logging additions for tracking down the problem.
Signed-off-by: Florian Forster <octo@collectd.org>
Multithreading fix: localize unneeded global variable
ethstat plugin: Initialize realloc'ated memory.
The last element in "interfaces" is not guaranteed to be zeroed, resulting in a
segfault when cf_util_get_string() tries to free the "pointer".
Thanks to Mark T. Voelker for reporting and analyzing this bug!
This should fix Github issue #133.
The last element in "interfaces" is not guaranteed to be zeroed, resulting in a
segfault when cf_util_get_string() tries to free the "pointer".
Thanks to Mark T. Voelker for reporting and analyzing this bug!
This should fix Github issue #133.
ethstat plugin: Fix off-by-one error.
This hopefully fixes Github issue #135.
This hopefully fixes Github issue #135.
snmp plugin: Improve subtree matching.
Some MIBs use subtrees with an unusual OID naming schema. For example,
some network hardware encodes the MAC address in the last six parts of
the OID. Previously, the code only checked the last part of the OID
("sub-id") and assumed this was increasing. This assumption is not true
in such naming schemas and is not required by SNMP. This patch fixes
this behavior by comparing the entire "OID suffix".
This hopefully fixes Github issue #131.
Some MIBs use subtrees with an unusual OID naming schema. For example,
some network hardware encodes the MAC address in the last six parts of
the OID. Previously, the code only checked the last part of the OID
("sub-id") and assumed this was increasing. This assumption is not true
in such naming schemas and is not required by SNMP. This patch fixes
this behavior by comparing the entire "OID suffix".
This hopefully fixes Github issue #131.
snmp plugin: Expand tabs.
snmp plugin: Rename a couple of confusing variables.
"head" and "tail" are way better names, I hope.
"head" and "tail" are way better names, I hope.
snmp plugin: Improve some comments.
libs varnish & varnishcompat are NOT needed. "pkg-config --libs varnishapi" output only libvarnishapi as well
Signed-off-by: Florian Forster <octo@collectd.org>
Signed-off-by: Florian Forster <octo@collectd.org>
configure: Activate the PF plugin when net/pfvar.h is available.
Apparently PF has been or is being ported to FreeBSD, so simply checking the OS
name is not the best of ideas.
Apparently PF has been or is being ported to FreeBSD, so simply checking the OS
name is not the best of ideas.
pf plugin: Coding style changes.
* Move the names array to the top of the module.
* Avoid type issues by passing an uint64_t to pf_submit(). The fields are
using the BSD specific u_int64_t type.
* Use derive rather than counter.
* Add some more imports that may be required.
* Move the names array to the top of the module.
* Avoid type issues by passing an uint64_t to pf_submit(). The fields are
using the BSD specific u_int64_t type.
* Use derive rather than counter.
* Add some more imports that may be required.
pf plugin: Remove the init() callback.
Instead check for a running PF in the read() callback.
Instead check for a running PF in the read() callback.
types.db: Remove unused types.
Also fix a merge bug.
Also fix a merge bug.
pf plugin: Rearrange functions to get rid of prototypes.
* Add collectd specific includes.
* Make global variables and functions static.
* Remove main() function and associated code.
* Add collectd specific includes.
* Make global variables and functions static.
* Remove main() function and associated code.
Build system: Add the PF plugin.
Merge branch 'master' into sr/pf
Conflicts:
src/types.db
Conflicts:
src/types.db
pf plugin: also collect the current states sum
pf plugin: Change warn() to ERROR().
bindings/Makefile: perl: Use INSTALL_BASE rather than PREFIX.
Some versions of Perl / ExtUtils::MakeMaker will else abort with an error
message explaining INSTALL_BASE and PREFIX may not be used both. However, I
don't know where the other definition comes from.
Signed-off-by: Florian Forster <octo@collectd.org>
Some versions of Perl / ExtUtils::MakeMaker will else abort with an error
message explaining INSTALL_BASE and PREFIX may not be used both. However, I
don't know where the other definition comes from.
Signed-off-by: Florian Forster <octo@collectd.org>