Summary
info(metric, {data=~".*"}) parse-fails with vector selector must contain at least one non-empty matcher. This is a validation bug, not a missing feature: info is already in the function table (added by c51beaf).
Root cause
info(v, data_selector)'s second argument is a label selector over data labels, not a vector selector over metric names. The parser applies the "a vector selector must contain at least one non-empty matcher" rule to it, which rejects a label-only matcher set like {data=~".*"}. Prometheus permits it there.
Work
Relax the non-empty-matcher validation for info's second argument, so a label-only matcher set is accepted.
Corpus impact
5 rejections. A bug fix, not grammar work — the cheapest of the parser gaps.
Constraint
All changes on the asap branch; no upstream operations.
Summary
info(metric, {data=~".*"})parse-fails withvector selector must contain at least one non-empty matcher. This is a validation bug, not a missing feature:infois already in the function table (added by c51beaf).Root cause
info(v, data_selector)'s second argument is a label selector over data labels, not a vector selector over metric names. The parser applies the "a vector selector must contain at least one non-empty matcher" rule to it, which rejects a label-only matcher set like{data=~".*"}. Prometheus permits it there.Work
Relax the non-empty-matcher validation for
info's second argument, so a label-only matcher set is accepted.Corpus impact
5 rejections. A bug fix, not grammar work — the cheapest of the parser gaps.
Constraint
All changes on the
asapbranch; no upstream operations.