write_http: Allow to set empty metrics prefix in KAIROSDB format
authorPavel Rochnyack <pavel2000@ngs.ru>
Mon, 16 Oct 2017 12:46:06 +0000 (19:46 +0700)
committerPavel Rochnyack <pavel2000@ngs.ru>
Mon, 16 Oct 2017 12:46:06 +0000 (19:46 +0700)
src/utils_format_kairosdb.c
src/write_http.c

index c870abb..460f807 100644 (file)
@@ -213,11 +213,13 @@ static int value_list_to_kairosdb(char *buffer, size_t buffer_size, /* {{{ */
   for (size_t i = 0; i < ds->ds_num; i++) {
     /* All value lists have a leading comma. The first one will be replaced with
      * a square bracket in `format_kairosdb_finalize'. */
-    BUFFER_ADD(",{");
+    BUFFER_ADD(",{\"name\":\"");
 
-    BUFFER_ADD("\"name\":\"%s", metrics_prefix);
+    if (metrics_prefix != NULL) {
+      BUFFER_ADD("%s.", metrics_prefix);
+    }
 
-    BUFFER_ADD(".%s", vl->plugin);
+    BUFFER_ADD("%s", vl->plugin);
 
     status = values_to_kairosdb(temp, sizeof(temp), ds, vl, store_rates, i);
     if (status != 0)
index 16a21e6..87e518b 100644 (file)
@@ -785,6 +785,9 @@ static int wh_config_node(oconfig_item_t *ci) /* {{{ */
     return -1;
   }
 
+  if (strlen(cb->metrics_prefix) == 0)
+    sfree(cb->metrics_prefix);
+
   if (cb->low_speed_limit > 0)
     cb->low_speed_time = CDTIME_T_TO_TIME_T(plugin_get_interval());