Skip to content

Navigation Menu

Sign in
Sign up

feat(promql): compile and execute count/avg aggregation families from the ASAPQuery matrix #503

Open
Labels
area: control planePlanning, configuration, routing, and control-plane orchestration area: data planeRuntime ingestion, storage, and query-serving data paths area: physical compilerCompilation from selected logical plans to executable backend and Collector plans area: query enginePromQL lowering, execution, result shaping, and fallback behavior area: summary executionWarm-summary binding, readout, composition, and result decoding enhancementNew feature or request feature: PromQLPromQL compatibility and execution semantics feature: sketch algorithmsSketch-family configuration, lifecycle, merge, and readout behavior feature: warm summariesASAP warm-tier materialization, readiness, and serving integration: ASAPPlannerASAPPlanner API, IR, candidate, and selected-plan integration quality: accuracyExact and approximate accuracy contracts, error bounds, and routing

Description

Audit evidence

The PR-derived ASAPQuery PromQL matrix includes count, avg, count_over_time, and avg_over_time (especially ASAPQuery #700). Against current main, the backend-local physical compiler:

  • compiles count_over_time(m[1m]);
  • panics in stage config emission for count(m) because the selected sketch algorithm has no backend mapping;
  • rejects avg(m) and avg_over_time(m[1m]) because no executable Collector lifecycle is selected.

This is a warm-path capability gap, not a parser gap. Parent matrix: #501.

Required behavior

  • Compile and execute all four shapes for instant and range requests, with optional by (...) where ASAPQuery supports it.
  • Represent avg as a semantics-preserving sum/count composition and retain both materialization/readout dependencies.
  • Map count to an executable exact or sketch family without an unreachable! panic; unknown families must fail closed.
  • Preserve labels, float result type, timestamps, empty-window behavior, and Prometheus NaN/divide-by-zero semantics.

Acceptance tests

Add these cases to the backend process differential E2E matrix, assert parity with Prometheus, and assert data_source: warm for both /api/v1/query and /api/v1/query_range.

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

    area: control planePlanning, configuration, routing, and control-plane orchestration area: data planeRuntime ingestion, storage, and query-serving data paths area: physical compilerCompilation from selected logical plans to executable backend and Collector plans area: query enginePromQL lowering, execution, result shaping, and fallback behavior area: summary executionWarm-summary binding, readout, composition, and result decoding enhancementNew feature or request feature: PromQLPromQL compatibility and execution semantics feature: sketch algorithmsSketch-family configuration, lifecycle, merge, and readout behavior feature: warm summariesASAP warm-tier materialization, readiness, and serving integration: ASAPPlannerASAPPlanner API, IR, candidate, and selected-plan integration quality: accuracyExact and approximate accuracy contracts, error bounds, and routing

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions

      AltStyle によって変換されたページ (->オリジナル) /