Skip to content

feat(bench): add embeddable chart endpoints with PNG rendering#2833

Merged
spetz merged 3 commits intomasterfrom
bench-dashboard-embeddings
Mar 1, 2026
Merged

feat(bench): add embeddable chart endpoints with PNG rendering#2833
spetz merged 3 commits intomasterfrom
bench-dashboard-embeddings

Conversation

@hubcio
Copy link
Contributor

@hubcio hubcio commented Feb 27, 2026

The dashboard lacked a way to share benchmark charts externally
(e.g. in GitHub issues, docs, or third-party pages).

Add /embed/{uuid} for client-side rendering (self-contained HTML
page with ECharts) and /embed/{uuid}/chart.png for server-side
PNG rendering (charming SSR with deno_core/V8). A dedicated
render thread pins V8 to a single OS thread, with disk caching
so only the first request per variant incurs render cost. The
frontend gets an embed modal (iframe/image tabs, markdown/HTML
snippets, copy/download) wired to a topbar button.

@codecov
Copy link

codecov bot commented Feb 27, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 67.67%. Comparing base (29a27cc) to head (71c96d4).
⚠️ Report is 1 commits behind head on master.

Additional details and impacted files
@@             Coverage Diff              @@
##             master    #2833      +/-   ##
============================================
- Coverage     67.69%   67.67%   -0.02%     
  Complexity      739      739              
============================================
  Files          1031     1031              
  Lines         83912    83912              
  Branches      60706    60716      +10     
============================================
- Hits          56802    56786      -16     
- Misses        24760    24769       +9     
- Partials       2350     2357       +7     
Flag Coverage Δ
csharp 67.06% <ø> (-0.19%) ⬇️
go 6.84% <ø> (ø)
java 54.83% <ø> (ø)
node 92.26% <ø> (-0.15%) ⬇️
python 0.00% <ø> (ø)
rust 69.68% <ø> (-0.02%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.
see 15 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@hubcio hubcio force-pushed the bench-dashboard-embeddings branch 6 times, most recently from 2abc9bf to 034b109 Compare February 27, 2026 22:12
The dashboard lacked a way to share benchmark charts externally
(e.g. in GitHub issues, docs, or third-party pages).

Add /embed/{uuid} for client-side rendering (self-contained HTML
page with ECharts) and /embed/{uuid}/chart.png for server-side
PNG rendering (charming SSR with deno_core/V8). A dedicated
render thread pins V8 to a single OS thread, with disk caching
so only the first request per variant incurs render cost. The
frontend gets an embed modal (iframe/image tabs, markdown/HTML
snippets, copy/download) wired to a topbar button.
@hubcio hubcio force-pushed the bench-dashboard-embeddings branch from 034b109 to 46f9f5b Compare February 27, 2026 22:17
@spetz spetz merged commit effbab6 into master Mar 1, 2026
72 checks passed
@spetz spetz deleted the bench-dashboard-embeddings branch March 1, 2026 20:02
hubcio added a commit that referenced this pull request Mar 2, 2026
charming's "ssr" feature pulls deno_core -> rusty_v8, which
has no prebuilt static libraries for any musl target. The
bench-dashboard exclusion only covered aarch64-musl, leaving
x86_64-musl broken after #2833 added the ssr feature.

Extend the musl exclusion to all musl targets in the artifact
build. Scope each Dockerfile's cargo-chef cook to only the
packages it ships (-p), avoiding workspace-wide feature
unification that drags in v8 for images that never use it.
mmodzelewski pushed a commit that referenced this pull request Mar 2, 2026
charming's "ssr" feature pulls deno_core -> rusty_v8, which
has no prebuilt static libraries for any musl target. The
bench-dashboard exclusion only covered aarch64-musl, leaving
x86_64-musl broken after #2833 added the ssr feature.

Extend the musl exclusion to all musl targets in the artifact
build. Scope each Dockerfile's cargo-chef cook to only the
packages it ships (-p), avoiding workspace-wide feature
unification that drags in v8 for images that never use it.
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.

4 participants