Code

data: Use a predefined format for sdb_strftime().
[sysdb.git] / src / core / store_json.c
index 8ec717515b69c7e480f0f46c289af689004c4a03..7362691398af584ed3725d220cbebb85a26d6906 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,10 +132,15 @@ 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),
-                               "%F %T %z", obj->last_update))
+       if (! sdb_strftime(time_str, sizeof(time_str), obj->last_update))
                snprintf(time_str, sizeof(time_str), "<error>");
        time_str[sizeof(time_str) - 1] = '\0';