Don't use 'interval_g' in any plugins.
authorSebastian Harl <sh@tokkee.org>
Sun, 14 Oct 2012 14:37:18 +0000 (16:37 +0200)
committerSebastian Harl <sh@tokkee.org>
Sun, 14 Oct 2012 14:37:18 +0000 (16:37 +0200)
Rather, use plugin_get_interval () in order to honor any plugin specific
interval settings.

16 files changed:
src/amqp.c
src/cpu.c
src/dns.c
src/exec.c
src/ipmi.c
src/libvirt.c
src/memcached.c
src/modbus.c
src/network.c
src/plugin.c
src/plugin.h
src/postgresql.c
src/powerdns.c
src/snmp.c
src/utils_cmd_putval.c
src/utils_complain.c

index adf4792..30a8581 100644 (file)
@@ -543,6 +543,8 @@ static void *camqp_subscribe_thread (void *user_data) /* {{{ */
     camqp_config_t *conf = user_data;
     int status;
 
+    cdtime_t interval = plugin_get_interval ();
+
     while (subscriber_threads_running)
     {
         amqp_frame_t frame;
@@ -552,8 +554,8 @@ static void *camqp_subscribe_thread (void *user_data) /* {{{ */
         {
             ERROR ("amqp plugin: camqp_connect failed. "
                     "Will sleep for %.3f seconds.",
-                    CDTIME_T_TO_DOUBLE (interval_g));
-            sleep (interval_g);
+                    CDTIME_T_TO_DOUBLE (interval));
+            sleep (interval);
             continue;
         }
 
@@ -562,9 +564,9 @@ static void *camqp_subscribe_thread (void *user_data) /* {{{ */
         {
             ERROR ("amqp plugin: amqp_simple_wait_frame failed. "
                     "Will sleep for %.3f seconds.",
-                    CDTIME_T_TO_DOUBLE (interval_g));
+                    CDTIME_T_TO_DOUBLE (interval));
             camqp_close_connection (conf);
-            sleep (interval_g);
+            sleep (interval);
             continue;
         }
 
index 12071a2..5448003 100644 (file)
--- a/src/cpu.c
+++ b/src/cpu.c
@@ -163,7 +163,7 @@ static int init (void)
        DEBUG ("host_processors returned %i %s", (int) cpu_list_len, cpu_list_len == 1 ? "processor" : "processors");
        INFO ("cpu plugin: Found %i processor%s.", (int) cpu_list_len, cpu_list_len == 1 ? "" : "s");
 
-       cpu_temp_retry_max = 86400 / CDTIME_T_TO_TIME_T (interval_g);
+       cpu_temp_retry_max = 86400 / CDTIME_T_TO_TIME_T (plugin_get_interval ());
 /* #endif PROCESSOR_CPU_LOAD_INFO */
 
 #elif defined(HAVE_LIBKSTAT)
index 95797f5..08a0369 100644 (file)
--- a/src/dns.c
+++ b/src/dns.c
@@ -228,7 +228,7 @@ static void *dns_child_loop (__attribute__((unused)) void *dummy)
        pcap_obj = pcap_open_live ((pcap_device != NULL) ? pcap_device : "any",
                        PCAP_SNAPLEN,
                        0 /* Not promiscuous */,
-                       (int) CDTIME_T_TO_MS (interval_g / 2),
+                       (int) CDTIME_T_TO_MS (plugin_get_interval () / 2),
                        pcap_error);
        if (pcap_obj == NULL)
        {
index 4f6f9df..6dfdfe6 100644 (file)
@@ -270,14 +270,15 @@ static void set_environment (void) /* {{{ */
   char buffer[1024];
 
 #ifdef HAVE_SETENV
-  ssnprintf (buffer, sizeof (buffer), "%.3f", CDTIME_T_TO_DOUBLE (interval_g));
+  ssnprintf (buffer, sizeof (buffer), "%.3f",
+      CDTIME_T_TO_DOUBLE (plugin_get_interval ()));
   setenv ("COLLECTD_INTERVAL", buffer, /* overwrite = */ 1);
 
   ssnprintf (buffer, sizeof (buffer), "%s", hostname_g);
   setenv ("COLLECTD_HOSTNAME", buffer, /* overwrite = */ 1);
 #else
   ssnprintf (buffer, sizeof (buffer), "COLLECTD_INTERVAL=%.3f",
-      CDTIME_T_TO_DOUBLE (interval_g));
+      CDTIME_T_TO_DOUBLE (plugin_get_interval ()));
   putenv (buffer);
 
   ssnprintf (buffer, sizeof (buffer), "COLLECTD_HOSTNAME=%s", hostname_g);
index f341320..7eafea8 100644 (file)
@@ -664,7 +664,7 @@ static int c_ipmi_init (void)
   int status;
 
   /* Don't send `ADD' notifications during startup (~ 1 minute) */
-  time_t iv = CDTIME_T_TO_TIME_T (interval_g);
+  time_t iv = CDTIME_T_TO_TIME_T (plugin_get_interval ());
   c_ipmi_init_in_progress = 1 + (60 / iv);
 
   c_ipmi_active = 1;
index 774067c..e076891 100644 (file)
@@ -139,8 +139,6 @@ init_value_list (value_list_t *vl, virDomainPtr dom)
     const char *name;
     char uuid[VIR_UUID_STRING_BUFLEN];
 
-    vl->interval = interval_g;
-
     sstrncpy (vl->plugin, "libvirt", sizeof (vl->plugin));
 
     vl->host[0] = '\0';
index ee3dbe1..eda1b03 100644 (file)
@@ -177,13 +177,13 @@ static int memcached_query_daemon (char *buffer, int buffer_size) /* {{{ */
                p.revents = 0;
 
                status = poll (&p, /* nfds = */ 1,
-                               /* timeout = */ CDTIME_T_TO_MS (interval_g));
+                               /* timeout = */ CDTIME_T_TO_MS (plugin_get_interval ()));
                if (status <= 0)
                {
                        if (status == 0)
                        {
                                ERROR ("memcached: poll(2) timed out after %.3f seconds.",
-                                               CDTIME_T_TO_DOUBLE (interval_g));
+                                               CDTIME_T_TO_DOUBLE (plugin_get_interval ()));
                        }
                        else
                        {
index 19848b0..8a9fe93 100644 (file)
@@ -237,7 +237,7 @@ static int mb_submit (mb_host_t *host, mb_slave_t *slave, /* {{{ */
     return (EINVAL);
 
   if (host->interval <= 0)
-    host->interval = interval_g;
+    host->interval = plugin_get_interval ();
 
   if (slave->instance[0] == 0)
     ssnprintf (slave->instance, sizeof (slave->instance), "slave_%i",
index 840577f..59c2be7 100644 (file)
@@ -3225,7 +3225,6 @@ static int network_stats_read (void) /* {{{ */
        vl.values = values;
        vl.values_len = 2;
        vl.time = 0;
-       vl.interval = interval_g;
        sstrncpy (vl.host, hostname_g, sizeof (vl.host));
        sstrncpy (vl.plugin, "network", sizeof (vl.plugin));
 
index 002955d..9c2af5d 100644 (file)
@@ -380,7 +380,7 @@ static void *plugin_read_thread (void __attribute__((unused)) *args)
                {
                        now = cdtime ();
 
-                       CDTIME_T_TO_TIMESPEC (interval_g, &rf->rf_interval);
+                       CDTIME_T_TO_TIMESPEC (plugin_get_interval (), &rf->rf_interval);
 
                        rf->rf_effective_interval = rf->rf_interval;
 
@@ -804,10 +804,10 @@ int plugin_register_read (const char *name,
        int status;
 
        if (ctx.interval != 0) {
-               /* If ctx.interval is not zero (== use interval_g), we need to
-                * use the "complex" read callback, because only that allows to
-                * specify a different interval. Wrap the callback using
-                * read_cb_wrapper(). */
+               /* If ctx.interval is not zero (== use the plugin or global
+                * interval), we need to use the "complex" read callback,
+                * because only that allows to specify a different interval.
+                * Wrap the callback using read_cb_wrapper(). */
                struct timespec interval;
                user_data_t user_data;
 
index e147a93..3f2d98c 100644 (file)
@@ -99,8 +99,7 @@ struct value_list_s
 };
 typedef struct value_list_s value_list_t;
 
-#define VALUE_LIST_INIT { NULL, 0, 0, \
-       (plugin_interval > 0) ? plugin_interval : interval_g, \
+#define VALUE_LIST_INIT { NULL, 0, 0, plugin_get_interval (), \
        "localhost", "", "", "", "", NULL }
 #define VALUE_LIST_STATIC { NULL, 0, 0, 0, "localhost", "", "", "", "", NULL }
 
index a8812e2..953bcd8 100644 (file)
@@ -337,7 +337,8 @@ static PGresult *c_psql_exec_query_params (c_psql_database_t *db,
                        case C_PSQL_PARAM_INTERVAL:
                                ssnprintf (interval, sizeof (interval), "%.3f",
                                                (db->interval > 0)
-                                               ? CDTIME_T_TO_DOUBLE (db->interval) : interval_g);
+                                               ? CDTIME_T_TO_DOUBLE (db->interval)
+                                               : plugin_get_interval ());
                                params[i] = interval;
                                break;
                        default:
index a1b2355..a140a12 100644 (file)
@@ -364,7 +364,7 @@ static int powerdns_get_data_dgram (list_item_t *item, /* {{{ */
       break;
     }
 
-    cdt_timeout = interval_g * 3 / 4;
+    cdt_timeout = plugin_get_interval () * 3 / 4;
     if (cdt_timeout < TIME_T_TO_CDTIME_T (2))
       cdt_timeout = TIME_T_TO_CDTIME_T (2);
 
index 7a84851..35f51b3 100644 (file)
@@ -1525,7 +1525,7 @@ static int csnmp_read_host (user_data_t *ud)
   host = ud->data;
 
   if (host->interval == 0)
-    host->interval = interval_g;
+    host->interval = plugin_get_interval ();
 
   time_start = cdtime ();
 
index dd43337..4cbc2f1 100644 (file)
@@ -250,7 +250,7 @@ int create_putval (char *ret, size_t ret_len, /* {{{ */
                        buffer_ident,
                        (vl->interval > 0)
                        ? CDTIME_T_TO_DOUBLE (vl->interval)
-                       : CDTIME_T_TO_DOUBLE (interval_g),
+                       : CDTIME_T_TO_DOUBLE (plugin_get_interval ()),
                        buffer_values);
 
        return (0);
index 9074b18..328a6ab 100644 (file)
@@ -39,8 +39,8 @@ static int vcomplain (int level, c_complain_t *c,
 
        c->last = now;
 
-       if (c->interval < interval_g)
-               c->interval = interval_g;
+       if (c->interval < plugin_get_interval ())
+               c->interval = plugin_get_interval ();
        else
                c->interval *= 2;