From be610bf62d3a075953c885bbe58835822cbd88c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Mierzwa?= Date: Thu, 5 Dec 2019 16:18:00 +0000 Subject: [PATCH] fix(backend): always zero exposed alert count metrics If there are no alerts for given state we won't return any metric, which leads to gaps on metrics. Fix it by initializing all states with 0. --- cmd/karma/metrics.go | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/cmd/karma/metrics.go b/cmd/karma/metrics.go index aec1b8f4a..dbf5d8b2f 100644 --- a/cmd/karma/metrics.go +++ b/cmd/karma/metrics.go @@ -85,10 +85,11 @@ func (c *karmaCollector) Collect(ch chan<- prometheus.Metric) { // count all alerts per receiver & state for _, alert := range group.Alerts { if _, found := alertsByReceiverByState[alert.Receiver]; !found { - alertsByReceiverByState[alert.Receiver] = map[string]float64{} - } - if _, found := alertsByReceiverByState[alert.Receiver][alert.State]; !found { - alertsByReceiverByState[alert.Receiver][alert.State] = 0 + alertsByReceiverByState[alert.Receiver] = map[string]float64{ + "unprocessed": 0, + "active": 0, + "suppressed": 0, + } } alertsByReceiverByState[alert.Receiver][alert.State]++ }