From 7197ed9fbb667f2ba3f65c74d0ed419e15cb9f42 Mon Sep 17 00:00:00 2001 From: Serge Zaitsev Date: Tue, 5 Sep 2023 10:02:11 +0200 Subject: [PATCH] Fix: avoid panics on duplicate metrics registration (#74359) --- pkg/services/sqlstore/sqlstore.go | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/pkg/services/sqlstore/sqlstore.go b/pkg/services/sqlstore/sqlstore.go index 997a48a2bcf..9aa86b7abc4 100644 --- a/pkg/services/sqlstore/sqlstore.go +++ b/pkg/services/sqlstore/sqlstore.go @@ -80,9 +80,13 @@ func ProvideService(cfg *setting.Cfg, cacheService *localcache.CacheService, mig db := s.engine.DB().DB // register the go_sql_stats_connections_* metrics - prometheus.MustRegister(sqlstats.NewStatsCollector("grafana", db)) + if err := prometheus.Register(sqlstats.NewStatsCollector("grafana", db)); err != nil { + s.log.Warn("Failed to register sqlstore stats collector", "error", err) + } // TODO: deprecate/remove these metrics - prometheus.MustRegister(newSQLStoreMetrics(db)) + if err := prometheus.Register(newSQLStoreMetrics(db)); err != nil { + s.log.Warn("Failed to register sqlstore metrics", "error", err) + } return s, nil }