From: Timo Sirainen Date: Sat, 31 Aug 2024 06:11:58 +0000 (+0300) Subject: stats: Change metrics_driver setting to be enum X-Git-Tag: 2.4.0~445 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=f024890321a418abfaa93244dde9132345abb01a;p=thirdparty%2Fdovecot%2Fcore.git stats: Change metrics_driver setting to be enum --- diff --git a/src/stats/stats-metrics.c b/src/stats/stats-metrics.c index e753492bfc..f8a72ba844 100644 --- a/src/stats/stats-metrics.c +++ b/src/stats/stats-metrics.c @@ -36,9 +36,10 @@ static int stats_exporters_add_set(struct stats_metrics *metrics, const struct stats_exporter_settings *set, const char **error_r) { - const struct event_exporter_transport *transport = - set->parsed_transport; struct event_exporter *exporter; + const struct event_exporter_transport *transport = + event_exporter_transport_find(set->driver); + i_assert(transport != NULL); if (event_exporter_init(transport, metrics->pool, event, &exporter, error_r) < 0) diff --git a/src/stats/stats-settings.c b/src/stats/stats-settings.c index d9600bb2d3..d463ea5025 100644 --- a/src/stats/stats-settings.c +++ b/src/stats/stats-settings.c @@ -69,7 +69,7 @@ const struct setting_keyvalue stats_service_settings_defaults[] = { static const struct setting_define stats_exporter_setting_defines[] = { DEF(STR, name), - DEF(STR, driver), + DEF(ENUM, driver), DEF(STR, transport_args), DEF(TIME_MSECS, transport_timeout), DEF(STR, format), @@ -79,7 +79,7 @@ static const struct setting_define stats_exporter_setting_defines[] = { static const struct stats_exporter_settings stats_exporter_default_settings = { .name = "", - .driver = "", + .driver = "log:file:unix:http-post:drop", .transport_args = "", .transport_timeout = 250, /* ms */ .format = "", @@ -261,17 +261,6 @@ static bool stats_exporter_settings_check(void *_set, pool_t pool ATTR_UNUSED, return FALSE; } - if (set->driver[0] == '\0') - set->driver = set->name; -#ifndef CONFIG_BINARY - set->parsed_transport = event_exporter_transport_find(set->driver); - if (set->parsed_transport == NULL) { - *error_r = t_strdup_printf("Unknown evente_exporter_driver: %s", - set->driver); - return FALSE; - } -#endif - if (!parse_format_args(set, error_r)) return FALSE; diff --git a/src/stats/stats-settings.h b/src/stats/stats-settings.h index b5590b5760..f74a8c4c11 100644 --- a/src/stats/stats-settings.h +++ b/src/stats/stats-settings.h @@ -74,7 +74,6 @@ struct stats_exporter_settings { /* parsed values */ enum event_exporter_time_fmt parsed_time_format; - const struct event_exporter_transport *parsed_transport; }; /* */