summaryrefslogtreecommitdiffstats
path: root/database/storage_engine.c
diff options
context:
space:
mode:
Diffstat (limited to 'database/storage_engine.c')
-rw-r--r--database/storage_engine.c54
1 files changed, 6 insertions, 48 deletions
diff --git a/database/storage_engine.c b/database/storage_engine.c
index c5ba8655..19982382 100644
--- a/database/storage_engine.c
+++ b/database/storage_engine.c
@@ -6,120 +6,78 @@
#include "engine/rrdengineapi.h"
#endif
-#define im_collect_ops { \
- .init = rrddim_collect_init, \
- .store_metric = rrddim_collect_store_metric, \
- .flush = rrddim_store_metric_flush, \
- .finalize = rrddim_collect_finalize, \
- .change_collection_frequency = rrddim_store_metric_change_collection_frequency, \
- .metrics_group_get = rrddim_metrics_group_get, \
- .metrics_group_release = rrddim_metrics_group_release, \
-}
-
-#define im_query_ops { \
- .init = rrddim_query_init, \
- .next_metric = rrddim_query_next_metric, \
- .is_finished = rrddim_query_is_finished, \
- .finalize = rrddim_query_finalize, \
- .latest_time_s = rrddim_query_latest_time_s, \
- .oldest_time_s = rrddim_query_oldest_time_s, \
- .align_to_optimal_before = rrddim_query_align_to_optimal_before, \
-}
-
static STORAGE_ENGINE engines[] = {
{
.id = RRD_MEMORY_MODE_NONE,
.name = RRD_MEMORY_MODE_NONE_NAME,
+ .backend = STORAGE_ENGINE_BACKEND_RRDDIM,
.api = {
.metric_get = rrddim_metric_get,
.metric_get_or_create = rrddim_metric_get_or_create,
.metric_dup = rrddim_metric_dup,
.metric_release = rrddim_metric_release,
.metric_retention_by_uuid = rrddim_metric_retention_by_uuid,
- .collect_ops = im_collect_ops,
- .query_ops = im_query_ops,
}
},
{
.id = RRD_MEMORY_MODE_RAM,
.name = RRD_MEMORY_MODE_RAM_NAME,
+ .backend = STORAGE_ENGINE_BACKEND_RRDDIM,
.api = {
.metric_get = rrddim_metric_get,
.metric_get_or_create = rrddim_metric_get_or_create,
.metric_dup = rrddim_metric_dup,
.metric_release = rrddim_metric_release,
.metric_retention_by_uuid = rrddim_metric_retention_by_uuid,
- .collect_ops = im_collect_ops,
- .query_ops = im_query_ops,
}
},
{
.id = RRD_MEMORY_MODE_MAP,
.name = RRD_MEMORY_MODE_MAP_NAME,
+ .backend = STORAGE_ENGINE_BACKEND_RRDDIM,
.api = {
.metric_get = rrddim_metric_get,
.metric_get_or_create = rrddim_metric_get_or_create,
.metric_dup = rrddim_metric_dup,
.metric_release = rrddim_metric_release,
.metric_retention_by_uuid = rrddim_metric_retention_by_uuid,
- .collect_ops = im_collect_ops,
- .query_ops = im_query_ops,
}
},
{
.id = RRD_MEMORY_MODE_SAVE,
.name = RRD_MEMORY_MODE_SAVE_NAME,
+ .backend = STORAGE_ENGINE_BACKEND_RRDDIM,
.api = {
.metric_get = rrddim_metric_get,
.metric_get_or_create = rrddim_metric_get_or_create,
.metric_dup = rrddim_metric_dup,
.metric_release = rrddim_metric_release,
.metric_retention_by_uuid = rrddim_metric_retention_by_uuid,
- .collect_ops = im_collect_ops,
- .query_ops = im_query_ops,
}
},
{
.id = RRD_MEMORY_MODE_ALLOC,
.name = RRD_MEMORY_MODE_ALLOC_NAME,
+ .backend = STORAGE_ENGINE_BACKEND_RRDDIM,
.api = {
.metric_get = rrddim_metric_get,
.metric_get_or_create = rrddim_metric_get_or_create,
.metric_dup = rrddim_metric_dup,
.metric_release = rrddim_metric_release,
.metric_retention_by_uuid = rrddim_metric_retention_by_uuid,
- .collect_ops = im_collect_ops,
- .query_ops = im_query_ops,
}
},
#ifdef ENABLE_DBENGINE
{
.id = RRD_MEMORY_MODE_DBENGINE,
.name = RRD_MEMORY_MODE_DBENGINE_NAME,
+ .backend = STORAGE_ENGINE_BACKEND_DBENGINE,
.api = {
.metric_get = rrdeng_metric_get,
.metric_get_or_create = rrdeng_metric_get_or_create,
.metric_dup = rrdeng_metric_dup,
.metric_release = rrdeng_metric_release,
.metric_retention_by_uuid = rrdeng_metric_retention_by_uuid,
- .collect_ops = {
- .init = rrdeng_store_metric_init,
- .store_metric = rrdeng_store_metric_next,
- .flush = rrdeng_store_metric_flush_current_page,
- .finalize = rrdeng_store_metric_finalize,
- .change_collection_frequency = rrdeng_store_metric_change_collection_frequency,
- .metrics_group_get = rrdeng_metrics_group_get,
- .metrics_group_release = rrdeng_metrics_group_release,
- },
- .query_ops = {
- .init = rrdeng_load_metric_init,
- .next_metric = rrdeng_load_metric_next,
- .is_finished = rrdeng_load_metric_is_finished,
- .finalize = rrdeng_load_metric_finalize,
- .latest_time_s = rrdeng_metric_latest_time,
- .oldest_time_s = rrdeng_metric_oldest_time,
- .align_to_optimal_before = rrdeng_load_align_to_optimal_before,
- }
}
},
#endif