diff options
author | Stelios Fragkakis <52996999+stelfrag@users.noreply.github.com> | 2020-09-15 19:41:39 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-09-15 19:41:39 +0300 |
commit | 8f6f1baf9a5686fbd06273ed081d4e40d51bdc74 (patch) | |
tree | a0bade47cb44b8ee4c8e2009bd3ee5ee6f3f1c09 /database/engine | |
parent | 59a2aec9c8fb2dfbcfe80668571c39cc08af770c (diff) |
Added context parameter to the data endpoint (#9931)
Added functionality to support composite charts
Diffstat (limited to 'database/engine')
-rwxr-xr-x | database/engine/rrdengineapi.c | 4 | ||||
-rw-r--r-- | database/engine/rrdengineapi.h | 2 |
2 files changed, 3 insertions, 3 deletions
diff --git a/database/engine/rrdengineapi.c b/database/engine/rrdengineapi.c index 8a78e4bb9a..a8649a2238 100755 --- a/database/engine/rrdengineapi.c +++ b/database/engine/rrdengineapi.c @@ -376,7 +376,7 @@ static inline uint32_t *pginfo_to_points(struct rrdeng_page_info *page_info) * @return number of regions with different data collection intervals. */ unsigned rrdeng_variable_step_boundaries(RRDSET *st, time_t start_time, time_t end_time, - struct rrdeng_region_info **region_info_arrayp, unsigned *max_intervalp) + struct rrdeng_region_info **region_info_arrayp, unsigned *max_intervalp, RRDDIM *temp_rd) { struct pg_cache_page_index *page_index; struct rrdengine_instance *ctx; @@ -397,7 +397,7 @@ unsigned rrdeng_variable_step_boundaries(RRDSET *st, time_t start_time, time_t e page_info_array = NULL; rrdset_rdlock(st); - for(rd_iter = st->dimensions, rd = NULL, min_time = (usec_t)-1 ; rd_iter ; rd_iter = rd_iter->next) { + for(rd_iter = temp_rd?temp_rd:st->dimensions, rd = NULL, min_time = (usec_t)-1 ; rd_iter ; rd_iter = rd_iter->next) { /* * Choose oldest dimension as reference. This is not equivalent to the union of all dimensions * but it is a best effort approximation with a bias towards older metrics in a chart. It diff --git a/database/engine/rrdengineapi.h b/database/engine/rrdengineapi.h index 8809447d80..8d4398c56b 100644 --- a/database/engine/rrdengineapi.h +++ b/database/engine/rrdengineapi.h @@ -43,7 +43,7 @@ extern void rrdeng_store_metric_next(RRDDIM *rd, usec_t point_in_time, storage_n extern int rrdeng_store_metric_finalize(RRDDIM *rd); extern unsigned rrdeng_variable_step_boundaries(RRDSET *st, time_t start_time, time_t end_time, - struct rrdeng_region_info **region_info_arrayp, unsigned *max_intervalp); + struct rrdeng_region_info **region_info_arrayp, unsigned *max_intervalp, RRDDIM *temp_rd); extern void rrdeng_load_metric_init(RRDDIM *rd, struct rrddim_query_handle *rrdimm_handle, time_t start_time, time_t end_time); extern storage_number rrdeng_load_metric_next(struct rrddim_query_handle *rrdimm_handle, time_t *current_time); |