src/utils_format_json.c: Check return values of yajl_gen_* functions.
[collectd.git] / src / statsd.c
index dd15d59..47e01d8 100644 (file)
@@ -706,12 +706,10 @@ static int statsd_metric_clear_set_unsafe(statsd_metric_t *metric) /* {{{ */
 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)
@@ -726,7 +724,7 @@ static int statsd_metric_submit_unsafe(char const *name,
   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);
 
@@ -734,7 +732,7 @@ static int statsd_metric_submit_unsafe(char const *name,
     vl.time = cdtime();
 
     ssnprintf(vl.type_instance, sizeof(vl.type_instance), "%s-average", name);
-    values[0].gauge =
+    vl.values[0].gauge =
         have_events
             ? CDTIME_T_TO_DOUBLE(latency_counter_get_average(metric->latency))
             : NAN;
@@ -742,7 +740,7 @@ static int statsd_metric_submit_unsafe(char const *name,
 
     if (conf_timer_lower) {
       ssnprintf(vl.type_instance, sizeof(vl.type_instance), "%s-lower", name);
-      values[0].gauge =
+      vl.values[0].gauge =
           have_events
               ? CDTIME_T_TO_DOUBLE(latency_counter_get_min(metric->latency))
               : NAN;
@@ -751,7 +749,7 @@ static int statsd_metric_submit_unsafe(char const *name,
 
     if (conf_timer_upper) {
       ssnprintf(vl.type_instance, sizeof(vl.type_instance), "%s-upper", name);
-      values[0].gauge =
+      vl.values[0].gauge =
           have_events
               ? CDTIME_T_TO_DOUBLE(latency_counter_get_max(metric->latency))
               : NAN;
@@ -760,7 +758,7 @@ static int statsd_metric_submit_unsafe(char const *name,
 
     if (conf_timer_sum) {
       ssnprintf(vl.type_instance, sizeof(vl.type_instance), "%s-sum", name);
-      values[0].gauge =
+      vl.values[0].gauge =
           have_events
               ? CDTIME_T_TO_DOUBLE(latency_counter_get_sum(metric->latency))
               : NAN;
@@ -770,10 +768,10 @@ static int statsd_metric_submit_unsafe(char const *name,
     for (size_t i = 0; i < conf_timer_percentile_num; i++) {
       ssnprintf(vl.type_instance, sizeof(vl.type_instance),
                 "%s-percentile-%.0f", name, conf_timer_percentile[i]);
-      values[0].gauge = have_events
-                            ? CDTIME_T_TO_DOUBLE(latency_counter_get_percentile(
-                                  metric->latency, conf_timer_percentile[i]))
-                            : NAN;
+      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);
     }
 
@@ -782,7 +780,7 @@ static int statsd_metric_submit_unsafe(char const *name,
     if (conf_timer_count) {
       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);
     }
 
@@ -790,9 +788,9 @@ static int statsd_metric_submit_unsafe(char const *name,
     return (0);
   } 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);
 
@@ -802,7 +800,7 @@ static int statsd_metric_submit_unsafe(char const *name,
      * anyway - if requested by the user - for compatibility reasons. */
     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 */
@@ -814,7 +812,7 @@ static int statsd_metric_submit_unsafe(char const *name,
     metric->value -= delta;
     metric->counter += (derive_t)delta;
 
-    values[0].derive = metric->counter;
+    vl.values[0].derive = metric->counter;
   }
 
   return (plugin_dispatch_values(&vl));