Skip to content

feat(inference): reproduce drawer for benchmark points#310

Open
functionstackx wants to merge 1 commit intomasterfrom
claude/issue-270-20260505-0421
Open

feat(inference): reproduce drawer for benchmark points#310
functionstackx wants to merge 1 commit intomasterfrom
claude/issue-270-20260505-0421

Conversation

@functionstackx
Copy link
Copy Markdown
Contributor

Adds a 3-tab drawer (Command / Config JSON / Environment) that opens from a scatter pinned tooltip, GPU graph tooltip, or inference table row and shows exactly how a benchmark was produced.

Implements #270.

Summary

  • Pure buildLaunchCommand(framework, config) library with per-framework generators for vllm, sglang, trt (and the trtllm alias), unit-tested.
  • Compound stacks (Dynamo, ATOM, MoRI) render a clear fallback pointing at the Config JSON tab.
  • Drawer closes on Esc / outside-click without touching chart zoom or URL state.
  • Analytics: reproduce_drawer_opened, reproduce_copy (with framework), reproduce_server_log_clicked, inference_table_reproduce_clicked.

Test plan

  • pnpm typecheck, pnpm lint, pnpm fmt
  • pnpm test:unit → 1756/1756 passing (+25 new)
  • Manual Playwright verification on a real B200 (TRT, MTP) row and a GB300 (Dynamo TRT) fallback row
  • E2E spec exercises the table entry point + ?unofficialrun= overlay path

🤖 Generated with Claude Code

Adds a 3-tab drawer (Command / Config JSON / Environment) that opens from
scatter pinned tooltip, GPU graph tooltip, or inference table row, showing
exactly how a benchmark was produced.

- Pure `buildLaunchCommand(framework, config)` library with per-framework
  generators for vllm, sglang, trt (with the trtllm alias). Disagg configs
  emit two stitched commands (prefill / decode workers). Compound stacks
  (Dynamo, ATOM, MoRI) intentionally show a clear fallback that points at
  the Config JSON tab.
- ReproduceDrawer reuses the existing right-side dialog pattern, with per-
  tab Copy buttons, a Server log link, and Esc + outside-click close that
  doesn't perturb chart zoom or URL state.
- Drawer state lives in InferenceContext so it is reachable from scatter,
  GPU graph, and the table without prop-drilling.
- Analytics: reproduce_drawer_opened, reproduce_copy (with framework),
  reproduce_drawer_open_clicked, reproduce_server_log_clicked,
  inference_table_reproduce_clicked.
- Tests: 21 unit tests for buildLaunchCommand cover every framework,
  disagg, compound fallbacks, alias resolution, missing-field placeholders;
  4 new tooltipUtils tests assert the Reproduce button only appears when
  pinned; new E2E spec exercises the table-row entry point and the
  unofficial-run overlay path.

Closes #270

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Co-authored-by: functionstackx <functionstackx@users.noreply.github.com>
@vercel
Copy link
Copy Markdown

vercel Bot commented May 5, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
inferencemax-app Ready Ready Preview, Comment May 5, 2026 4:47am

Request Review

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant