X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Fvarnish.c;h=91320fed8a8ecab93a64ab5fe0620111deea598b;hb=5cd5988ec752f441254fc887117c3d5aa8f8d094;hp=d7da95a35b629a4207597327c6d45f9114221f61;hpb=12f249b209d7fa31e3a9d53315e47a2342463e0f;p=collectd.git diff --git a/src/varnish.c b/src/varnish.c index d7da95a3..91320fed 100644 --- a/src/varnish.c +++ b/src/varnish.c @@ -24,9 +24,9 @@ **/ #include "collectd.h" + #include "common.h" #include "plugin.h" -#include "configfile.h" #if HAVE_VARNISH_V4 #include @@ -938,7 +938,6 @@ static int varnish_config_apply_default (user_config_t *conf) /* {{{ */ static int varnish_init (void) /* {{{ */ { user_config_t *conf; - user_data_t ud; if (have_instance) return (0); @@ -952,14 +951,14 @@ static int varnish_init (void) /* {{{ */ varnish_config_apply_default (conf); - ud.data = conf; - ud.free_func = varnish_config_free; - plugin_register_complex_read (/* group = */ "varnish", /* name = */ "varnish/localhost", /* callback = */ varnish_read, /* interval = */ 0, - /* user data = */ &ud); + /* user data = */ &(user_data_t) { + .data = conf, + .free_func = varnish_config_free, + }); return (0); } /* }}} int varnish_init */ @@ -967,9 +966,7 @@ static int varnish_init (void) /* {{{ */ static int varnish_config_instance (const oconfig_item_t *ci) /* {{{ */ { user_config_t *conf; - user_data_t ud; char callback_name[DATA_MAX_NAME_LEN]; - int i; conf = calloc (1, sizeof (*conf)); if (conf == NULL) @@ -1004,7 +1001,7 @@ static int varnish_config_instance (const oconfig_item_t *ci) /* {{{ */ return (EINVAL); } - for (i = 0; i < ci->children_num; i++) + for (int i = 0; i < ci->children_num; i++) { oconfig_item_t *child = ci->children + i; @@ -1014,9 +1011,11 @@ static int varnish_config_instance (const oconfig_item_t *ci) /* {{{ */ cf_util_get_boolean (child, &conf->collect_connections); else if (strcasecmp ("CollectESI", child->key) == 0) cf_util_get_boolean (child, &conf->collect_esi); -#ifdef HAVE_VARNISH_V3 else if (strcasecmp ("CollectDirectorDNS", child->key) == 0) +#ifdef HAVE_VARNISH_V3 cf_util_get_boolean (child, &conf->collect_dirdns); +#else + WARNING ("Varnish plugin: \"%s\" is available for Varnish %s only.", child->key, "v3"); #endif else if (strcasecmp ("CollectBackend", child->key) == 0) cf_util_get_boolean (child, &conf->collect_backend); @@ -1026,11 +1025,16 @@ static int varnish_config_instance (const oconfig_item_t *ci) /* {{{ */ cf_util_get_boolean (child, &conf->collect_hcb); else if (strcasecmp ("CollectObjects", child->key) == 0) cf_util_get_boolean (child, &conf->collect_objects); -#if HAVE_VARNISH_V2 else if (strcasecmp ("CollectPurge", child->key) == 0) +#if HAVE_VARNISH_V2 cf_util_get_boolean (child, &conf->collect_purge); #else + WARNING ("Varnish plugin: \"%s\" is available for Varnish %s only.", child->key, "v2"); +#endif else if (strcasecmp ("CollectBan", child->key) == 0) +#if HAVE_VARNISH_V2 + WARNING ("Varnish plugin: \"%s\" is not available for Varnish %s.", child->key, "v2"); +#else cf_util_get_boolean (child, &conf->collect_ban); #endif else if (strcasecmp ("CollectSession", child->key) == 0) @@ -1039,27 +1043,37 @@ static int varnish_config_instance (const oconfig_item_t *ci) /* {{{ */ cf_util_get_boolean (child, &conf->collect_shm); else if (strcasecmp ("CollectSMS", child->key) == 0) cf_util_get_boolean (child, &conf->collect_sms); -#if HAVE_VARNISH_V2 else if (strcasecmp ("CollectSMA", child->key) == 0) +#if HAVE_VARNISH_V2 cf_util_get_boolean (child, &conf->collect_sma); +#else + WARNING ("Varnish plugin: \"%s\" is available for Varnish %s only.", child->key, "v2"); +#endif else if (strcasecmp ("CollectSM", child->key) == 0) +#if HAVE_VARNISH_V2 cf_util_get_boolean (child, &conf->collect_sm); +#else + WARNING ("Varnish plugin: \"%s\" is available for Varnish %s only.", child->key, "v2"); #endif else if (strcasecmp ("CollectStruct", child->key) == 0) cf_util_get_boolean (child, &conf->collect_struct); else if (strcasecmp ("CollectTotals", child->key) == 0) cf_util_get_boolean (child, &conf->collect_totals); -#if HAVE_VARNISH_V3 || HAVE_VARNISH_V4 else if (strcasecmp ("CollectUptime", child->key) == 0) +#if HAVE_VARNISH_V3 || HAVE_VARNISH_V4 cf_util_get_boolean (child, &conf->collect_uptime); +#else + WARNING ("Varnish plugin: \"%s\" is available for Varnish %s only.", child->key, "v3 and v4"); #endif else if (strcasecmp ("CollectVCL", child->key) == 0) cf_util_get_boolean (child, &conf->collect_vcl); else if (strcasecmp ("CollectWorkers", child->key) == 0) cf_util_get_boolean (child, &conf->collect_workers); -#if HAVE_VARNISH_V4 else if (strcasecmp ("CollectVSM", child->key) == 0) +#if HAVE_VARNISH_V4 cf_util_get_boolean (child, &conf->collect_vsm); +#else + WARNING ("Varnish plugin: \"%s\" is available for Varnish %s only.", child->key, "v4"); #endif else { @@ -1115,14 +1129,14 @@ static int varnish_config_instance (const oconfig_item_t *ci) /* {{{ */ ssnprintf (callback_name, sizeof (callback_name), "varnish/%s", (conf->instance == NULL) ? "localhost" : conf->instance); - ud.data = conf; - ud.free_func = varnish_config_free; - plugin_register_complex_read (/* group = */ "varnish", /* name = */ callback_name, /* callback = */ varnish_read, /* interval = */ 0, - /* user data = */ &ud); + /* user data = */ &(user_data_t) { + ud.data = conf, + ud.free_func = varnish_config_free, + }); have_instance = 1; @@ -1131,9 +1145,7 @@ static int varnish_config_instance (const oconfig_item_t *ci) /* {{{ */ static int varnish_config (oconfig_item_t *ci) /* {{{ */ { - int i; - - for (i = 0; i < ci->children_num; i++) + for (int i = 0; i < ci->children_num; i++) { oconfig_item_t *child = ci->children + i;