src/daemon/plugin.[ch]: Use cdtime_t for the interval argument of "register complex...
[collectd.git] / src / netapp.c
index 065ee42..020bfba 100644 (file)
@@ -729,7 +729,7 @@ static int submit_cache_ratio (const char *host, /* {{{ */
 
 /* Submits all the caches used by WAFL. Uses "submit_cache_ratio". */
 static int submit_wafl_data (const char *hostname, const char *instance, /* {{{ */
-               cfg_wafl_t *old_data, const cfg_wafl_t *new_data, int interval)
+               cfg_wafl_t *old_data, const cfg_wafl_t *new_data, cdtime_t interval)
 {
        /* Submit requested counters */
        if (HAS_ALL_FLAGS (old_data->flags, CFG_WAFL_NAME_CACHE | HAVE_WAFL_NAME_CACHE)
@@ -890,7 +890,7 @@ static cdtime_t cna_child_get_cdtime (na_elem_t *data) /* {{{ */
  */
 /* Data corresponding to <WAFL /> */
 static int cna_handle_wafl_data (const char *hostname, cfg_wafl_t *cfg_wafl, /* {{{ */
-               na_elem_t *data, int interval)
+               na_elem_t *data, cdtime_t interval)
 {
        cfg_wafl_t perf_data;
        const char *plugin_inst;
@@ -1043,7 +1043,8 @@ static int cna_query_wafl (host_config_t *host) /* {{{ */
                return (-1);
        }
 
-       status = cna_handle_wafl_data (host->name, host->cfg_wafl, data, host->interval);
+       status = cna_handle_wafl_data (host->name, host->cfg_wafl, data,
+                       host->cfg_wafl->interval.interval);
 
        if (status == 0)
                host->cfg_wafl->interval.last_read = now;
@@ -1238,7 +1239,8 @@ static int cna_query_disk (host_config_t *host) /* {{{ */
                return (-1);
        }
 
-       status = cna_handle_disk_data (host->name, host->cfg_disk, data, host->interval);
+       status = cna_handle_disk_data (host->name, host->cfg_disk, data,
+                       host->cfg_disk->interval.interval);
 
        if (status == 0)
                host->cfg_disk->interval.last_read = now;
@@ -1409,7 +1411,8 @@ static int cna_query_volume_perf (host_config_t *host) /* {{{ */
                return (-1);
        }
 
-       status = cna_handle_volume_perf_data (host->name, host->cfg_volume_perf, data, host->interval);
+       status = cna_handle_volume_perf_data (host->name, host->cfg_volume_perf, data,
+                       host->cfg_volume_perf->interval.interval);
 
        if (status == 0)
                host->cfg_volume_perf->interval.last_read = now;
@@ -1764,7 +1767,8 @@ static int cna_handle_volume_usage_data (const host_config_t *host, /* {{{ */
                }
        } /* for (elem_volume) */
 
-       return (cna_submit_volume_usage_data (host->name, cfg_volume, host->interval));
+       return (cna_submit_volume_usage_data (host->name, cfg_volume,
+                               host->cfg_volume_usage->interval.interval));
 } /* }}} int cna_handle_volume_usage_data */
 
 static int cna_setup_volume_usage (cfg_volume_usage_t *cvu) /* {{{ */
@@ -1877,14 +1881,16 @@ static int cna_handle_quota_data (const host_config_t *host, /* {{{ */
                        value *= 1024; /* disk-used reports kilobytes */
                        submit_double (host->name, plugin_instance,
                                        /* type = */ "df_complex", /* type instance = */ NULL,
-                                       (double)value, /* timestamp = */ 0, host->interval);
+                                       (double)value, /* timestamp = */ 0,
+                                       host->cfg_quota->interval.interval);
                }
 
                value = na_child_get_uint64 (elem_quota, "files-used", UINT64_MAX);
                if (value != UINT64_MAX) {
                        submit_double (host->name, plugin_instance,
                                        /* type = */ "files", /* type instance = */ NULL,
-                                       (double)value, /* timestamp = */ 0, host->interval);
+                                       (double)value, /* timestamp = */ 0,
+                                       host->cfg_quota->interval.interval);
                }
        } /* for (elem_quota) */
 
@@ -2042,7 +2048,8 @@ static int cna_handle_snapvault_iter (host_config_t *host, /* {{{ */
                        return (-1);
                }
 
-               cna_handle_snapvault_data (host->name, host->cfg_snapvault, elem, host->interval);
+               cna_handle_snapvault_data (host->name, host->cfg_snapvault, elem,
+                               host->cfg_snapvault->interval.interval);
                na_elem_free (elem);
        }
 
@@ -2259,7 +2266,8 @@ static int cna_query_system (host_config_t *host) /* {{{ */
                return (-1);
        }
 
-       status = cna_handle_system_data (host->name, host->cfg_system, data, host->interval);
+       status = cna_handle_system_data (host->name, host->cfg_system, data,
+                       host->cfg_system->interval.interval);
 
        if (status == 0)
                host->cfg_system->interval.last_read = now;
@@ -2898,7 +2906,6 @@ static int cna_read (user_data_t *ud);
 static int cna_register_host (host_config_t *host) /* {{{ */
 {
        char cb_name[256];
-       struct timespec interval;
        user_data_t ud;
 
        if (host->vfiler)
@@ -2907,15 +2914,13 @@ static int cna_register_host (host_config_t *host) /* {{{ */
        else
                ssnprintf (cb_name, sizeof (cb_name), "netapp-%s", host->name);
 
-       CDTIME_T_TO_TIMESPEC (host->interval, &interval);
-
        memset (&ud, 0, sizeof (ud));
        ud.data = host;
        ud.free_func = (void (*) (void *)) free_host_config;
 
        plugin_register_complex_read (/* group = */ NULL, cb_name,
                        /* callback  = */ cna_read,
-                       /* interval  = */ (host->interval > 0) ? &interval : NULL,
+                       /* interval  = */ host->interval,
                        /* user data = */ &ud);
 
        return (0);