Merge branch 'collectd-4.5'
authorFlorian Forster <octo@leeloo.lan.home.verplant.org>
Thu, 16 Oct 2008 20:14:28 +0000 (22:14 +0200)
committerFlorian Forster <octo@leeloo.lan.home.verplant.org>
Thu, 16 Oct 2008 20:14:28 +0000 (22:14 +0200)
1  2 
src/Makefile.am
src/collectd.conf.in
src/perl.c
src/postgresql.c
src/types.db

diff --combined src/Makefile.am
@@@ -133,7 -133,7 +133,7 @@@ ascent_la_LDFLAGS = -module -avoid-vers
  ascent_la_CFLAGS = $(AM_CFLAGS) \
                $(BUILD_WITH_LIBCURL_CFLAGS) $(BUILD_WITH_LIBXML2_CFLAGS)
  ascent_la_LIBADD = $(BUILD_WITH_LIBCURL_LIBS) $(BUILD_WITH_LIBXML2_LIBS)
- collectd_LDADD += "-dlopen" apache.la
+ collectd_LDADD += "-dlopen" ascent.la
  collectd_DEPENDENCIES += ascent.la
  endif
  
@@@ -184,16 -184,6 +184,16 @@@ collectd_LDADD += "-dlopen" csv.l
  collectd_DEPENDENCIES += csv.la
  endif
  
 +if BUILD_PLUGIN_DBI
 +pkglib_LTLIBRARIES += dbi.la
 +dbi_la_SOURCES = dbi.c
 +dbi_la_CPPFLAGS = $(AM_CPPFLAGS) $(BUILD_WITH_LIBDBI_CPPFLAGS)
 +dbi_la_LDFLAGS = -module -avoid-version $(BUILD_WITH_LIBDBI_LDFLAGS)
 +dbi_la_LIBADD = $(BUILD_WITH_LIBDBI_LIBS)
 +collectd_LDADD += "-dlopen" dbi.la
 +collectd_DEPENDENCIES += dbi.la
 +endif
 +
  if BUILD_PLUGIN_DF
  pkglib_LTLIBRARIES += df.la
  df_la_SOURCES = df.c
@@@ -598,19 -588,9 +598,19 @@@ processes_la_LIBADD += -lkv
  endif
  endif
  
 +if BUILD_PLUGIN_RRDCACHED
 +pkglib_LTLIBRARIES += rrdcached.la
 +rrdcached_la_SOURCES = rrdcached.c utils_rrdcreate.c utils_rrdcreate.h
 +rrdcached_la_LDFLAGS = -module -avoid-version
 +rrdcached_la_CFLAGS = $(AM_CFLAGS) $(BUILD_WITH_LIBRRD_CFLAGS)
 +rrdcached_la_LIBADD = $(BUILD_WITH_LIBRRD_LDFLAGS)
 +collectd_LDADD += "-dlopen" rrdcached.la
 +collectd_DEPENDENCIES += rrdcached.la
 +endif
 +
  if BUILD_PLUGIN_RRDTOOL
  pkglib_LTLIBRARIES += rrdtool.la
 -rrdtool_la_SOURCES = rrdtool.c
 +rrdtool_la_SOURCES = rrdtool.c utils_rrdcreate.c utils_rrdcreate.h
  rrdtool_la_LDFLAGS = -module -avoid-version
  rrdtool_la_CFLAGS = $(AM_CFLAGS) $(BUILD_WITH_LIBRRD_CFLAGS)
  rrdtool_la_LIBADD = $(BUILD_WITH_LIBRRD_LDFLAGS)
@@@ -839,5 -819,6 +839,6 @@@ install-exec-hook
                $(INSTALL) -m 0640 collectd.conf $(DESTDIR)$(sysconfdir)/collectd.conf; \
        fi; \
        cp -f $(srcdir)/types.db $(DESTDIR)$(pkglibdir)/;
-       $(INSTALL) -D -m 0644 $(srcdir)/postgresql_default.conf \
+       $(mkinstalldirs) $(DESTDIR)$(pkgdatadir)
+       $(INSTALL) -m 0644 $(srcdir)/postgresql_default.conf \
                $(DESTDIR)$(pkgdatadir)/postgresql_default.conf;
diff --combined src/collectd.conf.in
@@@ -34,7 -34,6 +34,7 @@@ FQDNLookup   tru
  @BUILD_PLUGIN_CPU_TRUE@LoadPlugin cpu
  @BUILD_PLUGIN_CPUFREQ_TRUE@LoadPlugin cpufreq
  @BUILD_PLUGIN_CSV_TRUE@LoadPlugin csv
 +@BUILD_PLUGIN_DBI_TRUE@LoadPlugin dbi
  @BUILD_PLUGIN_DF_TRUE@LoadPlugin df
  @BUILD_PLUGIN_DISK_TRUE@LoadPlugin disk
  @BUILD_PLUGIN_DNS_TRUE@LoadPlugin dns
@@@ -69,7 -68,6 +69,7 @@@
  @BUILD_PLUGIN_POSTGRESQL_TRUE@LoadPlugin postgresql
  @BUILD_PLUGIN_POWERDNS_TRUE@LoadPlugin powerdns
  @BUILD_PLUGIN_PROCESSES_TRUE@LoadPlugin processes
 +@BUILD_PLUGIN_RRDCACHED_TRUE@LoadPlugin rrdcached
  @BUILD_PLUGIN_RRDTOOL_TRUE@LoadPlugin rrdtool
  @BUILD_PLUGIN_SENSORS_TRUE@LoadPlugin sensors
  @BUILD_PLUGIN_SERIAL_TRUE@LoadPlugin serial
  #     StoreRates false
  #</Plugin>
  
 +#<Plugin dbi>
 +#     <Query "num_of_customers">
 +#             Statement "SELECT 'customers' AS c_key, COUNT(*) AS c_value FROM customers_tbl"
 +#             Type "gauge"
 +#             InstancesFrom "c_key"
 +#             ValuesFrom "c_value"
 +#     </Query>
 +#     <Database "customers_db">
 +#             Driver "mysql"
 +#             DriverOption "host" "localhost"
 +#             DriverOption "username" "collectd"
 +#             DriverOption "password" "AeXohy0O"
 +#             DriverOption "dbname" "custdb0"
 +#             #SelectDB "custdb0"
 +#             Query "num_of_customers"
 +#             #Query "..."
 +#     </Database>
 +#</Plugin>
 +
  #<Plugin df>
  #     Device "/dev/hda1"
  #     Device "192.168.0.2:/mnt/nfs"
  #     BaseName "Collectd::Plugin"
  #     EnableDebugger ""
  #     LoadPlugin foo
+ #
+ #     <Plugin foo>
+ #             Foo "Bar"
+ #             Qux "Baz"
+ #     </Plugin>
  #</Plugin>
  
  #<Plugin ping>
  #     Process "name"
  #</Plugin>
  
 +#<Plugin rrdcached>
 +#     DaemonAddress "unix:/tmp/rrdcached.sock"
 +#     DataDir "@prefix@/var/lib/@PACKAGE_NAME@/rrd"
 +#     CreateFiles true
 +#     CollectStatistics true
 +#</Plugin>
 +
  #<Plugin rrdtool>
  #     DataDir "@prefix@/var/lib/@PACKAGE_NAME@/rrd"
  #     CacheTimeout 120
diff --combined src/perl.c
@@@ -36,7 -36,7 +36,7 @@@
  #include <EXTERN.h>
  #include <perl.h>
  
- #if __GNUC__
+ #if defined(COLLECT_DEBUG) && COLLECT_DEBUG && defined(__GNUC__) && __GNUC__
  # pragma GCC poison sprintf
  #endif
  
@@@ -1806,10 -1806,7 +1806,10 @@@ static int perl_config (oconfig_item_t 
                else if (0 == strcasecmp (c->key, "Plugin"))
                        current_status = perl_config_plugin (aTHX_ c);
                else
 +              {
                        log_warn ("Ignoring unknown config key \"%s\".", c->key);
 +                      current_status = 0;
 +              }
  
                /* fatal error - it's up to perl_config_* to clean up */
                if (0 > current_status) {
diff --combined src/postgresql.c
@@@ -217,7 -217,8 +217,7 @@@ static c_psql_database_t *c_psql_databa
  
        db->conn = NULL;
  
 -      db->conn_complaint.last     = 0;
 -      db->conn_complaint.interval = 0;
 +      C_COMPLAIN_INIT (&db->conn_complaint);
  
        db->proto_version = 0;
  
  static void c_psql_database_delete (c_psql_database_t *db)
  {
        PQfinish (db->conn);
+       db->conn = NULL;
  
        sfree (db->queries);
        db->queries_num = 0;
@@@ -416,14 -418,17 +417,17 @@@ static int c_psql_exec_query (c_psql_da
        }
  
        rows = PQntuples (res);
-       if (1 > rows)
+       if (1 > rows) {
+               PQclear (res);
                return 0;
+       }
  
        cols = PQnfields (res);
        if (query->cols_num != cols) {
                log_err ("SQL query returned wrong number of fields "
                                "(expected: %i, got: %i)", query->cols_num, cols);
                log_info ("SQL query was: %s", query->query);
+               PQclear (res);
                return -1;
        }
  
                                submit_gauge (db, col.type, col.type_instance, value);
                }
        }
+       PQclear (res);
        return 0;
  } /* c_psql_exec_query */
  
@@@ -545,6 -551,12 +550,12 @@@ static int c_psql_init (void
  
                int j;
  
+               /* this will happen during reinitialization */
+               if (NULL != db->conn) {
+                       c_psql_check_connection (db);
+                       continue;
+               }
                status = ssnprintf (buf, buf_len, "dbname = '%s'", db->database);
                if (0 < status) {
                        buf     += status;
diff --combined src/types.db
@@@ -64,7 -64,6 +64,7 @@@ mysql_threads         running:GAUGE:0:U, conne
  nfs_procedure         value:COUNTER:0:4294967295
  nginx_connections     value:GAUGE:0:U
  nginx_requests                value:COUNTER:0:134217728
 +operations            value:COUNTER:0:4294967295
  percent                       percent:GAUGE:0:100.1
  pg_blks                       value:COUNTER:0:U
  pg_db_size            value:GAUGE:0:U
@@@ -81,11 -80,11 +81,12 @@@ ps_cputime         user:COUNTER:0:16000000, sy
  ps_pagefaults         minflt:COUNTER:0:9223372036854775807, majflt:COUNTER:0:9223372036854775807
  ps_rss                        value:GAUGE:0:9223372036854775807
  ps_state              value:GAUGE:0:65535
 +queue_length          value:GAUGE:0:U
  serial_octets         rx:COUNTER:0:4294967295, tx:COUNTER:0:4294967295
  signal_noise          value:GAUGE:U:0
  signal_power          value:GAUGE:U:0
  signal_quality                value:GAUGE:0:U
+ spam_check            value:GAUGE:0:U
  spam_score            value:GAUGE:U:U
  swap                  value:GAUGE:0:1099511627776
  tcp_connections               value:GAUGE:0:4294967295