plugin: Added plugin_get_interval().
[collectd.git] / src / plugin.c
index 175a89a..002955d 100644 (file)
@@ -2054,6 +2054,31 @@ plugin_ctx_t plugin_set_ctx (plugin_ctx_t ctx)
        return (old);
 } /* void plugin_set_ctx */
 
+cdtime_t plugin_get_interval (void)
+{
+       cdtime_t interval;
+
+       const char *interval_str;
+       double interval_dbl;
+
+       interval = plugin_get_ctx().interval;
+       if (interval > 0)
+               return interval;
+
+       /* this should happen during initialization only */
+       interval_str = global_option_get ("Interval");
+       if (interval_str != NULL)
+       {
+               interval_dbl = atof (interval_str);
+               if (interval_dbl > 0.0)
+                       interval = DOUBLE_TO_CDTIME_T (interval_dbl);
+       }
+
+       if (interval > 0)
+               return interval;
+       return TIME_T_TO_CDTIME_T (10);
+} /* cdtime_t plugin_get_interval */
+
 typedef struct {
        plugin_ctx_t ctx;
        void *(*start_routine) (void *);