Collectd developers--

Good day.

I am currently trying to backport the changes for "ParseTime" into collectd-4.9.3 (the version that is running on my production environment). Comparing src/bind.c and src/collectd.conf.pod against the published patches at http://goo.gl/ebHUU, I
then came up with these diffs for collectd-4.9.3:

mr.a@a:/usr/ports/net-mgmt/collectd# less files/patch-src-bind.c.diff
--- ./src/bind.c.orig   2010-07-09 18:01:59.000000000 +0800
+++ ./src/bind.c        2012-06-13 09:35:57.000000000 +0800
@@ -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 "
(END)

--- src/collectd.conf.pod.orig  2010-07-09 18:03:25.000000000 +0800
+++ src/collectd.conf.pod       2012-06-13 12:33:51.000000000 +0800
@@ -288,6 +288,7 @@

 <Plugin "bind">
   URL "http://localhost:8053/";
+   ParseTime       false
   OpCodes         true
   QTypes          true

@@ -314,35 +315,44 @@
URL from which to retrieve the XML data. If not specified,
C<http://localhost:8053/> will be used.

-=item B<OpCodes> I<true>|I<false>
+=item B<ParseTime> B<true>|B<false>
+
+When set to B<true>, the time provided by BIND will be parsed and used to +dispatch the values. When set to B<false>, the local time source is queried.
+
+This setting is set to B<true> by default for backwards compatibility; setting
+this to B<false> is I<recommended> to avoid problems with timezones and
+localization.
+
+=item B<OpCodes> B<true>|B<false>

When enabled, statistics about the I<"OpCodes">, for example the number of
C<QUERY> packets, are collected.

Default: Enabled.

-=item B<QTypes> I<true>|I<false>
+=item B<QTypes> B<true>|B<false>

When enabled, the number of I<incoming> queries by query types (for example
C<A>, C<MX>, C<AAAA>) is collected.

Default: Enabled.

-=item B<ServerStats> I<true>|I<false>
+=item B<ServerStats> B<true>|B<false>

Collect global server statistics, such as requests received over IPv4 and IPv6,
successful queries, and failed updates.

Default: Enabled.

-=item B<ZoneMaintStats> I<true>|I<false>
+=item B<ZoneMaintStats> B<true>|B<false>

Collect zone maintenance statistics, mostly information about notifications
(zone updates) and zone transfers.

Default: Enabled.

-=item B<ResolverStats> I<true>|I<false>
+=item B<ResolverStats> B<true>|B<false>

Collect resolver statistics, i.E<nbsp>e. statistics about outgoing requests (e.E<nbsp>g. queries over IPv4, lame servers). Since the global resolver
@@ -371,21 +381,21 @@

=over 4

-=item B<QTypes> I<true>|I<false>
+=item B<QTypes> B<true>|B<false>

If enabled, the number of I<outgoing> queries by query type (e.E<nbsp>g. C<A>,
C<MX>) is collected.

Default: Enabled.

-=item B<ResolverStats> I<true>|I<false>
+=item B<ResolverStats> B<true>|B<false>

Collect resolver statistics, i.E<nbsp>e. statistics about outgoing requests
(e.E<nbsp>g. queries over IPv4, lame servers).

Default: Enabled.

-=item B<CacheRRSets> I<true>|I<false>
+=item B<CacheRRSets> B<true>|B<false>

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

Applying the patches worked just fine.

mr.a@a:/usr/ports/net-mgmt/collectd# make clean patch
===>  Cleaning for collectd-4.9.3_3
===>  License check disabled, port has not defined LICENSE
===>  Found saved configuration for collectd-4.9.3_2
===>  Extracting for collectd-4.9.3_3
===>  Patching for collectd-4.9.3_3
===>  Applying FreeBSD patches for collectd-4.9.3_3
mr.a@a:/usr/ports/net-mgmt/collectd#

Here is the problem during installation:
# uname -s
FreeBSD
# uname -p
amd64
# uname -r
8.2-RELEASE

#head Makefile
PORTNAME=       collectd
PORTVERSION=    4.9.3
PORTREVISION=   3

/usr/ports/net-mgmt/collectd# make clean patch install package
...
libtool: link: ar cru .libs/apache.a  apache_la-apache.o
libtool: link: ranlib .libs/apache.a
libtool: link: ( cd ".libs" && rm -f "apache.la" && ln -s
"../apache.la" "apache.la" )
/bin/sh ../libtool  --tag=CC   --mode=compile cc -DHAVE_CONFIG_H -I.
-DPREFIX='"/usr/local"' -DCONFIGFILE='"/usr/local/etc/collectd.conf"'
-DLOCALSTATEDIR='"/var"' -DPKGLOCALSTATEDIR='"/var/lib/collectd"'
-DPIDFILE='"/var/run/collectd.pid"'
-DPLUGINDIR='"/usr/local/lib/collectd"'
-DPKGDATADIR='"/usr/local/share/collectd"' -I/usr/local/include -Wall
-Werror -I/usr/local/include -I/usr/local/include/libxml2
-I/usr/local/include   -O2 -pipe -fstack-protector -fno-strict-aliasing
-MT bind_la-bind.lo -MD -MP -MF .deps/bind_la-bind.Tpo -c -o
bind_la-bind.lo `test -f 'bind.c' || echo './'`bind.c
libtool: compile:  cc -DHAVE_CONFIG_H -I. -DPREFIX=\"/usr/local\"
-DCONFIGFILE=\"/usr/local/etc/collectd.conf\" -DLOCALSTATEDIR=\"/var\"
-DPKGLOCALSTATEDIR=\"/var/lib/collectd\"
-DPIDFILE=\"/var/run/collectd.pid\"
-DPLUGINDIR=\"/usr/local/lib/collectd\"
-DPKGDATADIR=\"/usr/local/share/collectd\" -I/usr/local/include -Wall
-Werror -I/usr/local/include -I/usr/local/include/libxml2
-I/usr/local/include -O2 -pipe -fstack-protector -fno-strict-aliasing
-MT bind_la-bind.lo -MD -MP -MF .deps/bind_la-bind.Tpo -c bind.c  -fPIC
-DPIC -o .libs/bind_la-bind.o
cc1: warnings being treated as errors
bind.c: In function 'submit':
bind.c:257: warning: implicit declaration of function
'TIME_T_TO_CDTIME_T'
gmake[3]: *** [bind_la-bind.lo] Error 1
gmake[3]: Leaving directory
`/home/tmp_ports/usr/xports/net-mgmt/collectd/work/collectd-4.9.3/src'
gmake[2]: *** [all-recursive] Error 1
gmake[2]: Leaving directory
`/home/tmp_ports/usr/xports/net-mgmt/collectd/work/collectd-4.9.3/src'
gmake[1]: *** [all] Error 2
gmake[1]: Leaving directory
`/home/tmp_ports/usr/xports/net-mgmt/collectd/work/collectd-4.9.3/src'
gmake: *** [all-recursive] Error 1
*** Error code 1

Any ideas on what went wrong here?

Thanks in advance,

mr.a



_______________________________________________
collectd mailing list
[email protected]
http://mailman.verplant.org/listinfo/collectd

Reply via email to