From abb2cfb84bcab4b979ffbe10e4808afb67ae749b Mon Sep 17 00:00:00 2001 From: Joseph Doherty Date: Mon, 1 Jun 2026 16:39:56 -0400 Subject: [PATCH] =?UTF-8?q?feat(mxgateway):=20normalize=20metrics=20?= =?UTF-8?q?=E2=80=94=20meter=20ZB.MOM.WW.MxGateway=20+=20histograms=20in?= =?UTF-8?q?=20seconds?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Metrics/GatewayMetrics.cs | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/ZB.MOM.WW.MxGateway.Server/Metrics/GatewayMetrics.cs b/src/ZB.MOM.WW.MxGateway.Server/Metrics/GatewayMetrics.cs index 65d0c16..8727478 100644 --- a/src/ZB.MOM.WW.MxGateway.Server/Metrics/GatewayMetrics.cs +++ b/src/ZB.MOM.WW.MxGateway.Server/Metrics/GatewayMetrics.cs @@ -5,7 +5,7 @@ namespace ZB.MOM.WW.MxGateway.Server.Metrics; public sealed class GatewayMetrics : IDisposable { - public const string MeterName = "MxGateway.Server"; + public const string MeterName = "ZB.MOM.WW.MxGateway"; private readonly object _syncRoot = new(); private readonly Meter _meter; @@ -68,9 +68,9 @@ public sealed class GatewayMetrics : IDisposable _heartbeatFailuresCounter = _meter.CreateCounter("mxgateway.heartbeats.failed"); _streamDisconnectsCounter = _meter.CreateCounter("mxgateway.grpc.streams.disconnected"); _retryAttemptsCounter = _meter.CreateCounter("mxgateway.retries.attempted"); - _workerStartupLatencyHistogram = _meter.CreateHistogram("mxgateway.workers.startup.duration", "ms"); - _commandLatencyHistogram = _meter.CreateHistogram("mxgateway.commands.duration", "ms"); - _eventStreamSendLatencyHistogram = _meter.CreateHistogram("mxgateway.events.stream_send.duration", "ms"); + _workerStartupLatencyHistogram = _meter.CreateHistogram("mxgateway.workers.startup.duration", "s"); + _commandLatencyHistogram = _meter.CreateHistogram("mxgateway.commands.duration", "s"); + _eventStreamSendLatencyHistogram = _meter.CreateHistogram("mxgateway.events.stream_send.duration", "s"); _meter.CreateObservableGauge("mxgateway.sessions.open", GetOpenSessions); _meter.CreateObservableGauge("mxgateway.workers.running", GetWorkersRunning); @@ -144,7 +144,7 @@ public sealed class GatewayMetrics : IDisposable _workersRunning++; } - _workerStartupLatencyHistogram.Record(startupDuration.TotalMilliseconds); + _workerStartupLatencyHistogram.Record(startupDuration.TotalSeconds); } /// @@ -208,7 +208,7 @@ public sealed class GatewayMetrics : IDisposable KeyValuePair methodTag = new("method", method); _commandsSucceededCounter.Add(1, methodTag); - _commandLatencyHistogram.Record(duration.TotalMilliseconds, methodTag); + _commandLatencyHistogram.Record(duration.TotalSeconds, methodTag); } /// @@ -228,7 +228,7 @@ public sealed class GatewayMetrics : IDisposable KeyValuePair methodTag = new("method", method); KeyValuePair categoryTag = new("category", category); _commandsFailedCounter.Add(1, methodTag, categoryTag); - _commandLatencyHistogram.Record(duration.TotalMilliseconds, methodTag, categoryTag); + _commandLatencyHistogram.Record(duration.TotalSeconds, methodTag, categoryTag); } /// @@ -255,7 +255,7 @@ public sealed class GatewayMetrics : IDisposable public void RecordEventStreamSend(string family, TimeSpan duration) { _eventStreamSendLatencyHistogram.Record( - duration.TotalMilliseconds, + duration.TotalSeconds, new KeyValuePair("family", family)); }