feat(bench): add embeddable chart endpoints with PNG rendering#2833
Merged
feat(bench): add embeddable chart endpoints with PNG rendering#2833
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. 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
Flags with carried forward coverage won't be shown. Click here to find out more. 🚀 New features to boost your workflow:
|
2abc9bf to
034b109
Compare
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.
034b109 to
46f9f5b
Compare
spetz
approved these changes
Mar 1, 2026
mmodzelewski
approved these changes
Mar 1, 2026
numinnex
approved these changes
Mar 1, 2026
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.
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.
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.