diff --git a/promql/engine.go b/promql/engine.go index f1904ec4ba..6ce0ebcb29 100644 --- a/promql/engine.go +++ b/promql/engine.go @@ -1604,7 +1604,7 @@ func (ev *evaluator) eval(ctx context.Context, expr parser.Expr) (parser.Value, if e.Op == parser.COUNT_VALUES { valueLabel := param.(*parser.StringLiteral) if !model.LabelName(valueLabel.Val).IsValid() { - ev.errorf("invalid label name %q", valueLabel) + ev.errorf("invalid label name %s", valueLabel) } if !e.Without { sortedGrouping = append(sortedGrouping, valueLabel.Val) diff --git a/promql/promqltest/testdata/aggregators.test b/promql/promqltest/testdata/aggregators.test index 7479d2c3d3..1e3ab79a35 100644 --- a/promql/promqltest/testdata/aggregators.test +++ b/promql/promqltest/testdata/aggregators.test @@ -430,6 +430,10 @@ eval instant at 1m count_values by (job, group)("job", version) {job="7", group="canary"} 2 {job="{count:20, sum:10, [-2,-1):2, [-1,-0.5):1, [-0.001,0.001]:2, (0.5,1]:1, (1,2]:2}", group="canary"} 2 +# Test an invalid label value. +eval_fail instant at 0 count_values("a\xc5z", version) + expected_fail_message invalid label name "a\xc5z" + # Tests for quantile. clear