diff --git a/promql/functions.go b/promql/functions.go index 027c4495ab8..ecd6f7c8b4e 100644 --- a/promql/functions.go +++ b/promql/functions.go @@ -88,7 +88,7 @@ func extrapolatedRate(vals []parser.Value, args parser.Expressions, enh *EvalNod return enh.Out, annos.Add(annotations.NewMixedFloatsHistogramsWarning(metricName, args[0].PositionRange())) } - if isCounter && + if isCounter && metricName != "" && len(samples.Floats) > 0 && !strings.HasSuffix(metricName, "_total") && !strings.HasSuffix(metricName, "_sum") && !strings.HasSuffix(metricName, "_count") && diff --git a/util/annotations/annotations.go b/util/annotations/annotations.go index 8bdcc65bad9..9cfbb121f6c 100644 --- a/util/annotations/annotations.go +++ b/util/annotations/annotations.go @@ -156,8 +156,8 @@ func NewMixedClassicNativeHistogramsWarning(metricName string, pos posrange.Posi } } -// NewPossibleNonCounterInfo is used when a counter metric does not have the suffixes -// _total, _sum, _count, or _bucket. +// NewPossibleNonCounterInfo is used when a named counter metric with only float samples does not +// have the suffixes _total, _sum, _count, or _bucket. func NewPossibleNonCounterInfo(metricName string, pos posrange.PositionRange) annoErr { return annoErr{ PositionRange: pos,