summaryrefslogtreecommitdiffstats
path: root/exporting/read_config.c
diff options
context:
space:
mode:
authorVladimir Kobal <vlad@prokk.net>2021-01-11 17:23:21 +0200
committerGitHub <noreply@github.com>2021-01-11 17:23:21 +0200
commit503629f6e9ca29b8a6abd5bebd5de52b50a14432 (patch)
tree1e0249d0ada19fce1d520680be5c829c7cddd358 /exporting/read_config.c
parent5c847ea96d218635ca19253bfbf98114c35c325a (diff)
Fix data source option for Prometheus web API in exporting configuration (#10397)
Diffstat (limited to 'exporting/read_config.c')
-rw-r--r--exporting/read_config.c15
1 files changed, 12 insertions, 3 deletions
diff --git a/exporting/read_config.c b/exporting/read_config.c
index 0cba4ad2c4..995ba578f8 100644
--- a/exporting/read_config.c
+++ b/exporting/read_config.c
@@ -238,9 +238,18 @@ struct engine *read_exporting_config()
prometheus_exporter_instance->config.update_every =
prometheus_config_get_number(EXPORTING_UPDATE_EVERY_OPTION_NAME, EXPORTING_UPDATE_EVERY_DEFAULT);
- prometheus_exporter_instance->config.options |=
- global_backend_options &
- (EXPORTING_SOURCE_DATA_AS_COLLECTED | EXPORTING_SOURCE_DATA_AVERAGE | EXPORTING_SOURCE_DATA_SUM);
+ // wait for backend subsystem to be initialized
+ for (int retries = 0; !global_backend_source && retries < 1000; retries++)
+ sleep_usec(10000);
+
+ if (!global_backend_source)
+ global_backend_source = "average";
+
+ prometheus_exporter_instance->config.options |= global_backend_options & EXPORTING_OPTIONS_SOURCE_BITS;
+
+ char *data_source = prometheus_config_get("data source", global_backend_source);
+ prometheus_exporter_instance->config.options =
+ exporting_parse_data_source(data_source, prometheus_exporter_instance->config.options);
if (prometheus_config_get_boolean(
"send names instead of ids", global_backend_options & EXPORTING_OPTION_SEND_NAMES))