From: Aki Tuomi Date: Wed, 4 Oct 2023 11:41:21 +0000 (+0300) Subject: stats: Add transport_context for exporter X-Git-Tag: 2.4.0~2481 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1626f9e4b02a9d4db766df5fdefd5c51bc415ad5;p=thirdparty%2Fdovecot%2Fcore.git stats: Add transport_context for exporter Can be used by transporters --- diff --git a/src/stats/event-exporter.h b/src/stats/event-exporter.h index 64bb70844c..2d6c94f746 100644 --- a/src/stats/event-exporter.h +++ b/src/stats/event-exporter.h @@ -28,4 +28,8 @@ void event_export_helper_fmt_categories(string_t *dest, void (*append)(string_t *, const char *), const char *separator); +/* assign transport context to a event exporter */ +void event_export_transport_assign_context(const struct exporter *exporter, + void *context); + #endif diff --git a/src/stats/stats-metrics.c b/src/stats/stats-metrics.c index 96dca8be2b..4fd2f3a1bb 100644 --- a/src/stats/stats-metrics.c +++ b/src/stats/stats-metrics.c @@ -81,6 +81,13 @@ static void stats_exporters_add_set(struct stats_metrics *metrics, array_push_back(&metrics->exporters, &exporter); } +void event_export_transport_assign_context(const struct exporter *exporter, + void *context) +{ + struct exporter *ptr = (struct exporter *)exporter; + ptr->transport_context = context; +} + static struct metric * stats_metric_alloc(pool_t pool, const char *name, const struct stats_metric_settings *set, diff --git a/src/stats/stats-metrics.h b/src/stats/stats-metrics.h index 5cd0d7e230..a4df53a320 100644 --- a/src/stats/stats-metrics.h +++ b/src/stats/stats-metrics.h @@ -35,6 +35,7 @@ struct exporter { */ const char *transport_args; unsigned int transport_timeout; + void *transport_context; /* function to send the event */ void (*transport)(const struct exporter *, const buffer_t *);