Skip to content

docs: backend on ASAPPlanner: boundary, comparison with ASAPQuery, merge plan - #826

Draft
zzylol wants to merge 5 commits into
feat/range-queriesfrom
docs/planner-backend-design
Draft

zzylol wants to merge 5 commits into
feat/range-queriesfrom
docs/planner-backend-design

Conversation

@zzylol

@zzylol zzylol commented Oct 19, 2026 •

Copy link
Copy Markdown
Contributor

Why

The backend's design and its boundary with ASAPPlanner lived only in a shared draft. This puts them in the repo, next to the code, focused on what the merge with ASAPQuery needs.

What

docs/design/backend-on-planner-physical-dag.md, three parts:

  • Boundary between ASAPPlanner and ASAPQuery-backend. ASAPPlanner decides what to compute, when and for how long, and provides the physical operator library. The backend runs the installed DAG node by node, and owns the SDS, ingestion, threads and raw data. It covers the plan_installable interface and the rules that keep the boundary.
  • ASAPQuery and ASAPQuery-backend compared. A feature comparison, and where the backend's overhead came from: the executor's row layout took 68–75% of data-plane CPU, against 3–7% for the sketch kernels. Measured numbers before and after the fixes, in process and against Prometheus alone, and what still blocks a benefit.
  • Merging with ASAPQuery. Seven key points, which component comes from which side, stages A–G with their status, and open decisions.

Before / After

  • Before: 461 lines, including per-component internals and a full step-by-step profile.
  • After: 173 lines on the three topics above. The detailed profile and per-operator design are in the git history of this branch.

Notes

@zzylol zzylol added documentation Improvements or additions to documentation integration: ASAPPlanner ASAPPlanner API, IR, candidate, and selected-plan integration labels Oct 19, 2026
…e two

Profiles and same-data measurements show the data plane's extra CPU comes
from the executor's row-at-a-time data path, query-time recomputation,
JSON raw fetches, the glibc allocator and one engine thread; summary
kernels are 3-7% of it. Adds a ranked cause table with ASAPQuery's handling
of each step, a feature matrix of both implementations, the component
choice, the staged plan with targets, risks and open decisions, and the
new implementation-plan rows.
… library; per-thread query engine; per-sample ingestion
@zzylol zzylol changed the title docs: design of the backend on ASAPPlanner's physical DAG and the Planner/backend boundary docs: backend on ASAPPlanner: boundary, comparison with ASAPQuery, merge plan Oct 19, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation integration: ASAPPlanner ASAPPlanner API, IR, candidate, and selected-plan integration

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant