From d3adff38275fe1b61b126ec26ab739ceaf7b2484 Mon Sep 17 00:00:00 2001 From: ionutboangiu Date: Tue, 4 Nov 2025 13:52:19 +0200 Subject: [PATCH] ees: implement api to reset exporter metrics --- ees/apis.go | 21 +++++++++++++++++++++ utils/consts.go | 1 + 2 files changed, 22 insertions(+) diff --git a/ees/apis.go b/ees/apis.go index b05495a86..8d283f41c 100644 --- a/ees/apis.go +++ b/ees/apis.go @@ -332,3 +332,24 @@ func (eeS *EeS) V1ArchiveEventsInReply(ctx *context.Context, args *ArchiveEvents *reply = buff.Bytes() return } + +// V1ResetExporterMetricsParams contains required parameters for resetting exporter metrics. +type V1ResetExporterMetricsParams struct { + Tenant string + ID string // unique identifier of the request + ExporterID string + APIOpts map[string]any +} + +// V1ResetExporterMetrics resets the metrics for a specific exporter identified by ExporterID. +// Returns utils.ErrNotFound if the exporter is not found in the cache. +func (eeS *EeS) V1ResetExporterMetrics(ctx *context.Context, params V1ResetExporterMetricsParams, reply *string) error { + eeCfg := eeS.cfg.EEsCfg().ExporterCfg(params.ExporterID) + ee, ok := eeS.exporterCache[eeCfg.Type].Get(eeCfg.ID) + if !ok { + return utils.ErrNotFound + } + ee.(EventExporter).GetMetrics().Reset() + *reply = utils.OK + return nil +} diff --git a/utils/consts.go b/utils/consts.go index 44f56bae0..99c925bc3 100644 --- a/utils/consts.go +++ b/utils/consts.go @@ -1855,6 +1855,7 @@ const ( EeSv1Ping = "EeSv1.Ping" EeSv1ProcessEvent = "EeSv1.ProcessEvent" EeSv1ArchiveEventsInReply = "EeSv1.ArchiveEventsInReply" + EeSv1ResetExporterMetrics = "EeSv1.ResetExporterMetrics" ) // ActionProfile APIs