From e283bfb3dca7228d715cd28235e436caafb34fa6 Mon Sep 17 00:00:00 2001 From: PJ Doerner Date: Mon, 22 May 2023 17:42:19 -0700 Subject: [PATCH] race condition --- common/aggregate/persistence_health_signal_aggregator.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/common/aggregate/persistence_health_signal_aggregator.go b/common/aggregate/persistence_health_signal_aggregator.go index b21ff056cb4..bad028614ae 100644 --- a/common/aggregate/persistence_health_signal_aggregator.go +++ b/common/aggregate/persistence_health_signal_aggregator.go @@ -164,12 +164,17 @@ func (s *PersistenceHealthSignalAggregator[_]) emitMetricsLoop() { for { select { case <-s.emitMetricsTimer.C: + s.latencyLock.RLock() for key, avg := range s.latencyAverages { s.metricsHandler.Gauge(metrics.PersistenceAvgLatencyPerShardPerNamespace.GetMetricName()).Record(avg.Average(), key.GetMetricTags()...) } + s.latencyLock.RUnlock() + + s.errorLock.RLock() for key, ratio := range s.errorRatios { s.metricsHandler.Gauge(metrics.PersistenceErrPerShardPerNamespace.GetMetricName()).Record(ratio.Average(), key.GetMetricTags()...) } + s.errorLock.RUnlock() } } }