-
Notifications
You must be signed in to change notification settings - Fork 0
feat(promql): compile and execute count/avg aggregation families from the ASAPQuery matrix #503
Copy link
Copy link
Open
Labels
area: control planePlanning, configuration, routing, and control-plane orchestrationPlanning, configuration, routing, and control-plane orchestrationarea: data planeRuntime ingestion, storage, and query-serving data pathsRuntime ingestion, storage, and query-serving data pathsarea: physical compilerCompilation from selected logical plans to executable backend and Collector plansCompilation from selected logical plans to executable backend and Collector plansarea: query enginePromQL lowering, execution, result shaping, and fallback behaviorPromQL lowering, execution, result shaping, and fallback behaviorarea: summary executionWarm-summary binding, readout, composition, and result decodingWarm-summary binding, readout, composition, and result decodingenhancementNew feature or requestNew feature or requestfeature: PromQLPromQL compatibility and execution semanticsPromQL compatibility and execution semanticsfeature: sketch algorithmsSketch-family configuration, lifecycle, merge, and readout behaviorSketch-family configuration, lifecycle, merge, and readout behaviorfeature: warm summariesASAP warm-tier materialization, readiness, and servingASAP warm-tier materialization, readiness, and servingintegration: ASAPPlannerASAPPlanner API, IR, candidate, and selected-plan integrationASAPPlanner API, IR, candidate, and selected-plan integrationquality: accuracyExact and approximate accuracy contracts, error bounds, and routingExact and approximate accuracy contracts, error bounds, and routing
Description
Activity
Metadata
Metadata
Assignees
Labels
area: control planePlanning, configuration, routing, and control-plane orchestrationPlanning, configuration, routing, and control-plane orchestrationarea: data planeRuntime ingestion, storage, and query-serving data pathsRuntime ingestion, storage, and query-serving data pathsarea: physical compilerCompilation from selected logical plans to executable backend and Collector plansCompilation from selected logical plans to executable backend and Collector plansarea: query enginePromQL lowering, execution, result shaping, and fallback behaviorPromQL lowering, execution, result shaping, and fallback behaviorarea: summary executionWarm-summary binding, readout, composition, and result decodingWarm-summary binding, readout, composition, and result decodingenhancementNew feature or requestNew feature or requestfeature: PromQLPromQL compatibility and execution semanticsPromQL compatibility and execution semanticsfeature: sketch algorithmsSketch-family configuration, lifecycle, merge, and readout behaviorSketch-family configuration, lifecycle, merge, and readout behaviorfeature: warm summariesASAP warm-tier materialization, readiness, and servingASAP warm-tier materialization, readiness, and servingintegration: ASAPPlannerASAPPlanner API, IR, candidate, and selected-plan integrationASAPPlanner API, IR, candidate, and selected-plan integrationquality: accuracyExact and approximate accuracy contracts, error bounds, and routingExact and approximate accuracy contracts, error bounds, and routing
Audit evidence
The PR-derived ASAPQuery PromQL matrix includes
count,avg,count_over_time, andavg_over_time(especially ASAPQuery #700). Against currentmain, the backend-local physical compiler:count_over_time(m[1m]);count(m)because the selected sketch algorithm has no backend mapping;avg(m)andavg_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
by (...)where ASAPQuery supports it.avgas a semantics-preserving sum/count composition and retain both materialization/readout dependencies.unreachable!panic; unknown families must fail closed.Acceptance tests
Add these cases to the backend process differential E2E matrix, assert parity with Prometheus, and assert
data_source: warmfor both/api/v1/queryand/api/v1/query_range.