0
0
Fork 0
mirror of https://github.com/netdata/netdata.git synced 2025-04-20 03:56:20 +00:00
netdata_netdata/web/api/formatters/ssv/ssv.c
Costa Tsaousis 798c141c49
Split the API formatters in modules ()
* split all API formatters in modules

* added markdown formatting

* updated csv readme

* updated csv readme

* more documentation

* added more documentation

* updated documentation

* fixed typo

* fixed typo
2018-10-27 19:44:27 +03:00

45 lines
1.2 KiB
C

// SPDX-License-Identifier: GPL-3.0-or-later
#include "ssv.h"
void rrdr2ssv(RRDR *r, BUFFER *wb, RRDR_OPTIONS options, const char *prefix, const char *separator, const char *suffix) {
//info("RRD2SSV(): %s: BEGIN", r->st->id);
long i;
buffer_strcat(wb, prefix);
long start = 0, end = rrdr_rows(r), step = 1;
if(!(options & RRDR_OPTION_REVERSED)) {
start = rrdr_rows(r) - 1;
end = -1;
step = -1;
}
// for each line in the array
for(i = start; i != end ;i += step) {
int all_values_are_null = 0;
calculated_number v = rrdr2value(r, i, options, &all_values_are_null);
if(likely(i != start)) {
if(r->min > v) r->min = v;
if(r->max < v) r->max = v;
}
else {
r->min = v;
r->max = v;
}
if(likely(i != start))
buffer_strcat(wb, separator);
if(all_values_are_null) {
if(options & RRDR_OPTION_NULL2ZERO)
buffer_strcat(wb, "0");
else
buffer_strcat(wb, "null");
}
else
buffer_rrd_value(wb, v);
}
buffer_strcat(wb, suffix);
//info("RRD2SSV(): %s: END", r->st->id);
}