feat(inspector): seek the Timeline from a governor usage chart - #950
Merged
lcottercertinia merged 1 commit intoAug 21, 2026
Merged
Conversation
Click a point on a usage chart, or step a focused chart with the arrow keys and press Enter, to move the Timeline to that instant and zoom in on it. The chart selects nothing, so the inspector keeps its whole-log reading.
lcottercertinia
approved these changes
Aug 21, 2026
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.
📝 PR Overview
The inspector's governor usage charts show when a metric climbed, but the chart was a picture only. A spike at 4s gave no way to reach the code behind it: you read the time off the chart, then hunted for it on the Timeline by hand.
The charts are now seekable. Click a point, or step a focused chart with the arrow keys and press
Enter, and the Timeline moves to that instant and zooms to a window ofmax(2% of the log, 100ms)around it — 480ms on the 24s sample log. Nothing is selected, so the inspector keeps the whole-log reading the charts belong to.🛠️ Changes made
GovernorTrendsemitstimeline:navigate-towith a newseekmode. A click takes the pointer position; the arrow keys step one seek window at a time, so no part of the log falls between reachable windows.seekWindow(at, logTotal)owns the rule, so the width comes from the log and never from whatever frame the instant lands in.ApexLogTimeline.navigateToTimestampgains the seek branch: zoom with no selection, and no padding, so the window shown is the width asked for. A seek with no frame spanning the instant still moves, centred at depth 0.timeline:navigate-tonarrows somodesits only on the timestamp form: only an instant can be sought.<button>, so the focus ring shows for keyboard focus and not for a click, and the readout is a live region, so a stepped cursor is announced.🧩 Type of change (check all applicable)
📷 Screenshots / gifs / video [optional]
🔗 Related Issues
related #373
✅ Tests added?
📚 Docs updated?
🧪badge — see RELEASING.md)Anything else we need to know? [optional]
Test plan:
pnpm lint,pnpm test,pnpm build, thensample-app/debug-logs/sample-log.log, Timeline tab, inspector with nothing selected:ArrowRighta few times, thenEnter: the Timeline moves to the cursor, not the last sample.Repeat in a light and a dark theme, and with the panel docked to the side and to the bottom.