Improve loading speed of dashboard results - #902
Closed
micahjo7 wants to merge 2 commits into
Closed
Conversation
…g, and numbered pagination
paulirish
reviewed
Jun 10, 2026
paulirish
left a comment
Member
There was a problem hiding this comment.
I'm holding off on this cuz it feels like a lot of complication and there are probably some more straightforward fixes.
But i dont have time right now to look at the details.
Collaborator
Author
|
closed in favor of #1179 |
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.
Dashboard has been slow to load GCS results after login, and slow loading the individual suite and test case/task results. Improves speed with caching and pagination with 20 results per page.
Improves initial load speed from around 6s to 1s, and speed of suite/test results displaying from ~3s to <1s.
Summary of Performance Improvements
1. Sub-Second Click Latency & Accordion Optimizations (
dashboard.js/api.js)getSuiteDirectoryListing): Introduced a recursive suite directory prefix pre-fetcher triggered immediately when a dashboard loads. Instead of firing up to 6 serial/parallel GCS network listings upon expanding a task accordion, all runs' index points, logs, and trajectories are now resolved completely synchronously in local memory from the pre-fetched list.IndexedDBcaching for the resolvedpromptTextandbaseAppof each scenario under the keyprompt:${testId}:${scenarioName}. Expanding an accordion a second time skips all file reading and parsing entirely, leading to 0ms click latency.getFileText): Added caching for raw text downloads (e.g. log files,run.mjsscripts) to avoid repeat GCS queries, returning cached contents instantly._checkRemoteFileExists), saving ~200-300ms per file probe.2. High-Speed Numbered Pagination (
landing.js/landing.css/index.html)evals.json) is loaded only for the visible 20 suites, accelerating initial remote loads from ~10 seconds to <300ms.preloadCachedSuitesMetadata): Scans all previously cached remote suite metadata in parallel on startup (IndexedDB local query takes<5mstotal), enabling complete dataset filtering and sorting....) to span large page boundaries (e.g.,1 ... 4 [5] 6 ... 12).Previous/Next) are HTML disabled and styled with.secondary-btn:disabled(opacity35%, cursornot-allowed, pointer-events disabled) on the first and last pages.