Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
123 commits
Select commit Hold shift + click to select a range
d5e90c4
feat(powerx): digest gpu_metrics telemetry into the database at inges…
cquil11 Sep 17, 2026
54ae365
feat(powerx): add rolling-average display mode and chip toggles to te…
cquil11 Sep 17, 2026
5422a82
feat(powerx): add mean-across-chips line to telemetry charts
cquil11 Sep 17, 2026
1c234e3
feat(powerx): overlay decode throughput on the per-point telemetry chart
cquil11 Sep 17, 2026
fe7a077
feat(powerx): default telemetry charts to rolling average
cquil11 Sep 17, 2026
ab479c8
feat(powerx): choose any available server metric as the telemetry ove…
cquil11 Sep 17, 2026
132f0b5
fix: register gpu-metrics-point route and refresh gpu-metrics catalog…
edwingao28 Sep 17, 2026
70d4cab
docs: correct why gpu_metrics telemetry backfill is bounded to 90 days
edwingao28 Sep 17, 2026
87b5ebe
test: cover gpu-metrics backfill, queries, and point lookup
edwingao28 Sep 17, 2026
855009f
fix: skip runs GitHub has deleted in artifact backfills
edwingao28 Sep 18, 2026
65c6501
feat: plan modeled power for aggregate multinode chassis at the deplo…
edwingao28 Sep 18, 2026
9ee4301
feat: ingest multinode power_audit telemetry as per-host series
edwingao28 Sep 19, 2026
8139739
[PowerX] add power boundaries, rulers, comparison series and a power …
edwingao28 Sep 21, 2026
ef6df98
chore: merge master and resolve glossary, AGENTS and landing-nav conf…
edwingao28 Sep 21, 2026
598a8be
[PowerX] validate power evidence and preserve published curves / 校验功耗…
edwingao28 Sep 21, 2026
ca4f619
fix: delete purged telemetry explicitly and report what went
edwingao28 Sep 21, 2026
c763540
fix: migrate before verify in apply-run-overrides and keep cache steps
edwingao28 Sep 21, 2026
1e5d227
fix: keep gpu_metrics digest errors from failing the whole ingest
edwingao28 Sep 21, 2026
af1a56f
fix: keep a line label on every series instead of dropping crowded ones
edwingao28 Sep 21, 2026
9bbc229
refactor: remove unused PowerX telemetry helpers
edwingao28 Sep 21, 2026
f412d0c
fix: keep PowerX telemetry samples and digests consistent
edwingao28 Sep 21, 2026
4a1cac3
[PowerX] fix telemetry axes and stale power references / 修复遥测坐标轴与残留功耗…
edwingao28 Sep 21, 2026
17e92d7
fix: correct PowerX comparison values and timeline labels
edwingao28 Sep 21, 2026
d98559b
fix: keep PowerX time axes and role labels readable on mobile
edwingao28 Sep 21, 2026
27f3b67
chore: merge master and resolve PowerX ingest conflicts
edwingao28 Sep 21, 2026
a6c2f53
fix: use stored PowerX full-record statistics
edwingao28 Sep 22, 2026
2f67a84
fix: read historical PowerX timelines from the database
edwingao28 Sep 22, 2026
cfebaa9
fix: refresh PowerX telemetry after re-ingest
edwingao28 Sep 22, 2026
1d882e8
fix: reconcile PowerX telemetry coverage per point
edwingao28 Sep 22, 2026
2f4a4ca
feat: open PowerX telemetry from dashboard points
edwingao28 Sep 22, 2026
7ed498f
fix: stabilize PowerX persistence and recovery
edwingao28 Sep 23, 2026
a903159
refactor: remove unused GPU anomaly detection
edwingao28 Sep 23, 2026
92e349e
refactor: deduplicate PowerX types and helpers
edwingao28 Sep 23, 2026
be14a8b
feat: add PowerX service comparisons and load diagnostics
edwingao28 Sep 23, 2026
8ed449c
refactor: deslop PowerX telemetry PR (dedupe helpers, drop dead code,…
claude Sep 23, 2026
c425cd9
fix(powerx): keep telemetry point and run reads at one series version…
claude[bot] Sep 24, 2026
e8b3556
merge: feat/powerx-db-ingest into feat/powerx-article-chart-coverage …
claude Sep 24, 2026
3895ce6
feat: add PowerX same-load, role and fit panels
edwingao28 Sep 24, 2026
8476487
feat: compare PowerX timelines at one load
edwingao28 Sep 24, 2026
41f2e1c
feat: list PowerX frontier points under the scatter chart
edwingao28 Sep 24, 2026
b7a88b6
feat: expose PowerX panel data in the views API
edwingao28 Sep 24, 2026
d8b3675
docs: document PowerX article panels and timeline load filter
edwingao28 Sep 24, 2026
1672075
fix: localize PowerX comparison source labels
edwingao28 Sep 24, 2026
10dcb1b
test: pin concurrency view loads outside latency and cost limits
edwingao28 Sep 24, 2026
2ee539e
test: remove redundant PowerX tests and local DB harness
edwingao28 Sep 25, 2026
c476f0e
chore: merge PowerX db-ingest test cleanup
edwingao28 Sep 25, 2026
3582eef
test: remove redundant chart-coverage tests
edwingao28 Sep 25, 2026
81808cc
test: merge chart-coverage cleanup and remove redundant article tests
edwingao28 Sep 25, 2026
7759a8b
fix: space word values in topology labels
edwingao28 Sep 25, 2026
edd8a66
chore: merge topology label fix
edwingao28 Sep 25, 2026
995e008
fix: version PowerX digests and recover stale statistics
edwingao28 Sep 25, 2026
e6a55c8
chore: resolve PowerX skill integrity conflict with master
edwingao28 Sep 25, 2026
864a0c7
feat: simplify PowerX measured views
edwingao28 Sep 25, 2026
37a75d6
fix: explain missing measured power for chosen chip configs
edwingao28 Sep 25, 2026
238977a
test: update x-axis spec for concurrency and median labels
edwingao28 Sep 25, 2026
f6ede5d
fix: restore Best per SKU fallback for empty metrics
edwingao28 Sep 25, 2026
08c2189
fix: name comparison sources in exported images
edwingao28 Sep 25, 2026
d812b35
fix(db): drop .js suffix from PowerX stats imports so Turbopack resol…
claude Sep 25, 2026
a60061d
chore: merge powerx-db-ingest into article parity
edwingao28 Sep 25, 2026
12de0af
fix: keep unofficial runs, date toggles and concurrency in date compa…
edwingao28 Sep 25, 2026
581d765
test: expect concurrency in Chinese Agentic x-axis options
edwingao28 Sep 25, 2026
4181dfc
Merge master into feat/powerx-db-ingest
claude Sep 26, 2026
601f873
fix: offer View power trace on official date-comparison points
edwingao28 Sep 27, 2026
75334e2
chore: merge powerx-db-ingest into article parity
edwingao28 Sep 27, 2026
2c160b2
Merge master into feat/powerx-db-ingest
claude Sep 27, 2026
b07e1c7
chore: merge powerx-db-ingest into article parity
edwingao28 Sep 28, 2026
14b5bec
fix(powerx): persist run rulers, keep tooltip actions on mobile
edwingao28 Sep 28, 2026
53c47d9
docs: link draft PR #1229 in PowerX UX packet
edwingao28 Sep 28, 2026
20367a0
fix: key comparison sources by curve snapshot, not row run
edwingao28 Sep 29, 2026
fc53c63
chore: drop committed acceptance artifacts from the PowerX UX packet
edwingao28 Sep 29, 2026
a87ee3e
chore: add PowerX admin scripts and dependencies
edwingao28 Sep 29, 2026
8332be9
feat(db): add telemetry schema and stats version column
edwingao28 Sep 29, 2026
c7d683f
feat(etl): digest gpu_metrics and power_audit artifacts at ingest
edwingao28 Sep 29, 2026
c4ea4f2
feat(etl): publication receipts and required-power verification
edwingao28 Sep 29, 2026
422ef50
feat(db): telemetry backfill CLI, purge accounting and benchmark refresh
edwingao28 Sep 29, 2026
6651f84
feat(db): telemetry read queries with snapshot checks and paged samples
edwingao28 Sep 29, 2026
1ba550d
feat(ui): power boundary metrics, comparison overlays and role energy
edwingao28 Sep 29, 2026
f1422bd
ci: migrate before ingest and support Neon branch targets
edwingao28 Sep 29, 2026
9096c00
feat(ui): persist perf rulers in share links
edwingao28 Sep 29, 2026
61c3ac0
feat(api): DB-first gpu-metrics routes, point cache and views parity
edwingao28 Sep 29, 2026
10d9901
feat(ui): per-point PowerX view on the agentic detail page
edwingao28 Sep 29, 2026
875edcb
feat(ui): explorer smoothing controls and stored full-record statistics
edwingao28 Sep 29, 2026
38b2d3e
feat(ui): measured power timeline
edwingao28 Sep 29, 2026
7734516
docs: PowerX persistence runbook and telemetry pipeline notes
edwingao28 Sep 29, 2026
99841c9
docs: PowerX permanent view, power boundaries and state ownership
edwingao28 Sep 29, 2026
7be3d20
test: retry blog listing visits in E2E
edwingao28 Sep 29, 2026
a72b930
fix: light the base series when its comparison legend row is hovered
edwingao28 Sep 29, 2026
d10cdd0
fix: memoise timeline responses on a fixed-shape input
edwingao28 Sep 29, 2026
d314dae
test: stub optimized blog thumbnails in E2E
edwingao28 Sep 29, 2026
8800dc6
chore: integrate PowerX parent updates locally
edwingao28 Sep 29, 2026
12f382b
chore: integrate PowerX article changes locally
edwingao28 Sep 29, 2026
ca6899f
fix: simplify PowerX labels and explanations
edwingao28 Sep 29, 2026
db41df7
chore: record integrated PowerX article ancestry
edwingao28 Sep 29, 2026
a659339
feat: integrate PowerX ruler sharing and mobile tooltip fixes
edwingao28 Sep 30, 2026
2f982f8
test: capture power menu after selection assertions
edwingao28 Sep 30, 2026
36ceb86
fix: trim profit power note and explain empty All in Measured charts
edwingao28 Sep 30, 2026
a42d881
fix: rename power-basis metric labels to the Boundary names (#1240)
edwingao28 Sep 30, 2026
8e097f2
chore: merge curve-snapshot comparison source keys (#1236)
edwingao28 Sep 30, 2026
90ec8e8
chore: merge profit header trim and All in Measured empty state (#1239)
edwingao28 Sep 30, 2026
9c15d60
fix: plot role panels on trace-derived P75/P90 axes
edwingao28 Sep 30, 2026
c2085d9
fix: pin the equal-service comparison pair once Compare is on
edwingao28 Sep 30, 2026
10fad53
test: match the measured power family by exact option text
edwingao28 Sep 30, 2026
ff989ca
fix: pin the comparison pair only when Compare is toggled
edwingao28 Sep 30, 2026
fbf4193
chore: format the comparison component spec
edwingao28 Sep 30, 2026
0effb5d
chore: add PowerX admin scripts and dependencies
edwingao28 Sep 29, 2026
afa7e86
feat(db): add telemetry schema and stats version column
edwingao28 Sep 29, 2026
96bcf06
feat(etl): digest gpu_metrics and power_audit artifacts at ingest
edwingao28 Sep 29, 2026
63d313b
feat(etl): publication receipts and required-power verification
edwingao28 Sep 29, 2026
9ced2ec
feat(db): telemetry backfill CLI, purge accounting and benchmark refresh
edwingao28 Sep 29, 2026
c2e8282
feat(db): telemetry read queries with snapshot checks and paged samples
edwingao28 Sep 29, 2026
039deba
ci: migrate before ingest and support Neon branch targets
edwingao28 Sep 29, 2026
41ec32d
feat(api): DB-first gpu-metrics routes, point cache and views parity
edwingao28 Sep 29, 2026
bcffada
feat(ui): explorer smoothing controls and stored full-record statistics
edwingao28 Sep 29, 2026
13fd98c
docs: PowerX persistence runbook and telemetry pipeline notes
edwingao28 Sep 29, 2026
2c44028
test: retry blog listing visits in E2E
edwingao28 Sep 29, 2026
f320e18
test: stub optimized blog thumbnails in E2E
edwingao28 Sep 29, 2026
1d1686d
chore: merge PowerX telemetry parent into article parity
edwingao28 Sep 30, 2026
a900e0d
chore: merge the rebased PowerX telemetry parent and drop the GPUGrap…
edwingao28 Sep 30, 2026
75b6f61
fix: preserve stitched PowerX comparison sources
edwingao28 Sep 30, 2026
d1728a9
refactor: remove PowerX service comparison panels
edwingao28 Sep 30, 2026
19b853c
fix(inference): remove agentic Latency Percentile control / 移除智能体延迟分位…
edwingao28 Sep 30, 2026
2f9b620
fix: synchronize PowerX API skill integrity
edwingao28 Sep 30, 2026
99f21f9
fix: sync dashboard CPU ingestion contract
edwingao28 Oct 2, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 14 additions & 2 deletions docs/d3-charts.md
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ For machine-readable frontier and hinterland observations, see the
[Pareto boundary API](./pareto-api.md). The server and chart share
`src/lib/pareto-frontier.ts`; their input-selection pipelines differ.

Every inference scatter chart exposes a **Pareto Frontier** switch under
Inference scatter charts with a performance-preference X axis expose a **Pareto Frontier** switch under
**Advanced**, off by default.
Collapsing Advanced does not turn off an enabled highlight.
`i_frontier=1` preserves plain shading in share links; value `2` restores the scenic background.
Expand Down Expand Up @@ -122,12 +122,24 @@ The six measured-power metrics (average, prefill, decode, P75, P90 and percentag

Modeled chassis power retains its existing behavior: **Optimal Only** on shows the minimum-power Pareto frontier, which can legitimately contain one point. Turning it off draws the upper power boundary. In that mode, the separate **Show all measurements** switch (`i_allpoints=1`) reveals off-boundary points without changing the curve.

Dividing watts by one hardware's positive, constant TDP preserves its boundary membership. A lower percentage across different chips is not, by itself, an energy-efficiency comparison. Historical rings remain attached to visible historical points.
Dividing watts by one hardware's positive, constant TDP preserves its boundary membership. A lower percentage across different chips is not, by itself, an energy-efficiency comparison.

Upper boundaries use monotone interpolation between unique-X vertices, including after zoom. Curves are grouped by hardware, precision and date, and additionally by run for unofficial overlays; unrelated dates and runs never share a curve.

**Perf Ruler** is available on all six measured-power axes in the single-run scatter chart (`ScatterGraph`) only; the date-comparison chart (`GPUGraph`) has no ruler. It measures the ratio of the drawn upper-boundary values at the same X coordinate, using the rendered paths after zoom; clicking an off-boundary dot selects its series' boundary, clamped to the curves' shared X range. The ratio compares power or percentage of TDP, not energy efficiency. Optimal Only changes point visibility without moving the ruler. Hidden or removed curves cannot be measured, and changing either axis clears existing rulers. Modeled chassis power keeps its existing ruler restriction while showing an upper boundary; energy and other Pareto views retain their ruler behavior.

### Observed concurrency sweeps

`i_xmode=concurrency` is an observed-load view, not an optimization axis. It uses the exact positive `conc` values and a linear X scale. Valid metric-bearing load points remain visible even when saved Optimal Only or Best per SKU preferences are enabled; Pareto Frontier, gradient strategy labels, Perf Ruler and Replay are unavailable in this mode. Y-axis units and measured/modelled boundaries do not change.

`groupConcurrencySeries` groups straight-line segments by hardware, precision, topology (`pointTopologyKey`), recipe fingerprint, date, run and power-comparison variant. It never joins TP4 to TP8 or 4P/4D to 16P/16D. A group with repeated concurrency values, or points without run provenance, stays as markers instead of being reduced to an arbitrary average or envelope. Markers retain their original values and identities. These segments connect observations; they do not establish a hardware-controlled comparison or estimate untested loads.

Official and unofficial paths share this behavior. Date comparisons stay on `GPUGraph` and split each compared (date, hardware) series and each unofficial run into the same segments, drawn with linear curves and without frontier, power envelope or Optimal Only; each series keeps one line label, on its longest segment. Exact topology quick filters retain that topology's entire load sweep. Share URLs, tables and CSV exports preserve the selected `conc` coordinates.

### Unofficial runs in date comparisons

`GPUGraph` plots `?unofficialrun=` rows next to the compared dates as their own (run, hardware) series, `overlay-run<index>_<hwKey>`. They pass the same precision, quick-filter and overlay-hardware (`activeOverlayHwTypes`) gates as `ScatterGraph`, draw as X markers in `overlayRunColor(runIndex)`, and their curves take `overlayRooflineDasharray(runIndex)` through the roofline layer's per-curve `getDasharray`. They are not date series, so `activeDates` toggles leave them on; the legend lists them first, one `UNOFFICIAL: <branch>` group per run, and dismissing the run removes them. Pinned tooltips, official and overlay alike, offer **View power trace**, which opens the comparison Timeline focused on that trace; official points also keep **View PowerX**.

## Gradient Roofline Labels

Parallelism strategies (TP4, TEP8, DPAEP4) color roofline paths with gradient stops and use one label per contiguous strategy segment. The reasoning:
Expand Down
Loading
Loading