X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Futils_format_kairosdb.c;h=224e8a52e96e7c4144057b127e369bd5974acacd;hb=f70935ddfb05b03de6e6dff95d842cb7c553e8b9;hp=1e54b97c32d0135537032ffd7325774762719ae3;hpb=fb0cc621d4357bbe4a9dc36c7f055f46257ce57c;p=collectd.git diff --git a/src/utils_format_kairosdb.c b/src/utils_format_kairosdb.c index 1e54b97c..224e8a52 100644 --- a/src/utils_format_kairosdb.c +++ b/src/utils_format_kairosdb.c @@ -181,7 +181,9 @@ static int values_to_kairosdb(char *buffer, size_t buffer_size, /* {{{ */ static int value_list_to_kairosdb(char *buffer, size_t buffer_size, /* {{{ */ const data_set_t *ds, const value_list_t *vl, - int store_rates) { + int store_rates, + char const *const *http_attrs, + size_t http_attrs_num, int data_ttl) { char temp[512]; size_t offset = 0; int status; @@ -228,9 +230,17 @@ static int value_list_to_kairosdb(char *buffer, size_t buffer_size, /* {{{ */ memset(temp, 0, sizeof(temp)); + if (data_ttl != 0) + BUFFER_ADD(", \"ttl\": %i", data_ttl); + BUFFER_ADD(", \"tags\":\{"); BUFFER_ADD("\"host\": \"%s\"", vl->host); + for (size_t j = 0; j < http_attrs_num; j += 2) { + BUFFER_ADD(", \"%s\":", http_attrs[j]); + BUFFER_ADD(" \"%s\"", http_attrs[j + 1]); + } + if (strlen(vl->plugin_instance)) BUFFER_ADD_KEYVAL("plugin_instance", vl->plugin_instance); BUFFER_ADD_KEYVAL("type", vl->type); @@ -252,11 +262,13 @@ static int value_list_to_kairosdb(char *buffer, size_t buffer_size, /* {{{ */ static int format_kairosdb_value_list_nocheck( char *buffer, /* {{{ */ size_t *ret_buffer_fill, size_t *ret_buffer_free, const data_set_t *ds, - const value_list_t *vl, int store_rates, size_t temp_size) { + const value_list_t *vl, int store_rates, size_t temp_size, + char const *const *http_attrs, size_t http_attrs_num, int data_ttl) { char temp[temp_size]; int status; - status = value_list_to_kairosdb(temp, sizeof(temp), ds, vl, store_rates); + status = value_list_to_kairosdb(temp, sizeof(temp), ds, vl, store_rates, + http_attrs, http_attrs_num, data_ttl); if (status != 0) return (status); temp_size = strlen(temp); @@ -324,7 +336,8 @@ int format_kairosdb_finalize(char *buffer, /* {{{ */ int format_kairosdb_value_list(char *buffer, /* {{{ */ size_t *ret_buffer_fill, size_t *ret_buffer_free, const data_set_t *ds, const value_list_t *vl, - int store_rates) { + int store_rates, char const *const *http_attrs, + size_t http_attrs_num, int data_ttl) { if ((buffer == NULL) || (ret_buffer_fill == NULL) || (ret_buffer_free == NULL) || (ds == NULL) || (vl == NULL)) return (-EINVAL); @@ -334,5 +347,7 @@ int format_kairosdb_value_list(char *buffer, /* {{{ */ return (format_kairosdb_value_list_nocheck( buffer, ret_buffer_fill, ret_buffer_free, ds, vl, store_rates, - (*ret_buffer_free) - 2)); + (*ret_buffer_free) - 2, http_attrs, http_attrs_num, data_ttl)); } /* }}} int format_kairosdb_value_list */ + +/* vim: set sw=2 sts=2 et fdm=marker : */