From 16834d286c86a1cff2da049aa690b98cdb99f002 Mon Sep 17 00:00:00 2001 From: Florian Forster Date: Wed, 22 Feb 2012 18:37:46 +0100 Subject: [PATCH] bind plugin: Implement the "ParseTime" option. Change-Id: Ic1994440d462079bc16c70da495ff51728cb4aba --- src/bind.c | 9 ++++++++- src/collectd.conf.pod | 26 ++++++++++++++++++-------- 2 files changed, 26 insertions(+), 9 deletions(-) diff --git a/src/bind.c b/src/bind.c index b640a596..36e225bf 100644 --- a/src/bind.c +++ b/src/bind.c @@ -98,6 +98,10 @@ struct list_info_ptr_s }; typedef struct list_info_ptr_s list_info_ptr_t; +/* FIXME: Enabled by default for backwards compatibility. */ +/* TODO: Remove time parsing code. */ +static _Bool config_parse_time = 1; + static char *url = NULL; static int global_opcodes = 1; static int global_qtypes = 1; @@ -249,7 +253,8 @@ static void submit (time_t ts, const char *plugin_instance, /* {{{ */ vl.values = values; vl.values_len = 1; - vl.time = TIME_T_TO_CDTIME_T (ts); + if (config_parse_time) + vl.time = TIME_T_TO_CDTIME_T (ts); sstrncpy(vl.host, hostname_g, sizeof(vl.host)); sstrncpy(vl.plugin, "bind", sizeof(vl.plugin)); if (plugin_instance) { @@ -1363,6 +1368,8 @@ static int bind_config (oconfig_item_t *ci) /* {{{ */ bind_config_set_bool ("MemoryStats", &global_memory_stats, child); else if (strcasecmp ("View", child->key) == 0) bind_config_add_view (child); + else if (strcasecmp ("ParseTime", child->key) == 0) + cf_util_get_boolean (child, &config_parse_time); else { WARNING ("bind plugin: Unknown configuration option " diff --git a/src/collectd.conf.pod b/src/collectd.conf.pod index a3fe184f..74824a7b 100644 --- a/src/collectd.conf.pod +++ b/src/collectd.conf.pod @@ -483,6 +483,7 @@ Synopsis: URL "http://localhost:8053/" + ParseTime false OpCodes true QTypes true @@ -509,35 +510,44 @@ The bind plugin accepts the following configuration options: URL from which to retrieve the XML data. If not specified, C will be used. -=item B I|I +=item B B|B + +When set to B, the time provided by BIND will be parsed and used to +dispatch the values. When set to B, the local time source is queried. + +This setting is set to B by default for backwards compatibility; setting +this to B is I to avoid problems with timezones and +localization. + +=item B B|B When enabled, statistics about the I<"OpCodes">, for example the number of C packets, are collected. Default: Enabled. -=item B I|I +=item B B|B When enabled, the number of I queries by query types (for example C, C, C) is collected. Default: Enabled. -=item B I|I +=item B B|B Collect global server statistics, such as requests received over IPv4 and IPv6, successful queries, and failed updates. Default: Enabled. -=item B I|I +=item B B|B Collect zone maintenance statistics, mostly information about notifications (zone updates) and zone transfers. Default: Enabled. -=item B I|I +=item B B|B Collect resolver statistics, i.Ee. statistics about outgoing requests (e.Eg. queries over IPv4, lame servers). Since the global resolver @@ -566,21 +576,21 @@ configured, no detailed view statistics will be collected. =over 4 -=item B I|I +=item B B|B If enabled, the number of I queries by query type (e.Eg. C, C) is collected. Default: Enabled. -=item B I|I +=item B B|B Collect resolver statistics, i.Ee. statistics about outgoing requests (e.Eg. queries over IPv4, lame servers). Default: Enabled. -=item B I|I +=item B B|B If enabled, the number of entries (I<"RR sets">) in the view's cache by query type is collected. Negative entries (queries which resulted in an error, for -- 2.11.0