X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Fwrite_tsdb.c;h=ee4db2384a2848b9466b3bbedf155579f3225877;hb=25b5f5c49dd50c64f41b7bf69b8e471b0ffc6f15;hp=2eca77e1b038fd9a658864917d616f31ccfa55bc;hpb=061c3c091d725d58dfe1e7525a8d72a1ea389a8a;p=collectd.git diff --git a/src/write_tsdb.c b/src/write_tsdb.c index 2eca77e1..ee4db238 100644 --- a/src/write_tsdb.c +++ b/src/write_tsdb.c @@ -47,7 +47,6 @@ #include "configfile.h" #include "utils_cache.h" -#include "utils_parse_option.h" #include #include @@ -213,7 +212,6 @@ static int wt_callback_init(struct wt_callback *cb) ERROR("write_tsdb plugin: Connecting to %s:%s failed. " "The last error was: %s", node, service, sstrerror (errno, errbuf, sizeof(errbuf))); - close(cb->sock_fd); return -1; } @@ -309,7 +307,7 @@ static int wt_format_values(char *ret, size_t ret_len, } while (0) if (ds->ds[ds_num].type == DS_TYPE_GAUGE) - BUFFER_ADD("%f", vl->values[ds_num].gauge); + BUFFER_ADD(GAUGE_FORMAT, vl->values[ds_num].gauge); else if (store_rates) { if (rates == NULL) @@ -320,7 +318,7 @@ static int wt_format_values(char *ret, size_t ret_len, "uc_get_rate failed."); return -1; } - BUFFER_ADD("%f", rates[ds_num]); + BUFFER_ADD(GAUGE_FORMAT, rates[ds_num]); } else if (ds->ds[ds_num].type == DS_TYPE_COUNTER) BUFFER_ADD("%llu", vl->values[ds_num].counter); @@ -366,30 +364,41 @@ static int wt_format_name(char *ret, int ret_len, if (ds_name != NULL) { if (vl->plugin_instance[0] == '\0') { - ssnprintf(ret, ret_len, "%s%s.%s", - prefix, vl->plugin, ds_name); - } else if (vl->type_instance == '\0') { - ssnprintf(ret, ret_len, "%s%s.%s.%s.%s", - prefix, vl->plugin, vl->plugin_instance, - vl->type_instance, ds_name); - } else { - ssnprintf(ret, ret_len, "%s%s.%s.%s.%s", - prefix, vl->plugin, vl->plugin_instance, vl->type, - ds_name); + if (vl->type_instance[0] == '\0') { + ssnprintf(ret, ret_len, "%s%s.%s.%s", prefix, vl->plugin, + vl->type, ds_name); + } else { + ssnprintf(ret, ret_len, "%s%s.%s.%s.%s", prefix, vl->plugin, + vl->type, vl->type_instance, ds_name); + } + } else { /* vl->plugin_instance != "" */ + if (vl->type_instance[0] == '\0') { + ssnprintf(ret, ret_len, "%s%s.%s.%s.%s", prefix, vl->plugin, + vl->plugin_instance, vl->type, ds_name); + } else { + ssnprintf(ret, ret_len, "%s%s.%s.%s.%s.%s", prefix, + vl->plugin, vl->plugin_instance, vl->type, + vl->type_instance, ds_name); + } + } + } else { /* ds_name == NULL */ + if (vl->plugin_instance[0] == '\0') { + if (vl->type_instance[0] == '\0') { + ssnprintf(ret, ret_len, "%s%s.%s", prefix, vl->plugin, + vl->type); + } else { + ssnprintf(ret, ret_len, "%s%s.%s.%s", prefix, vl->plugin, + vl->type_instance, vl->type); + } + } else { /* vl->plugin_instance != "" */ + if (vl->type_instance[0] == '\0') { + ssnprintf(ret, ret_len, "%s%s.%s.%s", prefix, vl->plugin, + vl->plugin_instance, vl->type); + } else { + ssnprintf(ret, ret_len, "%s%s.%s.%s.%s", prefix, vl->plugin, + vl->plugin_instance, vl->type, vl->type_instance); + } } - } else if (vl->plugin_instance[0] == '\0') { - if (vl->type_instance[0] == '\0') - ssnprintf(ret, ret_len, "%s%s.%s", - prefix, vl->plugin, vl->type); - else - ssnprintf(ret, ret_len, "%s%s.%s", - prefix, vl->plugin, vl->type_instance); - } else if (vl->type_instance[0] == '\0') { - ssnprintf(ret, ret_len, "%s%s.%s.%s", - prefix, vl->plugin, vl->plugin_instance, vl->type); - } else { - ssnprintf(ret, ret_len, "%s%s.%s.%s", - prefix, vl->plugin, vl->plugin_instance, vl->type_instance); } sfree(temp);