Use this page when validating Observatory behavior on larger projects or sustained sessions.
What Is Already Covered
The initial scalability rollout has been completed:
- Virtualized rendering for heavy observer screens is on by default.
- Multiple optimization passes to reduce repeated list scans and per-row recomputation.
- Verification guardrails to catch large regressions early.
Rollout Flags
Query flags can still force virtualization on or off. Preferences are stored in
localStorage under observatory:virtualization.
virt— master switch (0/false/offdisables every screen)virtFetchvirtHeatmapvirtTracesvirtComposablesvirtTransitions
Example (disable all lists for comparison):
http://localhost:3000/__observatory/?virt=0
Benchmark Notes
The repository focuses on stable regression detection over absolute micro-benchmarks.
- Guardrail checks use generous thresholds (around
2000msfor bridge-read smoke checks) to avoid CI flakiness while still catching major slowdowns. - Baseline quality commands:
pnpm formatpnpm testpnpm test:e2e
- For deeper analysis, profile in-browser while exercising heavy playground routes:
/test/heatmap-verification/test/trace-verification
Recommended Limits
When data volume grows aggressively, tune these settings in nuxt.config.ts:
maxFetchEntriesfetchPageSizemaxTransitionsmaxComposableEntriesmaxComposableHistorymaxRenderTimeline
Reducing these limits lowers memory pressure and keeps observer views responsive.
Practical Validation Flow
- Start the playground and open the target heavy route.
- Run interaction bursts (rapid navigation, repeated updates, heavy list rendering).
- Confirm observer panels stay interactive.
- Run format, unit tests, and e2e tests before merge.
