Skip to content

PromQL: long-tail functions (extra *_over_time reducers, sort family, min_of/max_of) unsupported #51

Description

@zzylol

Summary

A long tail of PromQL functions parse but are rejected (UnsupportedFunction). Grouped here since each is individually small; split out if any one is prioritized.

Corpus impact

~51 rejections (2.6%) combined:

  • Extra *_over_time reducers — last_over_time, first_over_time, mad_over_time, ts_of_min_over_time/ts_of_max_over_time21
  • sort, sort_desc, sort_by_label, sort_by_label_desc16
  • min_of / max_of (n-ary element-wise) — 14

Examples

last_over_time(process_start_time_seconds[5m])
sort_by_label(node_filesystem_avail_bytes, "instance")
mad_over_time(latency_seconds[10m])

Notes

  • Error variant: LoweringError::UnsupportedFunction.
  • The extra *_over_time reducers are the closest to done — they slot into the same per-series windowed-reduction path as avg_over_time/max_over_time (see windowed_aggregate in crates/lower/src/promql.rs), just needing new AggFunc variants (last/first/mad/argmax-ts).
  • sort/sort_desc only reorder an instant vector (no Limit) — may be a no-op at the intent level.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestpromqlPromQL front-end lowering (L1→L2)

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions