Repository navigation
eval: §6.3.1 case studies swept one knob at a time - #229
Merged
Merged
Conversation
Rebuilds the performance-monitoring and anomaly-detection case studies as runner tables and sweeps latency SLA, refresh interval, sample rate, series, cardinality and a drill-down query to find where the plan changes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Review of #229: - summarize_case_studies.py guessed an MV's grouping as the finest of the queries it serves, so an MV grouped (region, service) that serves only `by (service)` (anomaly statuses=2, SLAs 0.885-1.41 ms) printed as `by (service)`. It now reads `deployment_grouping`, which the runner writes wherever the grouping differs from the RQE's. Regenerated summary.md: that label is fixed; every other change is label order (the runner's groupings are sorted). - case_study_tables.anomaly() zipped queries with `intervals or [None] * 7`, so a short `intervals` silently dropped the drill-down. It now requires one interval per query. The regenerated tables are byte-identical. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Exploration for the §6.3.1 case studies: where does the planner's plan stop being the obvious one? This PR rebuilds both case studies (performance monitoring, anomaly detection) from the paper draft's text as
autosketch_vs_asaptables. It sweeps one knob at a time and records every ASAP plan; only ASAP is reported (the result files still hold the runner's baselines). The base workloads reproduce the draft's ASAP plans exactly (perf 0.105 vCPU, 2 MVs; anomaly 0.114, 3 MVs).scripts/case_study_tables.py: one table per sweep point (38), plusplan.tsvwith each table's SLA grid.scripts/summarize_case_studies.py: ASAP's cost, MVs and latency per SLA, and every distinct plan →summary.md.rqe-optimizer/results/case-studies/: tables, results (withchosen),summary.md, and aREADME.mdwith findings, suggested §6.3.1 text, caveats and Reproduce.Findings (ASAP vCPU, MVs)
No plan change: series count, anomaly ingest rate, one shared anomaly interval. Status cardinality and endpoints without the drill-down only reshuffle
by (service)between MVs (< 1% cost).Design decisions (please approve)
httpschema (4 regions, 25 services, 25 endpoints/service, 4 statuses, 2e6 samples/s) for anomaly.autosketch_vs_asapalready plans ASAP with and without an SLA, so no new planner code.summary.md; the case studies are about why the planner's plans are what they are.requests, nothttp: no Hydra grid is a candidate, since Hydra's accuracy is measured athttp's schema only and the sweeps change it.--weights cpu), as in the draft. Memory is free, so the base perf plan holds 18 GiB of windows.--runs 1: costs are deterministic; planning times are not reported.Verification
case_study_tables.pyregenerates the committed tables byte for byte.🤖 Generated with Claude Code