feat(helexa-bench): percentiles + prefill/decode split in store & report (#86) #101

Merged
grenade merged 1 commits from feat/86-bench-percentiles into main 2026-06-27 09:08:53 +00:00
Owner

Part of the Performance observability epic (#83); builds on #85 (now merged).

Bench reported only a single median per cell, hiding tail latency and unable to record the server-measured prefill/decode split now emitted on usage.helexa_timing (#85).

  • scenario: parse usage.helexa_timing into ScenarioMetrics (prefill_ms, decode_ms, prefill_tokens).
  • store: persist the three columns via an additive, PRAGMA-guarded ensure_columns migration (pre-#85 DBs backfill as NULL); aggregation now emits p50/p95/p99 for TTFT and total (nearest-rank) plus a prefill-tok/s median derived from the split.
  • report: markdown gains prefill tok/s, TTFT p95, total p95 columns; JSON gains p95/p99 + prefill_ms/decode_ms/prefill_tps medians.

Tests: nearest-rank percentile, idempotent backfill migration, and a report cell asserting percentiles + prefill split. All four validation jobs green.

Closes #86.

Part of the Performance observability epic (#83); builds on #85 (now merged). Bench reported only a single median per cell, hiding tail latency and unable to record the server-measured prefill/decode split now emitted on `usage.helexa_timing` (#85). - **scenario**: parse `usage.helexa_timing` into `ScenarioMetrics` (prefill_ms, decode_ms, prefill_tokens). - **store**: persist the three columns via an additive, PRAGMA-guarded `ensure_columns` migration (pre-#85 DBs backfill as NULL); aggregation now emits p50/p95/p99 for TTFT and total (nearest-rank) plus a prefill-tok/s median derived from the split. - **report**: markdown gains prefill tok/s, TTFT p95, total p95 columns; JSON gains p95/p99 + prefill_ms/decode_ms/prefill_tps medians. Tests: nearest-rank percentile, idempotent backfill migration, and a report cell asserting percentiles + prefill split. All four validation jobs green. Closes #86.
grenade added 1 commit 2026-06-27 09:08:44 +00:00
feat(helexa-bench): percentiles + prefill/decode split in store & report (#86)
All checks were successful
CI / Format (push) Successful in 38s
CI / CUDA type-check (push) Successful in 1m37s
CI / Clippy (push) Successful in 3m13s
CI / Test (push) Successful in 6m24s
CI / Build cortex SRPM (push) Has been skipped
CI / Publish cortex to COPR (push) Has been skipped
CI / Build neuron SRPM (push) Has been skipped
CI / Publish neuron to COPR (push) Has been skipped
CI / Bump version in source (push) Has been skipped
CI / Format (pull_request) Successful in 47s
CI / CUDA type-check (pull_request) Successful in 1m32s
CI / Clippy (pull_request) Successful in 3m11s
CI / Test (pull_request) Successful in 6m35s
CI / Build cortex SRPM (pull_request) Has been skipped
CI / Publish cortex to COPR (pull_request) Has been skipped
CI / Build neuron SRPM (pull_request) Has been skipped
CI / Publish neuron to COPR (pull_request) Has been skipped
CI / Bump version in source (pull_request) Has been skipped
afc1f7a706
Bench reported only a single median per cell, hiding tail latency and
unable to record the server-measured prefill/decode split now emitted
on `usage.helexa_timing` (#85).

- scenario: parse `usage.helexa_timing` into ScenarioMetrics
  (prefill_ms, decode_ms, prefill_tokens).
- store: persist the three columns (additive PRAGMA-guarded migration
  via ensure_columns, so pre-#85 DBs backfill as NULL); aggregate now
  emits p50/p95/p99 for TTFT and total (nearest-rank) plus a
  prefill-tok/s median derived from the split.
- report: markdown gains prefill tok/s, TTFT p95, total p95 columns;
  JSON gains p95/p99 + prefill_ms/decode_ms/prefill_tps medians.

Tests: nearest-rank percentile, idempotent backfill migration, and a
report cell asserting percentiles + prefill split.

Part of the Performance observability epic (#83). Stacked on #85.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VrJ4i3pfLRSTM76o3ofnVq
grenade merged commit 06a36566d1 into main 2026-06-27 09:08:53 +00:00
grenade deleted branch feat/86-bench-percentiles 2026-06-27 09:08:54 +00:00
Sign in to join this conversation.