diff --git a/src/core/store.c b/src/core/store.c
index ea30da90116d9925cd148e39f7577e346503ba42..171e31935bb898eefb5e6e95b46000a20f3cb1a6 100644 (file)
--- a/src/core/store.c
+++ b/src/core/store.c
size_t i;
/* TODO: make time format configurable */
- if (! sdb_strftime(start_str, sizeof(start_str),
- "%F %T %z", ts->start))
+ if (! sdb_strftime(start_str, sizeof(start_str), ts->start))
snprintf(start_str, sizeof(start_str), "<error>");
start_str[sizeof(start_str) - 1] = '\0';
- if (! sdb_strftime(end_str, sizeof(end_str),
- "%F %T %z", ts->end))
+ if (! sdb_strftime(end_str, sizeof(end_str), ts->end))
snprintf(end_str, sizeof(end_str), "<error>");
end_str[sizeof(end_str) - 1] = '\0';
for (j = 0; j < ts->data_len; ++j) {
char time_str[64];
- if (! sdb_strftime(time_str, sizeof(time_str),
- "%F %T %z", ts->data[i][j].timestamp))
+ if (! sdb_strftime(time_str, sizeof(time_str), ts->data[i][j].timestamp))
snprintf(time_str, sizeof(time_str), "<error>");
time_str[sizeof(time_str) - 1] = '\0';
sdb_timeseries_t *ts;
+ int status = 0;
+
if ((! hostname) || (! metric) || (! opts) || (! buf))
return -1;
sdb_log(SDB_LOG_ERR, "store: Failed to fetch time-series '%s/%s' "
"- no data-store configured for the stored metric",
hostname, metric);
+ sdb_object_deref(SDB_OBJ(m));
pthread_rwlock_unlock(&host_lock);
return -1;
}
sdb_log(SDB_LOG_ERR, "store: Failed to fetch time-series '%s/%s' "
"- %s fetcher callback returned no data for '%s'",
hostname, metric, type, id);
- return -1;
+ status = -1;
}
}
ts_tojson(ts, buf);
+ sdb_object_deref(SDB_OBJ(m));
sdb_timeseries_destroy(ts);
- return 0;
+ return status;
} /* sdb_store_fetch_timeseries */
int
if (! res)
return 0;
return sdb_data_copy(res, &ATTR(obj)->value);
+ case SDB_FIELD_TIMESERIES:
+ if (obj->type != SDB_METRIC)
+ return -1;
+ tmp.type = SDB_TYPE_BOOLEAN;
+ tmp.data.boolean = METRIC(obj)->store.type != NULL;
default:
return -1;
}