X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Fdaemon%2Fplugin.c;h=b37e9b325c32e9492e92a3e29caa49a5e78d34e4;hb=9fdcbb61f627ea6badaaaec9196c3fb983f7ba93;hp=c8fc15a14866c9982b9ba3b6f9000b959545a2cb;hpb=c7c89cc9618ef25cc9b0861ac2782cb1a5d6782d;p=collectd.git diff --git a/src/daemon/plugin.c b/src/daemon/plugin.c index c8fc15a1..b37e9b32 100644 --- a/src/daemon/plugin.c +++ b/src/daemon/plugin.c @@ -153,14 +153,13 @@ static const char *plugin_get_dir(void) { return (plugindir); } -static void plugin_update_internal_statistics(void) { /* {{{ */ - +static int plugin_update_internal_statistics(void) { /* {{{ */ gauge_t copy_write_queue_length = (gauge_t)write_queue_length; /* Initialize `vl' */ value_list_t vl = VALUE_LIST_INIT; - sstrncpy(vl.host, hostname_g, sizeof(vl.host)); sstrncpy(vl.plugin, "collectd", sizeof(vl.plugin)); + vl.interval = plugin_get_interval(); /* Write queue */ sstrncpy(vl.plugin_instance, "write_queue", sizeof(vl.plugin_instance)); @@ -189,8 +188,8 @@ static void plugin_update_internal_statistics(void) { /* {{{ */ vl.type_instance[0] = 0; plugin_dispatch_values(&vl); - return; -} /* }}} void plugin_update_internal_statistics */ + return 0; +} /* }}} int plugin_update_internal_statistics */ static void destroy_callback(callback_func_t *cf) /* {{{ */ { @@ -1558,8 +1557,10 @@ int plugin_init_all(void) { /* Init the value cache */ uc_init(); - if (IS_TRUE(global_option_get("CollectInternalStats"))) + if (IS_TRUE(global_option_get("CollectInternalStats"))) { record_statistics = 1; + plugin_register_read("collectd", plugin_update_internal_statistics); + } chain_name = global_option_get("PreCacheChain"); pre_cache_chain = fc_chain_get_by_name(chain_name); @@ -1647,9 +1648,6 @@ int plugin_init_all(void) { /* TODO: Rename this function. */ void plugin_read_all(void) { - if (record_statistics) { - plugin_update_internal_statistics(); - } uc_check_timeout(); return;