From c5f4ef6c3e6f780c19d15ca06d56b75409cb1550 Mon Sep 17 00:00:00 2001 From: "Grot (@grafanabot)" <43478413+grafanabot@users.noreply.github.com> Date: Fri, 17 Mar 2023 13:33:55 +0100 Subject: [PATCH] [v9.4.x] Alerting: Handful of small adjustments to log levels and parameters (#64954) Alerting: Handful of small adjustments to log levels and parameters (#64572) Calculate duration earlier in scheduler (cherry picked from commit 9bcf8819d3c47a606a75d1b8942200fd9e0e8703) Co-authored-by: Alexander Weaver --- pkg/services/ngalert/schedule/schedule.go | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/pkg/services/ngalert/schedule/schedule.go b/pkg/services/ngalert/schedule/schedule.go index e1f2405712c..ba05852776e 100644 --- a/pkg/services/ngalert/schedule/schedule.go +++ b/pkg/services/ngalert/schedule/schedule.go @@ -373,15 +373,16 @@ func (sch *schedule) ruleRoutine(grafanaCtx context.Context, key ngmodels.AlertR ruleEval, err := sch.evaluatorFactory.Create(evalCtx, e.rule.GetEvalCondition()) var results eval.Results var dur time.Duration - if err == nil { + if err != nil { + dur = sch.clock.Now().Sub(start) + logger.Error("Failed to build rule evaluator", "error", err) + } else { results, err = ruleEval.Evaluate(ctx, e.scheduledAt) + dur = sch.clock.Now().Sub(start) if err != nil { logger.Error("Failed to evaluate rule", "error", err, "duration", dur) } - } else { - logger.Error("Failed to build rule evaluator", "error", err) } - dur = sch.clock.Now().Sub(start) evalTotal.Inc() evalDuration.Observe(dur.Seconds())