Commit 81ef2fa
authored
Docs: add React Performance Tracks profiling guide (#3961)
## Summary
Part of #3893. This completes the docs remainder from the 2026-06-11
triage and intentionally avoids source-map-specific claims while #3940
remains open.
- adds a React Performance Tracks and profiling guide
- refreshes the existing Node Renderer `--inspect` debugging page
- refreshes the Pro SSR profiling page and links it back to the
debugging/profiling decision guide
- adds the new guide to `docs/sidebars.ts`
- regenerates `llms-full.txt`
## Coordination
- #3940 is still open and edits
`docs/oss/building-features/node-renderer/debugging.md`; whichever
branch lands second may need a small textual conflict resolution.
- No semantic merge-after dependency on #3940: this PR omits source-map
behavior references.
## Test plan
- `node script/generate-llms-full.mjs` -> generated 146 pages, 2042 KiB,
72 docs URLs validated
- `node script/generate-llms-full.mjs --check` -> pass
- `script/check-docs-sidebar` -> pass
- `script/ci-changes-detector origin/main` -> documentation-only,
recommended CI: none
- `pnpm start format.listDifferent` -> pass
- `bin/check-links` -> pass, 2784 total, 0 errors
- `git diff --check origin/main...HEAD` -> pass
- `(cd react_on_rails && BUNDLE_GEMFILE=../Gemfile bundle exec rubocop)`
-> pass
Labels: none — docs-only, no code/workflow surface.
<!-- CURSOR_SUMMARY -->
---
> [!NOTE]
> **Low Risk**
> Documentation-only changes with no runtime, API, or workflow code
paths affected.
>
> **Overview**
> Adds **`performance-tracks-and-profiling.md`**, a decision guide for
browser React Performance Tracks, Pro Node Renderer CPU profiling,
breakpoints, memory, and production telemetry (Web Vitals,
OpenTelemetry, error tracing), plus workflows for recording tracks,
correlating browser and renderer traces, and User Timing in the renderer
VM.
>
> **Refreshes** the Node Renderer debugging page with a concrete
`overmind stop` + `pnpm run node-renderer:debug` quick start, a
**Breakpoints vs. profiles** section, and cross-links; drops the old
external Node debugger stub.
>
> **Modernizes** the Pro SSR profiling guide (title,
`node-renderer:debug` script, clearer timeout/caching notes, hydration
pointer to the new guide, ExecJS log typo `isolate`, **speedscope** via
`pnpm dlx` / `npx` / `yarn dlx` instead of global install).
>
> Registers the new page under **Development & Ops** in
`docs/sidebars.ts` and regenerates **`llms-full.txt`**.
>
> <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit
e35d684. Bugbot is set up for automated
code reviews on this repo. Configure
[here](https://www.cursor.com/dashboard/bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **Documentation**
* Expanded renderer debugging guide with clearer quick-start steps for
attaching the inspector, isolating renderer logs, setting breakpoints,
and alternative inspect workflows
* Added a comprehensive performance-profiling guide mapping symptoms to
workflows and explaining React Performance Tracks and trace correlation
* Modernized server-side rendering profiling guidance with updated
recording, timeout troubleshooting, and analysis workflows
* Updated docs navigation to surface the new profiling guidance
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Agent Merge Confidence
Mode: accelerated-rc
Current head SHA: e35d684
Score: 8/10
Auto-merge recommendation: yes
Affected areas: OSS/Pro docs, docs sidebar, llms-full generated
reference
CI detector: `script/ci-changes-detector origin/main` ->
Documentation-only changes; recommends no CI jobs
Validation run:
- `node script/generate-llms-full.mjs` -> generated; 146 pages, 2048
KiB, split threshold 2048 KiB; 73 docs URLs and 8 sidebar top-level
sections validated
- `node script/generate-llms-full.mjs --check` -> current; 146 pages,
2048 KiB, split threshold 2048 KiB
- `script/check-docs-sidebar` -> new doc
`building-features/performance-tracks-and-profiling` has sidebar entry
- `pnpm start format.listDifferent` -> pass
- Pre-commit/pre-push markdown link hooks -> pass
Review/check gate:
- GitHub checks: complete for
`e35d6847a899ee5ed32bdda92a54adac9cbc0b7e`; 15 pass, 2 expected skips
explained
- Expected skips: secondary `claude` job skipped while `claude-review`
passed; `build` in Lint JS and Ruby skipped by docs-only path selection
while docs-format and local Prettier passed
- Review threads: GraphQL unresolved count is 0
- Current-head reviewer verdicts:
- Claude review: `claude-review` check passed for
`e35d6847a899ee5ed32bdda92a54adac9cbc0b7e`; actionable debugging-flow
threads fixed; later clarity nits triaged optional and resolved
- CodeRabbit: check succeeded with "Review skipped"
Known residual risk: Low; PR #3940 is still open, so this docs PR
intentionally avoids source-map behavior references. llms-full is
exactly at the 2048 KiB no-split threshold, so future docs additions
will likely need the OSS/Pro split.
Finalized by: `claude-review` GitHub check / Claude Code Review workflow
for current head, run
https://github.com/shakacode/react_on_rails/actions/runs/27463255831/job/811808742701 parent 47ab779 commit 81ef2fa
5 files changed
Lines changed: 329 additions & 102 deletions
File tree
- docs
- oss/building-features
- node-renderer
- pro
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
6 | | - | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
7 | 9 | | |
8 | 10 | | |
9 | 11 | | |
| |||
14 | 16 | | |
15 | 17 | | |
16 | 18 | | |
17 | | - | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
18 | 28 | | |
19 | 29 | | |
20 | | - | |
21 | | - | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
22 | 35 | | |
23 | 36 | | |
24 | 37 | | |
| |||
52 | 65 | | |
53 | 66 | | |
54 | 67 | | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
55 | 75 | | |
56 | 76 | | |
57 | 77 | | |
| |||
94 | 114 | | |
95 | 115 | | |
96 | 116 | | |
97 | | - | |
98 | | - | |
99 | | - | |
100 | | - | |
101 | 117 | | |
102 | 118 | | |
103 | 119 | | |
| |||
Lines changed: 93 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
0 commit comments