From 070627d11e48421d798f7340ac8de9928d8472d6 Mon Sep 17 00:00:00 2001 From: Owen Diehl Date: Mon, 3 May 2021 11:57:24 -0400 Subject: [PATCH] better handle metrics for state transitions (#33648) --- pkg/services/ngalert/state/cache.go | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/pkg/services/ngalert/state/cache.go b/pkg/services/ngalert/state/cache.go index fa481ffc4f5..427090c070c 100644 --- a/pkg/services/ngalert/state/cache.go +++ b/pkg/services/ngalert/state/cache.go @@ -123,7 +123,15 @@ func (c *cache) trim() { c.mtxStates.Lock() defer c.mtxStates.Unlock() - ct := make(map[eval.State]int) + // Set default values to zero such that gauges are reset + // after all values from a single state disappear. + ct := map[eval.State]int{ + eval.Normal: 0, + eval.Alerting: 0, + eval.Pending: 0, + eval.NoData: 0, + eval.Error: 0, + } for _, v := range c.states { if len(v.Results) > 100 {