Skip to content

feat(planner): --planner saved for SQL (multigroup e2e tables) #856

Closed

Description

@milindsrivastava1997

Goal

Let asap-planner --planner saved --query-language sql turn a sketch-bench plan for the multigroup/all tables into streaming_config.yaml and inference_config.yaml, as #828 does for PromQL. The end-to-end eval (#862) runs the all workload's 52 multigroup SQL queries this way.

sketch-bench#209 gives the multi-grouping templates (11–17) structured e2e entries. Each entry carries its ASAPQuery SQL in sql (e.g. SELECT region, QUANTILE(0.99, latency) FROM http WHERE ts BETWEEN DATEADD(s, -300, NOW()) AND NOW() GROUP BY region), and the table's metrics are records tables.

Scope

  • An e2e query carries either promql or sql. --query-language picks which entries are used; it's an error if none match. This also keeps PromQL --planner saved working on all tables.
  • records metrics become SQL tables: labels → metadata_columns, values → value_columns, time column ts. A SQLControllerConfig is built from the sql strings, one query group per interval_secs.
  • A query may read several RQEs (Add CI for building and pushing packages to ghcr #209 merges templates 14, 15 and 17). All of its picks must land on one deployment.
  • Fixture tests: a SQL table with a roll-up pick, a query reading several RQEs, a split pick and a plan from another table (both refused), and an all-style table run in each language.
  • Manual check: convert sketch-bench#212's 10/s multigroup-shared1 and all-shared1 plans, in both languages.

Out of scope

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

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions