diff options
author | Vladimir Kobal <vlad@prokk.net> | 2021-01-11 17:23:21 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-01-11 17:23:21 +0200 |
commit | 503629f6e9ca29b8a6abd5bebd5de52b50a14432 (patch) | |
tree | 1e0249d0ada19fce1d520680be5c829c7cddd358 /exporting | |
parent | 5c847ea96d218635ca19253bfbf98114c35c325a (diff) |
Fix data source option for Prometheus web API in exporting configuration (#10397)
Diffstat (limited to 'exporting')
-rw-r--r-- | exporting/exporting.conf | 1 | ||||
-rw-r--r-- | exporting/read_config.c | 15 | ||||
-rw-r--r-- | exporting/tests/test_exporting_engine.c | 1 |
3 files changed, 14 insertions, 3 deletions
diff --git a/exporting/exporting.conf b/exporting/exporting.conf index 9c1e7ffb75..c2e902c051 100644 --- a/exporting/exporting.conf +++ b/exporting/exporting.conf @@ -5,6 +5,7 @@ # update every = 10 [prometheus:exporter] + # data source = average # send names instead of ids = yes # send configured labels = yes # send automatic labels = no 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)) diff --git a/exporting/tests/test_exporting_engine.c b/exporting/tests/test_exporting_engine.c index b2065a26d8..e91ed2d294 100644 --- a/exporting/tests/test_exporting_engine.c +++ b/exporting/tests/test_exporting_engine.c @@ -15,6 +15,7 @@ char *netdata_configured_hostname = "test_global_host"; char log_line[MAX_LOG_LINE + 1]; BACKEND_OPTIONS global_backend_options = 0; +const char *global_backend_source = "average"; const char *global_backend_prefix = "netdata"; void init_connectors_in_tests(struct engine *engine) |