This is basically the same fix as previously done for the write_http plugin.
else
BUFFER_ADD ("null");
}
else
BUFFER_ADD ("null");
}
- else if (ds->ds[i].type == DS_TYPE_COUNTER)
+ if (rates == NULL)
+ rates = uc_get_rate (ds, vl);
+ if (rates == NULL)
- if (rates == NULL)
- rates = uc_get_rate (ds, vl);
- if (rates == NULL)
- {
- WARNING ("utils_format_json: "
- "uc_get_rate failed.");
- sfree(rates);
- return (-1);
- }
- if(isfinite (rates[i]))
- BUFFER_ADD ("%g", rates[i]);
- else
- BUFFER_ADD ("null");
+ WARNING ("utils_format_json: uc_get_rate failed.");
+ sfree(rates);
+ return (-1);
+
+ if(isfinite (rates[i]))
+ BUFFER_ADD ("%g", rates[i]);
- BUFFER_ADD ("%llu", vl->values[i].counter);
+ else if (ds->ds[i].type == DS_TYPE_COUNTER)
+ BUFFER_ADD ("%llu", vl->values[i].counter);
else if (ds->ds[i].type == DS_TYPE_DERIVE)
BUFFER_ADD ("%"PRIi64, vl->values[i].derive);
else if (ds->ds[i].type == DS_TYPE_ABSOLUTE)
else if (ds->ds[i].type == DS_TYPE_DERIVE)
BUFFER_ADD ("%"PRIi64, vl->values[i].derive);
else if (ds->ds[i].type == DS_TYPE_ABSOLUTE)
{
ERROR ("format_json: Unknown data source type: %i",
ds->ds[i].type);
{
ERROR ("format_json: Unknown data source type: %i",
ds->ds[i].type);
return (-1);
}
} /* for ds->ds_num */
return (-1);
}
} /* for ds->ds_num */