diff --git a/src/varnish.c b/src/varnish.c
index 37fd4bb3541f2181bd81dd1b379214bc9a6d4f03..2693b7c415d21c96f883e4d0458a9125f8383fb0 100644 (file)
--- a/src/varnish.c
+++ b/src/varnish.c
static int varnish_submit (const char *plugin_instance, /* {{{ */
const char *category, const char *type, const char *type_instance, value_t value)
{
- value_list_t vl = VALUE_LIST_INIT;
+ value_list_t vl = VALUE_LIST_INIT (plugin_interval);
vl.values = &value;
vl.values_len = 1;
static int varnish_init (void) /* {{{ */
{
user_config_t *conf;
+ struct timespec cb_interval;
user_data_t ud;
if (have_instance)
ud.data = conf;
ud.free_func = varnish_config_free;
+ CDTIME_T_TO_TIMESPEC (plugin_interval, &cb_interval);
+
plugin_register_complex_read (/* group = */ "varnish",
/* name = */ "varnish/localhost",
/* callback = */ varnish_read,
- /* interval = */ NULL,
+ /* interval = */ (plugin_interval > 0) ? &cb_interval : NULL,
/* user data = */ &ud);
return (0);
user_config_t *conf;
user_data_t ud;
char callback_name[DATA_MAX_NAME_LEN];
+ struct timespec cb_interval;
int i;
conf = malloc (sizeof (*conf));
ssnprintf (callback_name, sizeof (callback_name), "varnish/%s",
(conf->instance == NULL) ? "localhost" : conf->instance);
+ CDTIME_T_TO_TIMESPEC (plugin_interval, &cb_interval);
+
ud.data = conf;
ud.free_func = varnish_config_free;
plugin_register_complex_read (/* group = */ "varnish",
/* name = */ callback_name,
/* callback = */ varnish_read,
- /* interval = */ NULL,
+ /* interval = */ (plugin_interval > 0) ? &cb_interval : NULL,
/* user data = */ &ud);
have_instance = 1;
return (0);
} /* }}} int varnish_config */
-void module_register (void) /* {{{ */
+void module_register (plugin_loaddata_t *data) /* {{{ */
{
+ PLUGIN_INIT_INTERVAL (data);
plugin_register_complex_config ("varnish", varnish_config);
plugin_register_init ("varnish", varnish_init);
} /* }}} */