@cryptotaxi247 / netdata-1 / commits / aa4968760

added the VISIBLETOTAL variable and fixed the error message about an invalid format being requested

Costa Tsaousis (ktsaou) committed Jan 3, 2017 at 23:56 UTC aa49687601abbefbb97f5d5ebf116518c1db99f4
2 files changed +8 -3
src/rrd2json.c
+5 -2
@@ -229,6 +229,7 @@ void rrd_stats_api_v1_charts_allmetrics_shell(BUFFER *wb)
229 // for each chart
230 RRDSET *st;
231 for(st = localhost.rrdset_root; st ; st = st->next) {
232 + calculated_number total = 0.0;
233 char chart[BASH_ELEMENT_MAX + 1];
234 shell_name_copy(chart, st->id, BASH_ELEMENT_MAX);
235
@@ -244,18 +245,20 @@ void rrd_stats_api_v1_charts_allmetrics_shell(BUFFER *wb)
245 shell_name_copy(dimension, rd->id, BASH_ELEMENT_MAX);
246
247 calculated_number n = rd->last_stored_value;
247 - if(rd->multiplier < 0 || rd->divisor < 0)
248 - n = -n;
248
249 if(isnan(n) || isinf(n))
250 buffer_sprintf(wb, "NETDATA_%s_%s=\"\" # %s\n", chart, dimension, st->units);
251 else {
252 + if(rd->multiplier < 0 || rd->divisor < 0) n = -n;
253 n = roundl(n);
254 + if(!(rd->flags & RRDDIM_FLAG_HIDDEN)) total += n;
255 buffer_sprintf(wb, "NETDATA_%s_%s=\"%0.0Lf\" # %s\n", chart, dimension, n, st->units);
256 }
257 }
258 }
259
260 + total = roundl(total);
261 + buffer_sprintf(wb, "NETDATA_%s_VISIBLETOTAL=\"%0.0Lf\" # %s\n", chart, total, st->units);
262 pthread_rwlock_unlock(&st->rwlock);
263 }
264 }
src/web_client.c
+3 -1
@@ -791,6 +791,8 @@ int web_client_api_request_v1_allmetrics(struct web_client *w, char *url)
791 format = ALLMETRICS_SHELL;
792 else if(!strcmp(value, ALLMETRICS_FORMAT_PROMETHEUS))
793 format = ALLMETRICS_PROMETHEUS;
794 + else
795 + format = 0;
796 }
797 }
798
@@ -810,7 +812,7 @@ int web_client_api_request_v1_allmetrics(struct web_client *w, char *url)
812
813 default:
814 w->response.data->contenttype = CT_TEXT_PLAIN;
813 - buffer_strcat(w->response.data, "Which format? Only '" ALLMETRICS_FORMAT_PROMETHEUS "' is currently supported.");
815 + buffer_strcat(w->response.data, "Which format? Only '" ALLMETRICS_FORMAT_SHELL "' and '" ALLMETRICS_FORMAT_PROMETHEUS "' is currently supported.");
816 return 400;
817 }
818 }