Code

data: Return the number of bytes that would have been returned.
[sysdb.git] / src / core / store_json.c
index 8ec717515b69c7e480f0f46c289af689004c4a03..a772dc39c8f67549c8205a0f63527672b6edf473 100644 (file)
@@ -119,8 +119,8 @@ json_emit(sdb_store_json_formatter_t *f, sdb_store_obj_t *obj)
        if (obj->type == SDB_ATTRIBUTE) {
                char tmp[sdb_data_strlen(&ATTR(obj)->value) + 1];
                char val[2 * sizeof(tmp) + 3];
-               if (sdb_data_format(&ATTR(obj)->value, tmp, sizeof(tmp),
-                                       SDB_DOUBLE_QUOTED) < 0)
+               if (sdb_data_format(&ATTR(obj)->value, tmp, sizeof(tmp),
+                                       SDB_DOUBLE_QUOTED))
                        snprintf(tmp, sizeof(tmp), "<error>");
 
                if (tmp[0] == '"') {
@@ -132,6 +132,12 @@ json_emit(sdb_store_json_formatter_t *f, sdb_store_obj_t *obj)
                else
                        sdb_strbuf_append(f->buf, "\"value\": %s, ", tmp);
        }
+       else if (obj->type == SDB_METRIC) {
+               if (METRIC(obj)->store.type != NULL)
+                       sdb_strbuf_append(f->buf, "\"timeseries\": true, ");
+               else
+                       sdb_strbuf_append(f->buf, "\"timeseries\": false, ");
+       }
 
        /* TODO: make time and interval formats configurable */
        if (! sdb_strftime(time_str, sizeof(time_str),