X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Frrdcached.c;h=6295a53f79d39b67670de86066495790766a08fe;hb=5ff5059ff7e207b61032ed65f7a5288f1b296a9a;hp=326a8898622179c1ca741ba3d0f710f3a828d161;hpb=b423bd090e6a1af51446ad6967d5016045bd6ea5;p=collectd.git diff --git a/src/rrdcached.c b/src/rrdcached.c index 326a8898..6295a53f 100644 --- a/src/rrdcached.c +++ b/src/rrdcached.c @@ -75,7 +75,9 @@ static int value_list_to_string (char *buffer, int buffer_len, for (i = 0; i < ds->ds_num; i++) { if ((ds->ds[i].type != DS_TYPE_COUNTER) - && (ds->ds[i].type != DS_TYPE_GAUGE)) + && (ds->ds[i].type != DS_TYPE_GAUGE) + && (ds->ds[i].type != DS_TYPE_DERIVE) + && (ds->ds[i].type != DS_TYPE_ABSOLUTE) return (-1); if (ds->ds[i].type == DS_TYPE_COUNTER) @@ -83,11 +85,20 @@ static int value_list_to_string (char *buffer, int buffer_len, status = ssnprintf (buffer + offset, buffer_len - offset, ":%llu", vl->values[i].counter); } - else /* if (ds->ds[i].type == DS_TYPE_GAUGE) */ + else if (ds->ds[i].type == DS_TYPE_GAUGE) { status = ssnprintf (buffer + offset, buffer_len - offset, ":%lf", vl->values[i].gauge); } + else if (ds->ds[i].type == DS_TYPE_DERIVE) { + status = ssnprintf (buffer + offset, buffer_len - offset, + ":%llu", vl->values[i].derive); + } + else /* if (ds->ds[i].type == DS_TYPE_ABSOLUTE) */ { + status = ssnprintf (buffer + offset, buffer_len - offset, + ":%llu", vl->values[i].absolute); + + } if ((status < 1) || (status >= (buffer_len - offset))) return (-1);