X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Fstatsd.c;h=491fe4239d35e4748a34c00931aed3643cc74aff;hb=6d8031d73b7c1d874d7afa4cad2f248c4073764d;hp=040181aab456b2697fcf702124a0da71eab5c331;hpb=c7d859191d8fbfc129dea8cfaf9e13e78fd6642c;p=collectd.git diff --git a/src/statsd.c b/src/statsd.c index 040181aa..491fe423 100644 --- a/src/statsd.c +++ b/src/statsd.c @@ -28,7 +28,6 @@ #include "plugin.h" #include "common.h" -#include "configfile.h" #include "utils_avltree.h" #include "utils_latency.h" @@ -753,12 +752,10 @@ static int statsd_metric_clear_set_unsafe (statsd_metric_t *metric) /* {{{ */ /* Must hold metrics_lock when calling this function. */ static int statsd_metric_submit_unsafe (char const *name, statsd_metric_t *metric) /* {{{ */ { - value_t values[1]; value_list_t vl = VALUE_LIST_INIT; - vl.values = values; + vl.values = &(value_t) { .gauge = NAN }; vl.values_len = 1; - sstrncpy (vl.host, hostname_g, sizeof (vl.host)); sstrncpy (vl.plugin, "statsd", sizeof (vl.plugin)); if (metric->type == STATSD_GAUGE) @@ -773,7 +770,7 @@ static int statsd_metric_submit_unsafe (char const *name, statsd_metric_t *metri sstrncpy (vl.type_instance, name, sizeof (vl.type_instance)); if (metric->type == STATSD_GAUGE) - values[0].gauge = (gauge_t) metric->value; + vl.values[0].gauge = (gauge_t) metric->value; else if (metric->type == STATSD_TIMER) { _Bool have_events = (metric->updates_num > 0); @@ -783,7 +780,7 @@ static int statsd_metric_submit_unsafe (char const *name, statsd_metric_t *metri ssnprintf (vl.type_instance, sizeof (vl.type_instance), "%s-average", name); - values[0].gauge = have_events + vl.values[0].gauge = have_events ? CDTIME_T_TO_DOUBLE (latency_counter_get_average (metric->latency)) : NAN; plugin_dispatch_values (&vl); @@ -791,7 +788,7 @@ static int statsd_metric_submit_unsafe (char const *name, statsd_metric_t *metri if (conf_timer_lower) { ssnprintf (vl.type_instance, sizeof (vl.type_instance), "%s-lower", name); - values[0].gauge = have_events + vl.values[0].gauge = have_events ? CDTIME_T_TO_DOUBLE (latency_counter_get_min (metric->latency)) : NAN; plugin_dispatch_values (&vl); @@ -800,7 +797,7 @@ static int statsd_metric_submit_unsafe (char const *name, statsd_metric_t *metri if (conf_timer_upper) { ssnprintf (vl.type_instance, sizeof (vl.type_instance), "%s-upper", name); - values[0].gauge = have_events + vl.values[0].gauge = have_events ? CDTIME_T_TO_DOUBLE (latency_counter_get_max (metric->latency)) : NAN; plugin_dispatch_values (&vl); @@ -809,7 +806,7 @@ static int statsd_metric_submit_unsafe (char const *name, statsd_metric_t *metri if (conf_timer_sum) { ssnprintf (vl.type_instance, sizeof (vl.type_instance), "%s-sum", name); - values[0].gauge = have_events + vl.values[0].gauge = have_events ? CDTIME_T_TO_DOUBLE (latency_counter_get_sum (metric->latency)) : NAN; plugin_dispatch_values (&vl); @@ -819,7 +816,7 @@ static int statsd_metric_submit_unsafe (char const *name, statsd_metric_t *metri { ssnprintf (vl.type_instance, sizeof (vl.type_instance), "%s-percentile-%.0f", name, conf_timer_percentile[i]); - values[0].gauge = have_events + vl.values[0].gauge = have_events ? CDTIME_T_TO_DOUBLE (latency_counter_get_percentile (metric->latency, conf_timer_percentile[i])) : NAN; plugin_dispatch_values (&vl); @@ -831,7 +828,7 @@ static int statsd_metric_submit_unsafe (char const *name, statsd_metric_t *metri sstrncpy (vl.type, "gauge", sizeof (vl.type)); ssnprintf (vl.type_instance, sizeof (vl.type_instance), "%s-count", name); - values[0].gauge = latency_counter_get_num (metric->latency); + vl.values[0].gauge = latency_counter_get_num (metric->latency); plugin_dispatch_values (&vl); } @@ -841,9 +838,9 @@ static int statsd_metric_submit_unsafe (char const *name, statsd_metric_t *metri else if (metric->type == STATSD_SET) { if (metric->set == NULL) - values[0].gauge = 0.0; + vl.values[0].gauge = 0.0; else - values[0].gauge = (gauge_t) c_avl_size (metric->set); + vl.values[0].gauge = (gauge_t) c_avl_size (metric->set); } else { /* STATSD_COUNTER */ gauge_t delta = nearbyint (metric->value); @@ -855,7 +852,7 @@ static int statsd_metric_submit_unsafe (char const *name, statsd_metric_t *metri if (conf_counter_sum) { sstrncpy (vl.type, "count", sizeof (vl.type)); - values[0].gauge = delta; + vl.values[0].gauge = delta; plugin_dispatch_values (&vl); /* restore vl.type */ @@ -867,7 +864,7 @@ static int statsd_metric_submit_unsafe (char const *name, statsd_metric_t *metri metric->value -= delta; metric->counter += (derive_t) delta; - values[0].derive = metric->counter; + vl.values[0].derive = metric->counter; } return (plugin_dispatch_values (&vl));