[web-console] Show a rendering progress bar over the ELK layout pass#6461
Merged
Conversation
mihaibudiu
approved these changes
Jun 13, 2026
| // contract — the callback is optional, is invoked with a boolean, and pairs `true` | ||
| // (layout starts) with `false` (layout finishes). | ||
|
|
||
| describe('ProfilerCallbacks.onRenderingChange contract', () => { |
Contributor
There was a problem hiding this comment.
I am not sure how useful this test is. The real question is whether this works properly with cytograph's background layout engine.
mythical-fred
approved these changes
Jun 13, 2026
mythical-fred
left a comment
There was a problem hiding this comment.
LGTM — clean callback wiring with good edge-case handling (try/catch on synchronous throw, dispose() cleanup for in-flight layouts). Indeterminate bar is honest UX given ELK has no incremental progress signal. Test covers the contract nicely.
When a profile loads, the download progress bar masks the bundle fetch but the subsequent ELK layout — which dominates first-render wall time on large profiles — runs silently with no feedback. Reuse the same `Progress` strip used for the download to surface the layout window; factor the bar into a snippet so the two uses (download / render) share their entire markup. Adds a new `onRenderingChange(rendering: boolean)` lifecycle callback to `ProfilerCallbacks`, fired by `CytographRendering.initiateLayout` (true) and `layoutComplete` (false). `SupportBundleViewerLayout` forwards it, and the profile-viewer page drives an indeterminate progress bar from it (ELK has no progress signal, so the bar shows movement without a percent). Signed-off-by: Karakatiza666 <bulakh.96@gmail.com>
762498e to
00ddf0b
Compare
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.
When a profile zip is downloaded fro a pipeline in the profiler layout, the download progress bar is displayed, but after it is downloaded there is synchronous step of computing the diagram layout, which had no progress indication. THis PR fixes this - uses the same progress bar to indicate the layout is loading. There is no text that describes what's happening.
Testing: manual,
added unit test