src/libcollectdclient/network_buffer.c: Copy gcrypt import magic from the network plugin.
libcollectdclient: Update to the high-resolution time format.
Merge branch 'sr/pf'
Merge branch 'sh/postgresql-writer'
Conflicts:
src/collectd.conf.pod
src/postgresql.c
Conflicts:
src/collectd.conf.pod
src/postgresql.c
Merge branch 'sh/postgres-queries'
Merge branch 'libvirt-interfacenumber'
GenericJMXConfConnection: Automatically determine the host name.
Fixes Github issue #182.
Fixes Github issue #182.
libcollectdclient: Relicense under the MIT license.
Merge branch 'ff/netlib'
Conflicts:
src/collectdctl.c
src/libcollectdclient/client.c
src/libcollectdclient/collectd/client.h
Conflicts:
src/collectdctl.c
src/libcollectdclient/client.c
src/libcollectdclient/collectd/client.h
src/plugin.c: Replace the last use of "interval_g" in this file.
Merge branch 'sh/plugin_interval'
Conflicts:
src/amqp.c
src/exec.c
src/memcached.c
src/unixsock.c
Conflicts:
src/amqp.c
src/exec.c
src/memcached.c
src/unixsock.c
collectd_insert.sql: Use timestamptz rather than timestamp.
Don't want to get messed-up values after daylight-savings changes.
Don't want to get messed-up values after daylight-savings changes.
utils_time: cdtime_to_iso8601(): Include timezone information as well.
src/configfile.[ch]: Implement the cf_get_default_interval() function.
This should be able to replace "interval_g" in a global (i.e. non-plugin)
context, such as the interval in which timeouts are being checked.
The default value (10 seconds) is also configurable at compile time using
a define.
This should be able to replace "interval_g" in a global (i.e. non-plugin)
context, such as the interval in which timeouts are being checked.
The default value (10 seconds) is also configurable at compile time using
a define.
postgresql plugin: Simplified transaction handling a bit.
Don't set any next commit time after committing a transaction but only when
starting a new transaction. This way, db->next_commit == 0 always means that
we're outside of a transaction. Also, this removes the need to restart a
transaction right away. Rather, the write callback will take care of that the
next time it gets any data.
Don't set any next commit time after committing a transaction but only when
starting a new transaction. This way, db->next_commit == 0 always means that
we're outside of a transaction. Also, this removes the need to restart a
transaction right away. Rather, the write callback will take care of that the
next time it gets any data.
collectd.conf(5): Documented the postgresql FLUSH support.
postgresql plugin: Added support for "flushing" data.
This may be used to commit a PostgreSQL writer's transaction. Two different
types of flush callbacks are registered:
- postgresql: Flush *all* databases.
- postgresql-<database>: Flush the database named '<database>' only.
This may be used to commit a PostgreSQL writer's transaction. Two different
types of flush callbacks are registered:
- postgresql: Flush *all* databases.
- postgresql-<database>: Flush the database named '<database>' only.
postgresql plugin: Fixed unregistering of write callbacks.
Rather than unregistering some callback for each writer for each database,
unregister the single callback for each database only.
Rather than unregistering some callback for each writer for each database,
unregister the single callback for each database only.
postgresql plugin: Unregister all writers on shutdown.
This will make sure that all pending transactions will be committed. Else, the
open transactions would be rolled back by the PostgreSQL backend when closing
the connection.
In order to do so, all database connections are now stored in a plugin-global
array (this will also make further changes possible). Also, a ref-count has
been added to the database object in order to support "deleting" an object
twice when having it in use by a connection doing queries and writes.
This will make sure that all pending transactions will be committed. Else, the
open transactions would be rolled back by the PostgreSQL backend when closing
the connection.
In order to do so, all database connections are now stored in a plugin-global
array (this will also make further changes possible). Also, a ref-count has
been added to the database object in order to support "deleting" an object
twice when having it in use by a connection doing queries and writes.
postgresql plugin: Commit a transaction before shutting down a connection.
Also, make sure to acquire the database lock before that in order to wait for,
for example, outstanding writers.
Also, make sure to acquire the database lock before that in order to wait for,
for example, outstanding writers.
postgresql plugin: Don't try to restart a failed transaction when there's none.
postgresql plugin: Restart a writer transaction if the writer's query failed.
The failed query inside the transaction causes the transaction to be aborted
and all subsequent queries to fail as well.
The failed query inside the transaction causes the transaction to be aborted
and all subsequent queries to fail as well.
collectd.conf(5): Documented the postgresql <Database> 'Writer' option.
collectd.conf(5): Documented the "CommitInterval" option of 'postgresql'.
collectd_insert.sql: Let values_update_childs() return table names.
The function will now return a set of the names of child tables that have been
created.
The function will now return a set of the names of child tables that have been
created.
collectd_insert.sql: Added view 'collectd'.
This view provides a join of the 'identifiers' and 'values' tables plus an
additional column with the serialized collectd identifier.
This view provides a join of the 'identifiers' and 'values' tables plus an
additional column with the serialized collectd identifier.
postgresql plugin: Added 'CommitInterval' config option.
If specified, this option causes a writer to put several updates into a single
transaction. This transaction will last for the specified amount of time (in
seconds). By default, each update would be executed in a separate transaction
causing quite some overhead.
If specified, this option causes a writer to put several updates into a single
transaction. This transaction will last for the specified amount of time (in
seconds). By default, each update would be executed in a separate transaction
causing quite some overhead.
collectd-perl(5): Don't actually use $interval_g in any examples.
collectd-perl(5): Mention that $interval_g should not be used.
perl plugin: Emit a warning when accessing $interval_g.
Rather, point to plugin_get_interval().
Rather, point to plugin_get_interval().
perl plugin: Simplified $interval_g implementation.
Don't pass any pointers to interval_g around just in order to later
dereference them. There's just no reason to do so ;-)
Don't pass any pointers to interval_g around just in order to later
dereference them. There's just no reason to do so ;-)
Collectd.pm: Use plugin_get_interval() rather than $interval_g.
Collectd::Plugins::OpenVZ: Use plugin_get_interval() rather than $interval_g.
perl plugin: Export plugin_get_interval() to Perl plugins.
src/plugin.c: Report an error if ctx.interval is not set.
rrdtool plugin: Remove warnings.
They made sense when all data was collected at the same interval. This
has not been true for a while now and these warnings don't make any sense
anymore.
We could transform them into a per-VL check and use complaints to notify
the user, but I don't think it's worth it. There is an "I told you so"
in the manpage in big bold letters ...
They made sense when all data was collected at the same interval. This
has not been true for a while now and these warnings don't make any sense
anymore.
We could transform them into a per-VL check and use complaints to notify
the user, but I don't think it's worth it. There is an "I told you so"
in the manpage in big bold letters ...
src/plugin.c: Don't regularly check for read plugins.
Rather, let plugin_insert_read() wake up all the read threads.
This removes another usage of interval_g.
Rather, let plugin_insert_read() wake up all the read threads.
This removes another usage of interval_g.
Merge branch 'collectd-5.1'
Bump version to 5.1.1; Update ChangeLog.
Merge branch 'collectd-5.0' into collectd-5.1
Conflicts:
ChangeLog
version-gen.sh
Conflicts:
ChangeLog
version-gen.sh
Bump version to 5.0.5; Update ChangeLog.
Merge branch 'collectd-4.10' into collectd-5.0
Conflicts:
ChangeLog
src/pyvalues.c
version-gen.sh
Conflicts:
ChangeLog
src/pyvalues.c
version-gen.sh
Update version-gen.sh.
Bump version to 4.10.8; Update ChangeLog.
ping plugin: Don't abort the "ping_thread" when ping_send() fails.
This may happen when the network is down. If the thread fails, the read
callback will indicate an error and the exponential back-off will start.
This is not optimal for this scenario, since you usually want to have
ping stats from right when the network is back up.
Fixes Github issue #171.
This may happen when the network is down. If the thread fails, the read
callback will indicate an error and the exponential back-off will start.
This is not optimal for this scenario, since you usually want to have
ping stats from right when the network is back up.
Fixes Github issue #171.
ping plugin: Refactor "ping_thread": Move iteration over hosts into a function.
disk plugin: Add the "UseBSDName" option for Mac OS X.
This new option will use the "BSD Name" rather than major / minor numbers of
the device when reporting statistics.
See also Github issue #72.
This new option will use the "BSD Name" rather than major / minor numbers of
the device when reporting statistics.
See also Github issue #72.
aggregation plugin: Improve two error messages.
Merge branch 'ff/aggregate'
Conflicts:
src/Makefile.am
Conflicts:
src/Makefile.am
aggregation plugin: Handle the initial EAGAIN return value of rate_to_value().
This avoids an annoying and confusing warning.
This avoids an annoying and confusing warning.
aggregation plugin: Handle a start-up condition gracefully.
The resulting error message would confuse and annoy users.
The resulting error message would confuse and annoy users.
aggregation plugin: Implement the "GroupBy" option.
This new configuration format has two benefits:
1) It is easier to understand by users, because they don't have to know
about two types of wildcards.
2) In the future matching of Host, Plugin, Type, ... may support regular
expressions. In that case, this configuration syntax doesn't need to
be adapted.
This new configuration format has two benefits:
1) It is easier to understand by users, because they don't have to know
about two types of wildcards.
2) In the future matching of Host, Plugin, Type, ... may support regular
expressions. In that case, this configuration syntax doesn't need to
be adapted.
12 years ago1) Cleans up one configure.ac error AC_LINK_IFELSE requires AC_LANG_PROGRAM (or somet...
1) Cleans up one configure.ac error AC_LINK_IFELSE requires AC_LANG_PROGRAM (or something similar) to get the setup right.
2) Fix for maintaier-clean so that you can run the autoreconf build script multiple times.
3) Clean up the generated man pages when running cleanup.
Signed-off-by: Florian Forster <octo@collectd.org>
2) Fix for maintaier-clean so that you can run the autoreconf build script multiple times.
3) Clean up the generated man pages when running cleanup.
Signed-off-by: Florian Forster <octo@collectd.org>
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.