feat(whispering): add dev-only debug page for workspace metrics and stress testing#1545
Merged
feat(whispering): add dev-only debug page for workspace metrics and stress testing#1545
Conversation
…tress testing Provides Y.Doc size monitoring, per-table row counts, and bulk recording generation/deletion with timing results. Helps developers understand storage costs and stress-test at scale without leaving the app. Uses factory function pattern (createMetrics, createStressTest) to co-locate reactive state with its operations. Dev-only via import.meta.env.DEV guard.
… nav link Remove onComplete callback coupling between createStressTest and createMetrics—the template now calls both explicitly. Remove debug nav link from NavItems since it only renders in nav-items layout mode; /debug is accessible via URL directly.
Contributor
|
Thank you for your contribution! Before we can merge this PR, we need you to sign our Contributor License Agreement. This is a one-time requirement—it lets us offer commercial licenses for the sync server while you retain full copyright on your code. To sign, please comment on this PR with:
I have read the CLA Document and I hereby sign the CLA You can retrigger this bot by commenting recheck in this Pull Request. Posted by the CLA Assistant Lite bot. |
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 subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.
Adds a debug page at
/debug(dev-only,import.meta.env.DEVguard) for monitoring workspace storage and stress-testing at scale.The page started as a comprehensive spec with browser quota monitoring, tombstone analysis, and persistent storage requests—most of which turned out to be unnecessary. Browser quota is ~77GB on a 512GB Mac (non-issue), tombstones compact to ~2 bytes each with
gc: true(confirmed by existing benchmarks), and Tauri apps don't face storage eviction. What remained were the two things you can't see today: how big is the Y.Doc, and what happens when you throw thousands of rows at it.The implementation uses two independent factory functions (
createMetrics,createStressTest) that co-locate reactive$statewith their operations. The component orchestrates them:{ stressTest.generate(); metrics.refresh(); }. No callbacks or coupling between factories.What it shows:
Changelog
/debugfor workspace metrics and stress testing