Alerting: Fix Classic Conditions $values variable (#64243)

This commit fixes a bug in the $values variable in notification
templates when using Classic Conditions. Since Classic Conditions
are not multi-dimensional, the values of each series that exceeded
the condition should be available as a RefID and offset. For example,
B0, B1, etc. However, this bug meant that instead just a single
condition would be printed as B, not B0.
This commit is contained in:
George Robinson
2023-03-06 17:08:00 +00:00
committed by GitHub
parent 19d01dff91
commit ed71012ced
2 changed files with 32 additions and 3 deletions

View File

@@ -52,11 +52,11 @@ func (rs *ruleStates) getOrCreate(ctx context.Context, log log.Logger, alertRule
ruleLabels, annotations := rs.expandRuleLabelsAndAnnotations(ctx, log, alertRule, result, extraLabels, externalURL)
values := make(map[string]float64)
for _, v := range result.Values {
for refID, v := range result.Values {
if v.Value != nil {
values[v.Var] = *v.Value
values[refID] = *v.Value
} else {
values[v.Var] = math.NaN()
values[refID] = math.NaN()
}
}