]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
stats: Change metrics_driver setting to be enum
authorTimo Sirainen <timo.sirainen@open-xchange.com>
Sat, 31 Aug 2024 06:11:58 +0000 (09:11 +0300)
committerAki Tuomi <aki.tuomi@open-xchange.com>
Fri, 17 Jan 2025 08:39:59 +0000 (10:39 +0200)
src/stats/stats-metrics.c
src/stats/stats-settings.c
src/stats/stats-settings.h

index e753492bfcd33e13b5adb343e12627ed999bc79c..f8a72ba8449f7750daceafd70f5d378b5bad5560 100644 (file)
@@ -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)
index d9600bb2d3d34ba23089515004d5f265bf7d7d62..d463ea5025601084d695af6ee82a51ef1d9a8b61 100644 (file)
@@ -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;
 
index b5590b5760910a38822f83949118f8a9e3dc9016..f74a8c4c11f5e7acf159cf67ad4e619eefca7676 100644 (file)
@@ -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;
 };
 
 /* <settings checks> */