Add master and worker exports to node-renderer package#2326
Add master and worker exports to node-renderer package#2326
Conversation
This allows customers to import react-on-rails-pro-node-renderer/master and react-on-rails-pro-node-renderer/worker directly. This enables adding custom routes like /health endpoints for Docker health checks when running the node-renderer as a standalone service. Co-Authored-By: Claude Opus 4.5 <[email protected]>
WalkthroughAdded two new public exports to the react-on-rails-pro-node-renderer package: Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Suggested labels
Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
size-limit report 📦
|
Greptile OverviewGreptile SummaryAdds
Confidence Score: 5/5
Important Files Changed
Sequence DiagramsequenceDiagram
participant Customer as Customer Code
participant Worker as worker.js
participant Fastify as Fastify Instance
participant Master as master.js
Note over Customer: Before PR: Patch package.json
Note over Customer: After PR: Direct import
Customer->>Worker: import { configureFastify } from 'react-on-rails-pro-node-renderer/worker'
Customer->>Worker: configureFastify((app) => { app.get('/health', ...) })
Worker->>Fastify: Register custom route
Customer->>Master: import masterRun from 'react-on-rails-pro-node-renderer/master'
Customer->>Master: masterRun(config)
Master->>Worker: Fork workers with custom config
|
Code Review: Add master and worker exports to node-renderer packageOverall AssessmentThis PR is well-structured and safe to merge after addressing the recommendations below. The change is minimal, focused, and solves a real customer need. Code Quality - Strengths
Security ConsiderationsNo security concerns identified. These modules are already part of the package and used internally. No new dependencies, no sensitive data exposed. (Review continued in next comment...) |
Critical Testing Requirements (BLOCKING)These tests MUST be completed before merge (per CLAUDE.md): Based on the project guidelines in .claude/docs/testing-build-scripts.md:
Why this matters:
|
Documentation & Testing Recommendations
Performance ConsiderationsNo performance impact - export declarations are compile-time only, no runtime overhead. Approval ChecklistBefore merging:
Overall: Strong PR. Minimal risk, clear business value, well-implemented. |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Fix all issues with AI agents
In `@packages/react-on-rails-pro-node-renderer/package.json`:
- Around line 15-22: Add a user-visible Pro changelog entry documenting the new
public exports ("master" and "worker") by updating CHANGELOG_PRO.md: create an
entry following the required format using the PR number and author (e.g. "[PR
2326](https://github.com/shakacode/react_on_rails/pull/2326) by
[justin808](https://github.com/justin808) - Add master/worker exports to
react-on-rails-pro-node-renderer.") and place it under the appropriate release
heading; ensure you only describe the user-visible change (master/worker
exports) and follow the exact bracket/URL/author format specified.
| "./master": { | ||
| "types": "./lib/master.d.ts", | ||
| "default": "./lib/master.js" | ||
| }, | ||
| "./worker": { | ||
| "types": "./lib/worker.d.ts", | ||
| "default": "./lib/worker.js" | ||
| }, |
There was a problem hiding this comment.
Add a CHANGELOG_PRO.md entry for the new public exports.
This is a user-visible Pro change and should be documented.
Example entry (format required):
[PR 2326](https://github.com/shakacode/react_on_rails/pull/2326) by [justin808](https://github.com/justin808) - Add master/worker exports to react-on-rails-pro-node-renderer.
Based on learnings: Update CHANGELOG.md for open-source changes and CHANGELOG_PRO.md for Pro-only changes; use format [PR 1818](https://github.com/shakacode/react_on_rails/pull/1818) by [username](https://github.com/username) (no hash in PR number); only include user-visible changes (features, bug fixes, breaking changes, deprecations, performance improvements), NOT linting, formatting, refactoring, tests, or documentation fixes.
🤖 Prompt for AI Agents
In `@packages/react-on-rails-pro-node-renderer/package.json` around lines 15 - 22,
Add a user-visible Pro changelog entry documenting the new public exports
("master" and "worker") by updating CHANGELOG_PRO.md: create an entry following
the required format using the PR number and author (e.g. "[PR
2326](https://github.com/shakacode/react_on_rails/pull/2326) by
[justin808](https://github.com/justin808) - Add master/worker exports to
react-on-rails-pro-node-renderer.") and place it under the appropriate release
heading; ensure you only describe the user-visible change (master/worker
exports) and follow the exact bracket/URL/author format specified.
Code Review - PR 2326This PR adds ./master and ./worker exports to the react-on-rails-pro-node-renderer package. Positive FindingsCode Quality
Security
Architecture
CRITICAL Recommendation: Build VerificationPer CLAUDE.md testing guidelines, you MUST verify the build produces expected files: cd packages/react-on-rails-pro-node-renderer && pnpm run clean && pnpm run build && ls -la lib/master.* lib/worker.* && pnpm run yalc:publish Why this matters: The project had a 7-week silent failure when package.json paths didn't match actual build outputs (see .claude/docs/testing-build-scripts.md). Other Recommendations
Test Coverage AssessmentCurrent coverage is adequate for this change:
Merge ReadinessStatus: Ready to merge after build verification Before merging:
After merging:
Export Syntax CorrectnessThe chosen export syntax is correct for modern Node.js packages. It provides TypeScript types, runtime module, and compatibility with both CommonJS and ES modules. Customer ImpactThis is a quality-of-life improvement for Pro customers:
Great work! This is a clean, focused change that solves a real customer need. Just verify the build locally and you're good to merge. |
Added changelog entry documenting the new public master and worker exports to the react-on-rails-pro-node-renderer package. Addresses CodeRabbit review comment. Co-Authored-By: Claude Opus 4.5 <[email protected]>
Code Review: Add master and worker exports to node-renderer packageSummaryThis PR adds public exports for master.ts and worker.ts modules in the react-on-rails-pro-node-renderer package, allowing customers to import these modules directly for custom configuration. ✅ Strengths
🔍 Code Quality AnalysisPackage.json Exports - VERIFIED:
API Surface Exposed: master.ts exports:
worker.ts exports:
📋 Testing RecommendationsAccording to CLAUDE.md, verify:
🎯 Potential Issues & Questions
🔒 Security: ✅ Low Risk
⚡ Performance: ✅ No Impact
🧪 Test Coverage: ✅ Adequate
🎬 Final VerdictRecommendation: ✅ APPROVE with minor suggestions This is a well-scoped, low-risk change that solves a real customer problem. Before Merging:
Post-Merge:
Great work on this customer-focused improvement! 🎉 |
|
| Branch | jg/add-master-worker-exports |
| Testbed | github-actions |
Click to view all benchmark results
| Benchmark | failed_pct | Benchmark Result % (Result Δ%) | Upper Boundary % (Limit %) | p50_latency | Benchmark Result ms (Result Δ%) | Upper Boundary ms (Limit %) | p90_latency | Benchmark Result ms (Result Δ%) | Upper Boundary ms (Limit %) | p99_latency | Benchmark Result ms (Result Δ%) | Upper Boundary ms (Limit %) | rps | Benchmark Result req/s (Result Δ%) | Lower Boundary req/s (Limit %) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| /: Core | 📈 view plot 🚷 view threshold | 0.00(0.00%)Baseline: 0.00 | 0.00 (0.00%) | 📈 view plot 🚷 view threshold | 2,872.62(0.00%)Baseline: 2,872.62 | 3,734.41 (76.92%) | 📈 view plot 🚷 view threshold | 3,251.37(0.00%)Baseline: 3,251.37 | 4,226.78 (76.92%) | 📈 view plot 🚷 view threshold | 35,300.96(0.00%)Baseline: 35,300.96 | 45,891.25 (76.92%) | 📈 view plot 🚷 view threshold | 1.86(0.00%)Baseline: 1.86 | 1.30 (70.00%) |
| /: Pro | 📈 view plot 🚷 view threshold | 0.00(0.00%)Baseline: 0.00 | 0.00 (0.00%) | 📈 view plot 🚷 view threshold | 34.40(0.00%)Baseline: 34.40 | 44.72 (76.92%) | 📈 view plot 🚷 view threshold | 62.28(0.00%)Baseline: 62.28 | 80.96 (76.92%) | 📈 view plot 🚷 view threshold | 424.08(0.00%)Baseline: 424.08 | 551.30 (76.92%) | 📈 view plot 🚷 view threshold | 209.96(0.00%)Baseline: 209.96 | 146.97 (70.00%) |
| /apollo_graphql: Pro | 📈 view plot 🚷 view threshold | 0.00(0.00%)Baseline: 0.00 | 0.00 (0.00%) | 📈 view plot 🚷 view threshold | 56.32(0.00%)Baseline: 56.32 | 73.22 (76.92%) | 📈 view plot 🚷 view threshold | 86.65(0.00%)Baseline: 86.65 | 112.64 (76.92%) | 📈 view plot 🚷 view threshold | 629.02(0.00%)Baseline: 629.02 | 817.73 (76.92%) | 📈 view plot 🚷 view threshold | 132.83(0.00%)Baseline: 132.83 | 92.98 (70.00%) |
| /async_components_demo: Pro | 📈 view plot 🚷 view threshold | 0.00(0.00%)Baseline: 0.00 | 0.00 (0.00%) | 📈 view plot 🚷 view threshold | 32.83(0.00%)Baseline: 32.83 | 42.68 (76.92%) | 📈 view plot 🚷 view threshold | 50.11(0.00%)Baseline: 50.11 | 65.14 (76.92%) | 📈 view plot 🚷 view threshold | 361.04(0.00%)Baseline: 361.04 | 469.35 (76.92%) | 📈 view plot 🚷 view threshold | 240.30(0.00%)Baseline: 240.30 | 168.21 (70.00%) |
| /async_on_server_sync_on_client: Pro | 📈 view plot 🚷 view threshold | 0.00(0.00%)Baseline: 0.00 | 0.00 (0.00%) | 📈 view plot 🚷 view threshold | 20.79(0.00%)Baseline: 20.79 | 27.03 (76.92%) | 📈 view plot 🚷 view threshold | 33.08(0.00%)Baseline: 33.08 | 43.00 (76.92%) | 📈 view plot 🚷 view threshold | 285.51(0.00%)Baseline: 285.51 | 371.16 (76.92%) | 📈 view plot 🚷 view threshold | 361.64(0.00%)Baseline: 361.64 | 253.15 (70.00%) |
| /async_on_server_sync_on_client_client_render: Pro | 📈 view plot 🚷 view threshold | 0.00(0.00%)Baseline: 0.00 | 0.00 (0.00%) | 📈 view plot 🚷 view threshold | 14.52(0.00%)Baseline: 14.52 | 18.88 (76.92%) | 📈 view plot 🚷 view threshold | 21.22(0.00%)Baseline: 21.22 | 27.59 (76.92%) | 📈 view plot 🚷 view threshold | 381.59(0.00%)Baseline: 381.59 | 496.07 (76.92%) | 📈 view plot 🚷 view threshold | 323.54(0.00%)Baseline: 323.54 | 226.48 (70.00%) |
| /async_render_function_returns_component: Pro | 📈 view plot 🚷 view threshold | 0.00(0.00%)Baseline: 0.00 | 0.00 (0.00%) | 📈 view plot 🚷 view threshold | 19.03(0.00%)Baseline: 19.03 | 24.74 (76.92%) | 📈 view plot 🚷 view threshold | 30.42(0.00%)Baseline: 30.42 | 39.55 (76.92%) | 📈 view plot 🚷 view threshold | 167.49(0.00%)Baseline: 167.49 | 217.74 (76.92%) | 📈 view plot 🚷 view threshold | 409.99(0.00%)Baseline: 409.99 | 286.99 (70.00%) |
| /async_render_function_returns_string: Pro | 📈 view plot 🚷 view threshold | 0.00(0.00%)Baseline: 0.00 | 0.00 (0.00%) | 📈 view plot 🚷 view threshold | 18.72(0.00%)Baseline: 18.72 | 24.34 (76.92%) | 📈 view plot 🚷 view threshold | 28.70(0.00%)Baseline: 28.70 | 37.31 (76.92%) | 📈 view plot 🚷 view threshold | 202.02(0.00%)Baseline: 202.02 | 262.63 (76.92%) | 📈 view plot 🚷 view threshold | 408.17(0.00%)Baseline: 408.17 | 285.72 (70.00%) |
| /broken_app: Core | 📈 view plot 🚷 view threshold | 0.00(0.00%)Baseline: 0.00 | 0.00 (0.00%) | 📈 view plot 🚷 view threshold | 388.51(0.00%)Baseline: 388.51 | 505.06 (76.92%) | 📈 view plot 🚷 view threshold | 436.95(0.00%)Baseline: 436.95 | 568.03 (76.92%) | 📈 view plot 🚷 view threshold | 3,097.10(0.00%)Baseline: 3,097.10 | 4,026.23 (76.92%) | 📈 view plot 🚷 view threshold | 23.54(0.00%)Baseline: 23.54 | 16.48 (70.00%) |
| /broken_app: Pro | 📈 view plot 🚷 view threshold | 0.00(0.00%)Baseline: 0.00 | 0.00 (0.00%) | 📈 view plot 🚷 view threshold | 19.50(0.00%)Baseline: 19.50 | 25.35 (76.92%) | 📈 view plot 🚷 view threshold | 29.00(0.00%)Baseline: 29.00 | 37.70 (76.92%) | 📈 view plot 🚷 view threshold | 262.35(0.00%)Baseline: 262.35 | 341.06 (76.92%) | 📈 view plot 🚷 view threshold | 399.69(0.00%)Baseline: 399.69 | 279.78 (70.00%) |
| /cached_react_helmet: Pro | 📈 view plot 🚷 view threshold | 0.00(0.00%)Baseline: 0.00 | 0.00 (0.00%) | 📈 view plot 🚷 view threshold | 18.68(0.00%)Baseline: 18.68 | 24.28 (76.92%) | 📈 view plot 🚷 view threshold | 65.46(0.00%)Baseline: 65.46 | 85.10 (76.92%) | 📈 view plot 🚷 view threshold | 229.21(0.00%)Baseline: 229.21 | 297.97 (76.92%) | 📈 view plot 🚷 view threshold | 298.63(0.00%)Baseline: 298.63 | 209.04 (70.00%) |
| /cached_redux_component: Pro | 📈 view plot 🚷 view threshold | 0.00(0.00%)Baseline: 0.00 | 0.00 (0.00%) | 📈 view plot 🚷 view threshold | 18.36(0.00%)Baseline: 18.36 | 23.87 (76.92%) | 📈 view plot 🚷 view threshold | 28.55(0.00%)Baseline: 28.55 | 37.12 (76.92%) | 📈 view plot 🚷 view threshold | 201.59(0.00%)Baseline: 201.59 | 262.07 (76.92%) | 📈 view plot 🚷 view threshold | 406.27(0.00%)Baseline: 406.27 | 284.39 (70.00%) |
| /client_side_hello_world: Core | 📈 view plot 🚷 view threshold | 0.00(0.00%)Baseline: 0.00 | 0.00 (0.00%) | 📈 view plot 🚷 view threshold | 8.87(0.00%)Baseline: 8.87 | 11.53 (76.92%) | 📈 view plot 🚷 view threshold | 17.20(0.00%)Baseline: 17.20 | 22.36 (76.92%) | 📈 view plot 🚷 view threshold | 105.97(0.00%)Baseline: 105.97 | 137.76 (76.92%) | 📈 view plot 🚷 view threshold | 775.54(0.00%)Baseline: 775.54 | 542.88 (70.00%) |
| /client_side_hello_world: Pro | 📈 view plot 🚷 view threshold | 0.00(0.00%)Baseline: 0.00 | 0.00 (0.00%) | 📈 view plot 🚷 view threshold | 18.12(0.00%)Baseline: 18.12 | 23.56 (76.92%) | 📈 view plot 🚷 view threshold | 26.68(0.00%)Baseline: 26.68 | 34.68 (76.92%) | 📈 view plot 🚷 view threshold | 188.59(0.00%)Baseline: 188.59 | 245.17 (76.92%) | 📈 view plot 🚷 view threshold | 429.52(0.00%)Baseline: 429.52 | 300.66 (70.00%) |
| /client_side_hello_world_shared_store: Core | 📈 view plot 🚷 view threshold | 0.00(0.00%)Baseline: 0.00 | 0.00 (0.00%) | 📈 view plot 🚷 view threshold | 8.98(0.00%)Baseline: 8.98 | 11.67 (76.92%) | 📈 view plot 🚷 view threshold | 17.54(0.00%)Baseline: 17.54 | 22.80 (76.92%) | 📈 view plot 🚷 view threshold | 104.13(0.00%)Baseline: 104.13 | 135.37 (76.92%) | 📈 view plot 🚷 view threshold | 743.20(0.00%)Baseline: 743.20 | 520.24 (70.00%) |
| /client_side_hello_world_shared_store: Pro | 📈 view plot 🚷 view threshold | 0.00(0.00%)Baseline: 0.00 | 0.00 (0.00%) | 📈 view plot 🚷 view threshold | 19.09(0.00%)Baseline: 19.09 | 24.82 (76.92%) | 📈 view plot 🚷 view threshold | 29.62(0.00%)Baseline: 29.62 | 38.51 (76.92%) | 📈 view plot 🚷 view threshold | 144.77(0.00%)Baseline: 144.77 | 188.20 (76.92%) | 📈 view plot 🚷 view threshold | 416.28(0.00%)Baseline: 416.28 | 291.40 (70.00%) |
| /client_side_hello_world_shared_store_controller: Core | 📈 view plot 🚷 view threshold | 0.00(0.00%)Baseline: 0.00 | 0.00 (0.00%) | 📈 view plot 🚷 view threshold | 9.39(0.00%)Baseline: 9.39 | 12.21 (76.92%) | 📈 view plot 🚷 view threshold | 18.68(0.00%)Baseline: 18.68 | 24.28 (76.92%) | 📈 view plot 🚷 view threshold | 112.07(0.00%)Baseline: 112.07 | 145.69 (76.92%) | 📈 view plot 🚷 view threshold | 725.62(0.00%)Baseline: 725.62 | 507.93 (70.00%) |
| /client_side_hello_world_shared_store_controller: Pro | 📈 view plot 🚷 view threshold | 0.00(0.00%)Baseline: 0.00 | 0.00 (0.00%) | 📈 view plot 🚷 view threshold | 19.06(0.00%)Baseline: 19.06 | 24.78 (76.92%) | 📈 view plot 🚷 view threshold | 28.18(0.00%)Baseline: 28.18 | 36.63 (76.92%) | 📈 view plot 🚷 view threshold | 200.27(0.00%)Baseline: 200.27 | 260.35 (76.92%) | 📈 view plot 🚷 view threshold | 409.88(0.00%)Baseline: 409.88 | 286.92 (70.00%) |
| /client_side_hello_world_shared_store_defer: Core | 📈 view plot 🚷 view threshold | 0.00(0.00%)Baseline: 0.00 | 0.00 (0.00%) | 📈 view plot 🚷 view threshold | 9.11(0.00%)Baseline: 9.11 | 11.84 (76.92%) | 📈 view plot 🚷 view threshold | 17.34(0.00%)Baseline: 17.34 | 22.54 (76.92%) | 📈 view plot 🚷 view threshold | 99.70(0.00%)Baseline: 99.70 | 129.61 (76.92%) | 📈 view plot 🚷 view threshold | 747.04(0.00%)Baseline: 747.04 | 522.93 (70.00%) |
| /client_side_hello_world_shared_store_defer: Pro | 📈 view plot 🚷 view threshold | 0.00(0.00%)Baseline: 0.00 | 0.00 (0.00%) | 📈 view plot 🚷 view threshold | 18.56(0.00%)Baseline: 18.56 | 24.13 (76.92%) | 📈 view plot 🚷 view threshold | 27.62(0.00%)Baseline: 27.62 | 35.91 (76.92%) | 📈 view plot 🚷 view threshold | 203.04(0.00%)Baseline: 203.04 | 263.95 (76.92%) | 📈 view plot 🚷 view threshold | 420.44(0.00%)Baseline: 420.44 | 294.31 (70.00%) |
| /client_side_log_throw: Core | 📈 view plot 🚷 view threshold | 0.00(0.00%)Baseline: 0.00 | 0.00 (0.00%) | 📈 view plot 🚷 view threshold | 9.09(0.00%)Baseline: 9.09 | 11.82 (76.92%) | 📈 view plot 🚷 view threshold | 16.52(0.00%)Baseline: 16.52 | 21.48 (76.92%) | 📈 view plot 🚷 view threshold | 132.04(0.00%)Baseline: 132.04 | 171.65 (76.92%) | 📈 view plot 🚷 view threshold | 747.49(0.00%)Baseline: 747.49 | 523.24 (70.00%) |
| /client_side_log_throw: Pro | 📈 view plot 🚷 view threshold | 0.00(0.00%)Baseline: 0.00 | 0.00 (0.00%) | 📈 view plot 🚷 view threshold | 20.08(0.00%)Baseline: 20.08 | 26.10 (76.92%) | 📈 view plot 🚷 view threshold | 28.21(0.00%)Baseline: 28.21 | 36.67 (76.92%) | 📈 view plot 🚷 view threshold | 105.64(0.00%)Baseline: 105.64 | 137.33 (76.92%) | 📈 view plot 🚷 view threshold | 438.79(0.00%)Baseline: 438.79 | 307.15 (70.00%) |
| /client_side_manual_render: Core | 📈 view plot 🚷 view threshold | 0.00(0.00%)Baseline: 0.00 | 0.00 (0.00%) | 📈 view plot 🚷 view threshold | 7.75(0.00%)Baseline: 7.75 | 10.07 (76.92%) | 📈 view plot 🚷 view threshold | 12.71(0.00%)Baseline: 12.71 | 16.52 (76.92%) | 📈 view plot 🚷 view threshold | 127.88(0.00%)Baseline: 127.88 | 166.24 (76.92%) | 📈 view plot 🚷 view threshold | 798.44(0.00%)Baseline: 798.44 | 558.91 (70.00%) |
| /client_side_manual_render: Pro | 📈 view plot 🚷 view threshold | 0.00(0.00%)Baseline: 0.00 | 0.00 (0.00%) | 📈 view plot 🚷 view threshold | 17.95(0.00%)Baseline: 17.95 | 23.34 (76.92%) | 📈 view plot 🚷 view threshold | 28.21(0.00%)Baseline: 28.21 | 36.67 (76.92%) | 📈 view plot 🚷 view threshold | 155.29(0.00%)Baseline: 155.29 | 201.88 (76.92%) | 📈 view plot 🚷 view threshold | 438.31(0.00%)Baseline: 438.31 | 306.82 (70.00%) |
| /client_side_rescript_hello_world: Core | 📈 view plot 🚷 view threshold | 0.00(0.00%)Baseline: 0.00 | 0.00 (0.00%) | 📈 view plot 🚷 view threshold | 8.83(0.00%)Baseline: 8.83 | 11.48 (76.92%) | 📈 view plot 🚷 view threshold | 17.31(0.00%)Baseline: 17.31 | 22.50 (76.92%) | 📈 view plot 🚷 view threshold | 106.65(0.00%)Baseline: 106.65 | 138.65 (76.92%) | 📈 view plot 🚷 view threshold | 776.47(0.00%)Baseline: 776.47 | 543.53 (70.00%) |
| /console_logs_in_async_server: Pro | 📈 view plot 🚷 view threshold | 0.00(0.00%)Baseline: 0.00 | 0.00 (0.00%) | 📈 view plot 🚷 view threshold | 2,118.75(0.00%)Baseline: 2,118.75 | 2,754.38 (76.92%) | 📈 view plot 🚷 view threshold | 2,142.06(0.00%)Baseline: 2,142.06 | 2,784.68 (76.92%) | 📈 view plot 🚷 view threshold | 23,326.17(0.00%)Baseline: 23,326.17 | 30,324.02 (76.92%) | 📈 view plot 🚷 view threshold | 3.16(0.00%)Baseline: 3.16 | 2.21 (70.00%) |
| /context_function_return_jsx: Core | 📈 view plot 🚷 view threshold | 0.00(0.00%)Baseline: 0.00 | 0.00 (0.00%) | 📈 view plot 🚷 view threshold | 9.06(0.00%)Baseline: 9.06 | 11.78 (76.92%) | 📈 view plot 🚷 view threshold | 17.65(0.00%)Baseline: 17.65 | 22.94 (76.92%) | 📈 view plot 🚷 view threshold | 105.31(0.00%)Baseline: 105.31 | 136.90 (76.92%) | 📈 view plot 🚷 view threshold | 759.01(0.00%)Baseline: 759.01 | 531.31 (70.00%) |
| /context_function_return_jsx: Pro | 📈 view plot 🚷 view threshold | 100.00(0.00%)Baseline: 100.00 | 130.00 (76.92%) | 📈 view plot 🚷 view threshold | 14.19(0.00%)Baseline: 14.19 | 18.45 (76.92%) | 📈 view plot 🚷 view threshold | 19.03(0.00%)Baseline: 19.03 | 24.74 (76.92%) | 📈 view plot 🚷 view threshold | 345.78(0.00%)Baseline: 345.78 | 449.51 (76.92%) | 📈 view plot 🚷 view threshold | 351.94(0.00%)Baseline: 351.94 | 246.36 (70.00%) |
| /css_modules_images_fonts_example: Core | 📈 view plot 🚷 view threshold | 0.00(0.00%)Baseline: 0.00 | 0.00 (0.00%) | 📈 view plot 🚷 view threshold | 347.24(0.00%)Baseline: 347.24 | 451.41 (76.92%) | 📈 view plot 🚷 view threshold | 434.88(0.00%)Baseline: 434.88 | 565.34 (76.92%) | 📈 view plot 🚷 view threshold | 4,039.63(0.00%)Baseline: 4,039.63 | 5,251.52 (76.92%) | 📈 view plot 🚷 view threshold | 23.42(0.00%)Baseline: 23.42 | 16.39 (70.00%) |
| /css_modules_images_fonts_example: Pro | 📈 view plot 🚷 view threshold | 0.00(0.00%)Baseline: 0.00 | 0.00 (0.00%) | 📈 view plot 🚷 view threshold | 19.60(0.00%)Baseline: 19.60 | 25.48 (76.92%) | 📈 view plot 🚷 view threshold | 31.18(0.00%)Baseline: 31.18 | 40.53 (76.92%) | 📈 view plot 🚷 view threshold | 167.20(0.00%)Baseline: 167.20 | 217.36 (76.92%) | 📈 view plot 🚷 view threshold | 398.63(0.00%)Baseline: 398.63 | 279.04 (70.00%) |
| /empty: Pro | 📈 view plot 🚷 view threshold | 0.00(0.00%)Baseline: 0.00 | 0.00 (0.00%) | 📈 view plot 🚷 view threshold | 5.58(0.00%)Baseline: 5.58 | 7.25 (76.92%) | 📈 view plot 🚷 view threshold | 8.14(0.00%)Baseline: 8.14 | 10.58 (76.92%) | 📈 view plot 🚷 view threshold | 59.60(0.00%)Baseline: 59.60 | 77.48 (76.92%) | 📈 view plot 🚷 view threshold | 1,415.53(0.00%)Baseline: 1,415.53 | 990.87 (70.00%) |
| /image_example: Core | 📈 view plot 🚷 view threshold | 0.00(0.00%)Baseline: 0.00 | 0.00 (0.00%) | 📈 view plot 🚷 view threshold | 391.19(0.00%)Baseline: 391.19 | 508.55 (76.92%) | 📈 view plot 🚷 view threshold | 440.78(0.00%)Baseline: 440.78 | 573.01 (76.92%) | 📈 view plot 🚷 view threshold | 2,673.73(0.00%)Baseline: 2,673.73 | 3,475.85 (76.92%) | 📈 view plot 🚷 view threshold | 23.34(0.00%)Baseline: 23.34 | 16.34 (70.00%) |
| /image_example: Pro | 📈 view plot 🚷 view threshold | 0.00(0.00%)Baseline: 0.00 | 0.00 (0.00%) | 📈 view plot 🚷 view threshold | 19.81(0.00%)Baseline: 19.81 | 25.75 (76.92%) | 📈 view plot 🚷 view threshold | 29.70(0.00%)Baseline: 29.70 | 38.61 (76.92%) | 📈 view plot 🚷 view threshold | 216.29(0.00%)Baseline: 216.29 | 281.18 (76.92%) | 📈 view plot 🚷 view threshold | 392.32(0.00%)Baseline: 392.32 | 274.62 (70.00%) |
| /lazy_apollo_graphql: Pro | 📈 view plot 🚷 view threshold | 0.00(0.00%)Baseline: 0.00 | 0.00 (0.00%) | 📈 view plot 🚷 view threshold | 56.43(0.00%)Baseline: 56.43 | 73.36 (76.92%) | 📈 view plot 🚷 view threshold | 84.23(0.00%)Baseline: 84.23 | 109.50 (76.92%) | 📈 view plot 🚷 view threshold | 319.95(0.00%)Baseline: 319.95 | 415.94 (76.92%) | 📈 view plot 🚷 view threshold | 152.10(0.00%)Baseline: 152.10 | 106.47 (70.00%) |
| /loadable: Pro | 📈 view plot 🚷 view threshold | 0.00(0.00%)Baseline: 0.00 | 0.00 (0.00%) | 📈 view plot 🚷 view threshold | 17.50(0.00%)Baseline: 17.50 | 22.75 (76.92%) | 📈 view plot 🚷 view threshold | 29.70(0.00%)Baseline: 29.70 | 38.61 (76.92%) | 📈 view plot 🚷 view threshold | 293.98(0.00%)Baseline: 293.98 | 382.17 (76.92%) | 📈 view plot 🚷 view threshold | 352.65(0.00%)Baseline: 352.65 | 246.85 (70.00%) |
| /manual_render_test: Core | 📈 view plot 🚷 view threshold | 0.00(0.00%)Baseline: 0.00 | 0.00 (0.00%) | 📈 view plot 🚷 view threshold | 7.48(0.00%)Baseline: 7.48 | 9.72 (76.92%) | 📈 view plot 🚷 view threshold | 13.26(0.00%)Baseline: 13.26 | 17.24 (76.92%) | 📈 view plot 🚷 view threshold | 175.11(0.00%)Baseline: 175.11 | 227.64 (76.92%) | 📈 view plot 🚷 view threshold | 763.87(0.00%)Baseline: 763.87 | 534.71 (70.00%) |
| /posts_page: Pro | 📈 view plot 🚷 view threshold | 100.00(0.00%)Baseline: 100.00 | 130.00 (76.92%) | 📈 view plot 🚷 view threshold | 8.70(0.00%)Baseline: 8.70 | 11.31 (76.92%) | 📈 view plot 🚷 view threshold | 10.72(0.00%)Baseline: 10.72 | 13.94 (76.92%) | 📈 view plot 🚷 view threshold | 161.20(0.00%)Baseline: 161.20 | 209.56 (76.92%) | 📈 view plot 🚷 view threshold | 668.80(0.00%)Baseline: 668.80 | 468.16 (70.00%) |
| /pure_component: Core | 📈 view plot 🚷 view threshold | 0.00(0.00%)Baseline: 0.00 | 0.00 (0.00%) | 📈 view plot 🚷 view threshold | 344.19(0.00%)Baseline: 344.19 | 447.45 (76.92%) | 📈 view plot 🚷 view threshold | 428.47(0.00%)Baseline: 428.47 | 557.01 (76.92%) | 📈 view plot 🚷 view threshold | 4,195.25(0.00%)Baseline: 4,195.25 | 5,453.82 (76.92%) | 📈 view plot 🚷 view threshold | 23.69(0.00%)Baseline: 23.69 | 16.58 (70.00%) |
| /pure_component: Pro | 📈 view plot 🚷 view threshold | 0.00(0.00%)Baseline: 0.00 | 0.00 (0.00%) | 📈 view plot 🚷 view threshold | 18.88(0.00%)Baseline: 18.88 | 24.54 (76.92%) | 📈 view plot 🚷 view threshold | 28.45(0.00%)Baseline: 28.45 | 36.98 (76.92%) | 📈 view plot 🚷 view threshold | 255.25(0.00%)Baseline: 255.25 | 331.82 (76.92%) | 📈 view plot 🚷 view threshold | 409.02(0.00%)Baseline: 409.02 | 286.31 (70.00%) |
| /pure_component_wrapped_in_function: Core | 📈 view plot 🚷 view threshold | 0.00(0.00%)Baseline: 0.00 | 0.00 (0.00%) | 📈 view plot 🚷 view threshold | 8.87(0.00%)Baseline: 8.87 | 11.53 (76.92%) | 📈 view plot 🚷 view threshold | 16.72(0.00%)Baseline: 16.72 | 21.74 (76.92%) | 📈 view plot 🚷 view threshold | 94.61(0.00%)Baseline: 94.61 | 122.99 (76.92%) | 📈 view plot 🚷 view threshold | 778.84(0.00%)Baseline: 778.84 | 545.19 (70.00%) |
| /pure_component_wrapped_in_function: Pro | 📈 view plot 🚷 view threshold | 100.00(0.00%)Baseline: 100.00 | 130.00 (76.92%) | 📈 view plot 🚷 view threshold | 17.09(0.00%)Baseline: 17.09 | 22.22 (76.92%) | 📈 view plot 🚷 view threshold | 26.21(0.00%)Baseline: 26.21 | 34.07 (76.92%) | 📈 view plot 🚷 view threshold | 183.66(0.00%)Baseline: 183.66 | 238.76 (76.92%) | 📈 view plot 🚷 view threshold | 450.35(0.00%)Baseline: 450.35 | 315.25 (70.00%) |
| /react_helmet: Core | 📈 view plot 🚷 view threshold | 0.00(0.00%)Baseline: 0.00 | 0.00 (0.00%) | 📈 view plot 🚷 view threshold | 354.17(0.00%)Baseline: 354.17 | 460.42 (76.92%) | 📈 view plot 🚷 view threshold | 439.41(0.00%)Baseline: 439.41 | 571.23 (76.92%) | 📈 view plot 🚷 view threshold | 4,218.07(0.00%)Baseline: 4,218.07 | 5,483.49 (76.92%) | 📈 view plot 🚷 view threshold | 23.04(0.00%)Baseline: 23.04 | 16.13 (70.00%) |
| /react_helmet: Pro | 📈 view plot 🚷 view threshold | 0.00(0.00%)Baseline: 0.00 | 0.00 (0.00%) | 📈 view plot 🚷 view threshold | 20.63(0.00%)Baseline: 20.63 | 26.82 (76.92%) | 📈 view plot 🚷 view threshold | 31.15(0.00%)Baseline: 31.15 | 40.49 (76.92%) | 📈 view plot 🚷 view threshold | 276.65(0.00%)Baseline: 276.65 | 359.64 (76.92%) | 📈 view plot 🚷 view threshold | 373.44(0.00%)Baseline: 373.44 | 261.41 (70.00%) |
| /react_helmet_broken: Core | 📈 view plot 🚷 view threshold | 0.00(0.00%)Baseline: 0.00 | 0.00 (0.00%) | 📈 view plot 🚷 view threshold | 357.74(0.00%)Baseline: 357.74 | 465.06 (76.92%) | 📈 view plot 🚷 view threshold | 448.22(0.00%)Baseline: 448.22 | 582.69 (76.92%) | 📈 view plot 🚷 view threshold | 4,061.65(0.00%)Baseline: 4,061.65 | 5,280.15 (76.92%) | 📈 view plot 🚷 view threshold | 22.89(0.00%)Baseline: 22.89 | 16.02 (70.00%) |
| /react_helmet_broken: Pro | 📈 view plot 🚷 view threshold | 100.00(0.00%)Baseline: 100.00 | 130.00 (76.92%) | 📈 view plot 🚷 view threshold | 19.05(0.00%)Baseline: 19.05 | 24.77 (76.92%) | 📈 view plot 🚷 view threshold | 29.95(0.00%)Baseline: 29.95 | 38.94 (76.92%) | 📈 view plot 🚷 view threshold | 221.33(0.00%)Baseline: 221.33 | 287.73 (76.92%) | 📈 view plot 🚷 view threshold | 411.74(0.00%)Baseline: 411.74 | 288.22 (70.00%) |
| /react_router: Core | 📈 view plot 🚷 view threshold | 0.00(0.00%)Baseline: 0.00 | 0.00 (0.00%) | 📈 view plot 🚷 view threshold | 151.58(0.00%)Baseline: 151.58 | 197.05 (76.92%) | 📈 view plot 🚷 view threshold | 440.88(0.00%)Baseline: 440.88 | 573.14 (76.92%) | 📈 view plot 🚷 view threshold | 8,068.48(0.00%)Baseline: 8,068.48 | 10,489.02 (76.92%) | 📈 view plot 🚷 view threshold | 22.30(0.00%)Baseline: 22.30 | 15.61 (70.00%) |
| /react_router: Pro | 📈 view plot 🚷 view threshold | 0.00(0.00%)Baseline: 0.00 | 0.00 (0.00%) | 📈 view plot 🚷 view threshold | 20.93(0.00%)Baseline: 20.93 | 27.21 (76.92%) | 📈 view plot 🚷 view threshold | 30.84(0.00%)Baseline: 30.84 | 40.09 (76.92%) | 📈 view plot 🚷 view threshold | 110.73(0.00%)Baseline: 110.73 | 143.95 (76.92%) | 📈 view plot 🚷 view threshold | 428.89(0.00%)Baseline: 428.89 | 300.22 (70.00%) |
| /redis_receiver: Pro | 📈 view plot 🚷 view threshold | 0.00(0.00%)Baseline: 0.00 | 0.00 (0.00%) | 📈 view plot 🚷 view threshold | 73.22(0.00%)Baseline: 73.22 | 95.19 (76.92%) | 📈 view plot 🚷 view threshold | 121.50(0.00%)Baseline: 121.50 | 157.95 (76.92%) | 📈 view plot 🚷 view threshold | 710.89(0.00%)Baseline: 710.89 | 924.16 (76.92%) | 📈 view plot 🚷 view threshold | 101.96(0.00%)Baseline: 101.96 | 71.37 (70.00%) |
| /render_js: Core | 📈 view plot 🚷 view threshold | 0.00(0.00%)Baseline: 0.00 | 0.00 (0.00%) | 📈 view plot 🚷 view threshold | 368.43(0.00%)Baseline: 368.43 | 478.96 (76.92%) | 📈 view plot 🚷 view threshold | 411.97(0.00%)Baseline: 411.97 | 535.56 (76.92%) | 📈 view plot 🚷 view threshold | 1,974.28(0.00%)Baseline: 1,974.28 | 2,566.56 (76.92%) | 📈 view plot 🚷 view threshold | 24.93(0.00%)Baseline: 24.93 | 17.45 (70.00%) |
| /render_js: Pro | 📈 view plot 🚷 view threshold | 0.00(0.00%)Baseline: 0.00 | 0.00 (0.00%) | 📈 view plot 🚷 view threshold | 18.19(0.00%)Baseline: 18.19 | 23.65 (76.92%) | 📈 view plot 🚷 view threshold | 28.14(0.00%)Baseline: 28.14 | 36.58 (76.92%) | 📈 view plot 🚷 view threshold | 188.43(0.00%)Baseline: 188.43 | 244.96 (76.92%) | 📈 view plot 🚷 view threshold | 421.62(0.00%)Baseline: 421.62 | 295.13 (70.00%) |
| /rendered_html: Core | 📈 view plot 🚷 view threshold | 0.00(0.00%)Baseline: 0.00 | 0.00 (0.00%) | 📈 view plot 🚷 view threshold | 341.43(0.00%)Baseline: 341.43 | 443.86 (76.92%) | 📈 view plot 🚷 view threshold | 425.02(0.00%)Baseline: 425.02 | 552.53 (76.92%) | 📈 view plot 🚷 view threshold | 4,053.83(0.00%)Baseline: 4,053.83 | 5,269.98 (76.92%) | 📈 view plot 🚷 view threshold | 23.82(0.00%)Baseline: 23.82 | 16.67 (70.00%) |
| /rendered_html: Pro | 📈 view plot 🚷 view threshold | 0.00(0.00%)Baseline: 0.00 | 0.00 (0.00%) | 📈 view plot 🚷 view threshold | 19.21(0.00%)Baseline: 19.21 | 24.97 (76.92%) | 📈 view plot 🚷 view threshold | 30.84(0.00%)Baseline: 30.84 | 40.09 (76.92%) | 📈 view plot 🚷 view threshold | 171.71(0.00%)Baseline: 171.71 | 223.22 (76.92%) | 📈 view plot 🚷 view threshold | 403.77(0.00%)Baseline: 403.77 | 282.64 (70.00%) |
|
| Branch | jg/add-master-worker-exports |
| Testbed | github-actions |
Click to view all benchmark results
| Benchmark | failed_pct | Benchmark Result % (Result Δ%) | Upper Boundary % (Limit %) | p50_latency | Benchmark Result ms (Result Δ%) | Upper Boundary ms (Limit %) | p90_latency | Benchmark Result ms (Result Δ%) | Upper Boundary ms (Limit %) | p99_latency | Benchmark Result ms (Result Δ%) | Upper Boundary ms (Limit %) | rps | Benchmark Result req/s (Result Δ%) | Lower Boundary req/s (Limit %) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| /rsc_posts_page_over_http: Pro | 📈 view plot 🚷 view threshold | 0.00(0.00%)Baseline: 0.00 | 0.00 (0.00%) | 📈 view plot 🚷 view threshold | 19.65(0.00%)Baseline: 19.65 | 25.55 (76.92%) | 📈 view plot 🚷 view threshold | 23.48(0.00%)Baseline: 23.48 | 30.52 (76.92%) | 📈 view plot 🚷 view threshold | 386.26(0.00%)Baseline: 386.26 | 502.14 (76.92%) | 📈 view plot 🚷 view threshold | 295.42(0.00%)Baseline: 295.42 | 206.79 (70.00%) |
| /rsc_posts_page_over_redis: Pro | 📈 view plot 🚷 view threshold | 0.00(0.00%)Baseline: 0.00 | 0.00 (0.00%) | 📈 view plot 🚷 view threshold | 64.44(0.00%)Baseline: 64.44 | 83.77 (76.92%) | 📈 view plot 🚷 view threshold | 108.45(0.00%)Baseline: 108.45 | 140.99 (76.92%) | 📈 view plot 🚷 view threshold | 696.74(0.00%)Baseline: 696.74 | 905.76 (76.92%) | 📈 view plot 🚷 view threshold | 107.67(0.00%)Baseline: 107.67 | 75.37 (70.00%) |
| /server_render_with_timeout: Pro | 📈 view plot 🚷 view threshold | 0.00(0.00%)Baseline: 0.00 | 0.00 (0.00%) | 📈 view plot 🚷 view threshold | 19.67(0.00%)Baseline: 19.67 | 25.57 (76.92%) | 📈 view plot 🚷 view threshold | 25.63(0.00%)Baseline: 25.63 | 33.32 (76.92%) | 📈 view plot 🚷 view threshold | 225.15(0.00%)Baseline: 225.15 | 292.69 (76.92%) | 📈 view plot 🚷 view threshold | 298.61(0.00%)Baseline: 298.61 | 209.03 (70.00%) |
| /server_router: Pro | 📈 view plot 🚷 view threshold | 0.00(0.00%)Baseline: 0.00 | 0.00 (0.00%) | 📈 view plot 🚷 view threshold | 19.96(0.00%)Baseline: 19.96 | 25.95 (76.92%) | 📈 view plot 🚷 view threshold | 38.65(0.00%)Baseline: 38.65 | 50.24 (76.92%) | 📈 view plot 🚷 view threshold | 225.81(0.00%)Baseline: 225.81 | 293.55 (76.92%) | 📈 view plot 🚷 view threshold | 294.19(0.00%)Baseline: 294.19 | 205.93 (70.00%) |
| /server_router_client_render: Pro | 📈 view plot 🚷 view threshold | 0.00(0.00%)Baseline: 0.00 | 0.00 (0.00%) | 📈 view plot 🚷 view threshold | 14.88(0.00%)Baseline: 14.88 | 19.34 (76.92%) | 📈 view plot 🚷 view threshold | 20.95(0.00%)Baseline: 20.95 | 27.23 (76.92%) | 📈 view plot 🚷 view threshold | 387.44(0.00%)Baseline: 387.44 | 503.67 (76.92%) | 📈 view plot 🚷 view threshold | 323.07(0.00%)Baseline: 323.07 | 226.15 (70.00%) |
| /server_side_hello_world: Core | 📈 view plot 🚷 view threshold | 0.00(0.00%)Baseline: 0.00 | 0.00 (0.00%) | 📈 view plot 🚷 view threshold | 392.65(0.00%)Baseline: 392.65 | 510.44 (76.92%) | 📈 view plot 🚷 view threshold | 443.03(0.00%)Baseline: 443.03 | 575.94 (76.92%) | 📈 view plot 🚷 view threshold | 3,436.90(0.00%)Baseline: 3,436.90 | 4,467.97 (76.92%) | 📈 view plot 🚷 view threshold | 23.13(0.00%)Baseline: 23.13 | 16.19 (70.00%) |
| /server_side_hello_world: Pro | 📈 view plot 🚷 view threshold | 0.00(0.00%)Baseline: 0.00 | 0.00 (0.00%) | 📈 view plot 🚷 view threshold | 22.56(0.00%)Baseline: 22.56 | 29.33 (76.92%) | 📈 view plot 🚷 view threshold | 31.00(0.00%)Baseline: 31.00 | 40.30 (76.92%) | 📈 view plot 🚷 view threshold | 124.74(0.00%)Baseline: 124.74 | 162.16 (76.92%) | 📈 view plot 🚷 view threshold | 392.71(0.00%)Baseline: 392.71 | 274.90 (70.00%) |
| /server_side_hello_world_es5: Core | 📈 view plot 🚷 view threshold | 0.00(0.00%)Baseline: 0.00 | 0.00 (0.00%) | 📈 view plot 🚷 view threshold | 338.82(0.00%)Baseline: 338.82 | 440.47 (76.92%) | 📈 view plot 🚷 view threshold | 402.19(0.00%)Baseline: 402.19 | 522.85 (76.92%) | 📈 view plot 🚷 view threshold | 6,805.05(0.00%)Baseline: 6,805.05 | 8,846.57 (76.92%) | 📈 view plot 🚷 view threshold | 17.45(0.00%)Baseline: 17.45 | 12.21 (70.00%) |
| /server_side_hello_world_es5: Pro | 📈 view plot 🚷 view threshold | 0.00(0.00%)Baseline: 0.00 | 0.00 (0.00%) | 📈 view plot 🚷 view threshold | 22.66(0.00%)Baseline: 22.66 | 29.46 (76.92%) | 📈 view plot 🚷 view threshold | 31.22(0.00%)Baseline: 31.22 | 40.59 (76.92%) | 📈 view plot 🚷 view threshold | 123.70(0.00%)Baseline: 123.70 | 160.81 (76.92%) | 📈 view plot 🚷 view threshold | 390.60(0.00%)Baseline: 390.60 | 273.42 (70.00%) |
| /server_side_hello_world_hooks: Core | 📈 view plot 🚷 view threshold | 0.00(0.00%)Baseline: 0.00 | 0.00 (0.00%) | 📈 view plot 🚷 view threshold | 394.68(0.00%)Baseline: 394.68 | 513.08 (76.92%) | 📈 view plot 🚷 view threshold | 442.88(0.00%)Baseline: 442.88 | 575.74 (76.92%) | 📈 view plot 🚷 view threshold | 2,743.78(0.00%)Baseline: 2,743.78 | 3,566.91 (76.92%) | 📈 view plot 🚷 view threshold | 23.10(0.00%)Baseline: 23.10 | 16.17 (70.00%) |
| /server_side_hello_world_hooks: Pro | 📈 view plot 🚷 view threshold | 0.00(0.00%)Baseline: 0.00 | 0.00 (0.00%) | 📈 view plot 🚷 view threshold | 18.92(0.00%)Baseline: 18.92 | 24.60 (76.92%) | 📈 view plot 🚷 view threshold | 28.97(0.00%)Baseline: 28.97 | 37.66 (76.92%) | 📈 view plot 🚷 view threshold | 208.19(0.00%)Baseline: 208.19 | 270.65 (76.92%) | 📈 view plot 🚷 view threshold | 404.75(0.00%)Baseline: 404.75 | 283.32 (70.00%) |
| /server_side_hello_world_props: Core | 📈 view plot 🚷 view threshold | 0.00(0.00%)Baseline: 0.00 | 0.00 (0.00%) | 📈 view plot 🚷 view threshold | 351.35(0.00%)Baseline: 351.35 | 456.75 (76.92%) | 📈 view plot 🚷 view threshold | 435.41(0.00%)Baseline: 435.41 | 566.03 (76.92%) | 📈 view plot 🚷 view threshold | 4,105.20(0.00%)Baseline: 4,105.20 | 5,336.76 (76.92%) | 📈 view plot 🚷 view threshold | 23.25(0.00%)Baseline: 23.25 | 16.27 (70.00%) |
| /server_side_hello_world_shared_store: Core | 📈 view plot 🚷 view threshold | 0.00(0.00%)Baseline: 0.00 | 0.00 (0.00%) | 📈 view plot 🚷 view threshold | 715.85(0.00%)Baseline: 715.85 | 930.61 (76.92%) | 📈 view plot 🚷 view threshold | 991.10(0.00%)Baseline: 991.10 | 1,288.43 (76.92%) | 📈 view plot 🚷 view threshold | 7,292.90(0.00%)Baseline: 7,292.90 | 9,480.77 (76.92%) | 📈 view plot 🚷 view threshold | 11.45(0.00%)Baseline: 11.45 | 8.02 (70.00%) |
| /server_side_hello_world_shared_store: Pro | 📈 view plot 🚷 view threshold | 0.00(0.00%)Baseline: 0.00 | 0.00 (0.00%) | 📈 view plot 🚷 view threshold | 21.28(0.00%)Baseline: 21.28 | 27.66 (76.92%) | 📈 view plot 🚷 view threshold | 33.05(0.00%)Baseline: 33.05 | 42.97 (76.92%) | 📈 view plot 🚷 view threshold | 172.56(0.00%)Baseline: 172.56 | 224.33 (76.92%) | 📈 view plot 🚷 view threshold | 374.41(0.00%)Baseline: 374.41 | 262.09 (70.00%) |
| /server_side_hello_world_shared_store_controller: Core | 📈 view plot 🚷 view threshold | 0.00(0.00%)Baseline: 0.00 | 0.00 (0.00%) | 📈 view plot 🚷 view threshold | 808.04(0.00%)Baseline: 808.04 | 1,050.45 (76.92%) | 📈 view plot 🚷 view threshold | 1,000.42(0.00%)Baseline: 1,000.42 | 1,300.55 (76.92%) | 📈 view plot 🚷 view threshold | 4,119.13(0.00%)Baseline: 4,119.13 | 5,354.87 (76.92%) | 📈 view plot 🚷 view threshold | 11.29(0.00%)Baseline: 11.29 | 7.90 (70.00%) |
| /server_side_hello_world_shared_store_controller: Pro | 📈 view plot 🚷 view threshold | 0.00(0.00%)Baseline: 0.00 | 0.00 (0.00%) | 📈 view plot 🚷 view threshold | 22.20(0.00%)Baseline: 22.20 | 28.86 (76.92%) | 📈 view plot 🚷 view threshold | 32.59(0.00%)Baseline: 32.59 | 42.37 (76.92%) | 📈 view plot 🚷 view threshold | 234.32(0.00%)Baseline: 234.32 | 304.62 (76.92%) | 📈 view plot 🚷 view threshold | 356.10(0.00%)Baseline: 356.10 | 249.27 (70.00%) |
| /server_side_hello_world_shared_store_defer: Core | 📈 view plot 🚷 view threshold | 0.00(0.00%)Baseline: 0.00 | 0.00 (0.00%) | 📈 view plot 🚷 view threshold | 728.55(0.00%)Baseline: 728.55 | 947.12 (76.92%) | 📈 view plot 🚷 view threshold | 960.89(0.00%)Baseline: 960.89 | 1,249.16 (76.92%) | 📈 view plot 🚷 view threshold | 8,385.54(0.00%)Baseline: 8,385.54 | 10,901.20 (76.92%) | 📈 view plot 🚷 view threshold | 11.18(0.00%)Baseline: 11.18 | 7.83 (70.00%) |
| /server_side_hello_world_shared_store_defer: Pro | 📈 view plot 🚷 view threshold | 0.00(0.00%)Baseline: 0.00 | 0.00 (0.00%) | 📈 view plot 🚷 view threshold | 23.21(0.00%)Baseline: 23.21 | 30.17 (76.92%) | 📈 view plot 🚷 view threshold | 35.71(0.00%)Baseline: 35.71 | 46.42 (76.92%) | 📈 view plot 🚷 view threshold | 202.66(0.00%)Baseline: 202.66 | 263.46 (76.92%) | 📈 view plot 🚷 view threshold | 344.03(0.00%)Baseline: 344.03 | 240.82 (70.00%) |
| /server_side_hello_world_with_options: Core | 📈 view plot 🚷 view threshold | 0.00(0.00%)Baseline: 0.00 | 0.00 (0.00%) | 📈 view plot 🚷 view threshold | 383.63(0.00%)Baseline: 383.63 | 498.72 (76.92%) | 📈 view plot 🚷 view threshold | 434.18(0.00%)Baseline: 434.18 | 564.43 (76.92%) | 📈 view plot 🚷 view threshold | 2,505.18(0.00%)Baseline: 2,505.18 | 3,256.73 (76.92%) | 📈 view plot 🚷 view threshold | 23.70(0.00%)Baseline: 23.70 | 16.59 (70.00%) |
| /server_side_hello_world_with_options: Pro | 📈 view plot 🚷 view threshold | 0.00(0.00%)Baseline: 0.00 | 0.00 (0.00%) | 📈 view plot 🚷 view threshold | 19.71(0.00%)Baseline: 19.71 | 25.62 (76.92%) | 📈 view plot 🚷 view threshold | 30.76(0.00%)Baseline: 30.76 | 39.99 (76.92%) | 📈 view plot 🚷 view threshold | 215.08(0.00%)Baseline: 215.08 | 279.60 (76.92%) | 📈 view plot 🚷 view threshold | 385.35(0.00%)Baseline: 385.35 | 269.75 (70.00%) |
| /server_side_log_throw: Core | 📈 view plot 🚷 view threshold | 0.00(0.00%)Baseline: 0.00 | 0.00 (0.00%) | 📈 view plot 🚷 view threshold | 356.72(0.00%)Baseline: 356.72 | 463.74 (76.92%) | 📈 view plot 🚷 view threshold | 449.00(0.00%)Baseline: 449.00 | 583.70 (76.92%) | 📈 view plot 🚷 view threshold | 4,002.03(0.00%)Baseline: 4,002.03 | 5,202.64 (76.92%) | 📈 view plot 🚷 view threshold | 22.80(0.00%)Baseline: 22.80 | 15.96 (70.00%) |
| /server_side_log_throw: Pro | 📈 view plot 🚷 view threshold | 0.00(0.00%)Baseline: 0.00 | 0.00 (0.00%) | 📈 view plot 🚷 view threshold | 19.34(0.00%)Baseline: 19.34 | 25.14 (76.92%) | 📈 view plot 🚷 view threshold | 28.98(0.00%)Baseline: 28.98 | 37.67 (76.92%) | 📈 view plot 🚷 view threshold | 200.20(0.00%)Baseline: 200.20 | 260.26 (76.92%) | 📈 view plot 🚷 view threshold | 400.89(0.00%)Baseline: 400.89 | 280.62 (70.00%) |
| /server_side_log_throw_plain_js: Core | 📈 view plot 🚷 view threshold | 0.00(0.00%)Baseline: 0.00 | 0.00 (0.00%) | 📈 view plot 🚷 view threshold | 352.75(0.00%)Baseline: 352.75 | 458.57 (76.92%) | 📈 view plot 🚷 view threshold | 440.99(0.00%)Baseline: 440.99 | 573.29 (76.92%) | 📈 view plot 🚷 view threshold | 3,891.75(0.00%)Baseline: 3,891.75 | 5,059.27 (76.92%) | 📈 view plot 🚷 view threshold | 23.08(0.00%)Baseline: 23.08 | 16.16 (70.00%) |
| /server_side_log_throw_plain_js: Pro | 📈 view plot 🚷 view threshold | 0.00(0.00%)Baseline: 0.00 | 0.00 (0.00%) | 📈 view plot 🚷 view threshold | 20.96(0.00%)Baseline: 20.96 | 27.25 (76.92%) | 📈 view plot 🚷 view threshold | 28.64(0.00%)Baseline: 28.64 | 37.23 (76.92%) | 📈 view plot 🚷 view threshold | 114.96(0.00%)Baseline: 114.96 | 149.45 (76.92%) | 📈 view plot 🚷 view threshold | 421.04(0.00%)Baseline: 421.04 | 294.73 (70.00%) |
| /server_side_log_throw_raise: Core | 📈 view plot 🚷 view threshold | 0.00(0.00%)Baseline: 0.00 | 0.00 (0.00%) | 📈 view plot 🚷 view threshold | 351.47(0.00%)Baseline: 351.47 | 456.91 (76.92%) | 📈 view plot 🚷 view threshold | 437.93(0.00%)Baseline: 437.93 | 569.31 (76.92%) | 📈 view plot 🚷 view threshold | 4,017.83(0.00%)Baseline: 4,017.83 | 5,223.18 (76.92%) | 📈 view plot 🚷 view threshold | 23.20(0.00%)Baseline: 23.20 | 16.24 (70.00%) |
| /server_side_log_throw_raise: Pro | 📈 view plot 🚷 view threshold | 0.00(0.00%)Baseline: 0.00 | 0.00 (0.00%) | 📈 view plot 🚷 view threshold | 12.22(0.00%)Baseline: 12.22 | 15.89 (76.92%) | 📈 view plot 🚷 view threshold | 16.64(0.00%)Baseline: 16.64 | 21.63 (76.92%) | 📈 view plot 🚷 view threshold | 74.04(0.00%)Baseline: 74.04 | 96.25 (76.92%) | 📈 view plot 🚷 view threshold | 712.03(0.00%)Baseline: 712.03 | 498.42 (70.00%) |
| /server_side_log_throw_raise_invoker: Core | 📈 view plot 🚷 view threshold | 0.00(0.00%)Baseline: 0.00 | 0.00 (0.00%) | 📈 view plot 🚷 view threshold | 8.35(0.00%)Baseline: 8.35 | 10.86 (76.92%) | 📈 view plot 🚷 view threshold | 15.62(0.00%)Baseline: 15.62 | 20.31 (76.92%) | 📈 view plot 🚷 view threshold | 98.55(0.00%)Baseline: 98.55 | 128.12 (76.92%) | 📈 view plot 🚷 view threshold | 842.28(0.00%)Baseline: 842.28 | 589.60 (70.00%) |
| /server_side_log_throw_raise_invoker: Pro | 📈 view plot 🚷 view threshold | 0.00(0.00%)Baseline: 0.00 | 0.00 (0.00%) | 📈 view plot 🚷 view threshold | 13.34(0.00%)Baseline: 13.34 | 17.34 (76.92%) | 📈 view plot 🚷 view threshold | 22.10(0.00%)Baseline: 22.10 | 28.73 (76.92%) | 📈 view plot 🚷 view threshold | 217.23(0.00%)Baseline: 217.23 | 282.40 (76.92%) | 📈 view plot 🚷 view threshold | 468.79(0.00%)Baseline: 468.79 | 328.15 (70.00%) |
| /server_side_redux_app: Core | 📈 view plot 🚷 view threshold | 0.00(0.00%)Baseline: 0.00 | 0.00 (0.00%) | 📈 view plot 🚷 view threshold | 364.44(0.00%)Baseline: 364.44 | 473.77 (76.92%) | 📈 view plot 🚷 view threshold | 452.28(0.00%)Baseline: 452.28 | 587.96 (76.92%) | 📈 view plot 🚷 view threshold | 3,880.77(0.00%)Baseline: 3,880.77 | 5,045.00 (76.92%) | 📈 view plot 🚷 view threshold | 22.61(0.00%)Baseline: 22.61 | 15.83 (70.00%) |
| /server_side_redux_app: Pro | 📈 view plot 🚷 view threshold | 0.00(0.00%)Baseline: 0.00 | 0.00 (0.00%) | 📈 view plot 🚷 view threshold | 20.29(0.00%)Baseline: 20.29 | 26.38 (76.92%) | 📈 view plot 🚷 view threshold | 30.00(0.00%)Baseline: 30.00 | 39.00 (76.92%) | 📈 view plot 🚷 view threshold | 215.63(0.00%)Baseline: 215.63 | 280.32 (76.92%) | 📈 view plot 🚷 view threshold | 384.74(0.00%)Baseline: 384.74 | 269.32 (70.00%) |
| /server_side_redux_app_cached: Core | 📈 view plot 🚷 view threshold | 0.00(0.00%)Baseline: 0.00 | 0.00 (0.00%) | 📈 view plot 🚷 view threshold | 9.64(0.00%)Baseline: 9.64 | 12.53 (76.92%) | 📈 view plot 🚷 view threshold | 17.69(0.00%)Baseline: 17.69 | 23.00 (76.92%) | 📈 view plot 🚷 view threshold | 77.03(0.00%)Baseline: 77.03 | 100.14 (76.92%) | 📈 view plot 🚷 view threshold | 759.72(0.00%)Baseline: 759.72 | 531.80 (70.00%) |
| /server_side_redux_app_cached: Pro | 📈 view plot 🚷 view threshold | 0.00(0.00%)Baseline: 0.00 | 0.00 (0.00%) | 📈 view plot 🚷 view threshold | 18.48(0.00%)Baseline: 18.48 | 24.02 (76.92%) | 📈 view plot 🚷 view threshold | 27.62(0.00%)Baseline: 27.62 | 35.91 (76.92%) | 📈 view plot 🚷 view threshold | 188.77(0.00%)Baseline: 188.77 | 245.40 (76.92%) | 📈 view plot 🚷 view threshold | 421.56(0.00%)Baseline: 421.56 | 295.09 (70.00%) |
| /stream_async_components: Pro | 📈 view plot 🚷 view threshold | 0.00(0.00%)Baseline: 0.00 | 0.00 (0.00%) | 📈 view plot 🚷 view threshold | 22.39(0.00%)Baseline: 22.39 | 29.11 (76.92%) | 📈 view plot 🚷 view threshold | 32.08(0.00%)Baseline: 32.08 | 41.70 (76.92%) | 📈 view plot 🚷 view threshold | 118.92(0.00%)Baseline: 118.92 | 154.60 (76.92%) | 📈 view plot 🚷 view threshold | 394.88(0.00%)Baseline: 394.88 | 276.42 (70.00%) |
| /turbo_frame_tag_hello_world: Core | 📈 view plot 🚷 view threshold | 0.00(0.00%)Baseline: 0.00 | 0.00 (0.00%) | 📈 view plot 🚷 view threshold | 8.25(0.00%)Baseline: 8.25 | 10.72 (76.92%) | 📈 view plot 🚷 view threshold | 15.46(0.00%)Baseline: 15.46 | 20.10 (76.92%) | 📈 view plot 🚷 view threshold | 98.14(0.00%)Baseline: 98.14 | 127.58 (76.92%) | 📈 view plot 🚷 view threshold | 823.78(0.00%)Baseline: 823.78 | 576.65 (70.00%) |
| /turbolinks_cache_disabled: Core | 📈 view plot 🚷 view threshold | 0.00(0.00%)Baseline: 0.00 | 0.00 (0.00%) | 📈 view plot 🚷 view threshold | 10.89(0.00%)Baseline: 10.89 | 14.16 (76.92%) | 📈 view plot 🚷 view threshold | 13.61(0.00%)Baseline: 13.61 | 17.69 (76.92%) | 📈 view plot 🚷 view threshold | 122.85(0.00%)Baseline: 122.85 | 159.70 (76.92%) | 📈 view plot 🚷 view threshold | 541.37(0.00%)Baseline: 541.37 | 378.96 (70.00%) |
| /turbolinks_cache_disabled: Pro | 📈 view plot 🚷 view threshold | 0.00(0.00%)Baseline: 0.00 | 0.00 (0.00%) | 📈 view plot 🚷 view threshold | 18.06(0.00%)Baseline: 18.06 | 23.48 (76.92%) | 📈 view plot 🚷 view threshold | 29.00(0.00%)Baseline: 29.00 | 37.70 (76.92%) | 📈 view plot 🚷 view threshold | 143.55(0.00%)Baseline: 143.55 | 186.62 (76.92%) | 📈 view plot 🚷 view threshold | 431.92(0.00%)Baseline: 431.92 | 302.34 (70.00%) |
| /xhr_refresh: Core | 📈 view plot 🚷 view threshold | 0.00(0.00%)Baseline: 0.00 | 0.00 (0.00%) | 📈 view plot 🚷 view threshold | 669.87(0.00%)Baseline: 669.87 | 870.83 (76.92%) | 📈 view plot 🚷 view threshold | 934.20(0.00%)Baseline: 934.20 | 1,214.46 (76.92%) | 📈 view plot 🚷 view threshold | 7,779.73(0.00%)Baseline: 7,779.73 | 10,113.65 (76.92%) | 📈 view plot 🚷 view threshold | 12.00(0.00%)Baseline: 12.00 | 8.40 (70.00%) |
| /xhr_refresh: Pro | 📈 view plot 🚷 view threshold | 0.00(0.00%)Baseline: 0.00 | 0.00 (0.00%) | 📈 view plot 🚷 view threshold | 23.06(0.00%)Baseline: 23.06 | 29.98 (76.92%) | 📈 view plot 🚷 view threshold | 35.04(0.00%)Baseline: 35.04 | 45.55 (76.92%) | 📈 view plot 🚷 view threshold | 190.08(0.00%)Baseline: 190.08 | 247.10 (76.92%) | 📈 view plot 🚷 view threshold | 345.07(0.00%)Baseline: 345.07 | 241.55 (70.00%) |
| Pro Node Renderer: react_ssr (non-RSC) | 📈 view plot 🚷 view threshold | 0.00(0.00%)Baseline: 0.00 | 0.00 (0.00%) | 📈 view plot 🚷 view threshold | 5.04(0.00%)Baseline: 5.04 | 6.55 (76.92%) | 📈 view plot 🚷 view threshold | 16.40(0.00%)Baseline: 16.40 | 21.32 (76.92%) | 📈 view plot 🚷 view threshold | 22.49(0.00%)Baseline: 22.49 | 29.24 (76.92%) | 📈 view plot 🚷 view threshold | 1,257.63(0.00%)Baseline: 1,257.63 | 880.34 (70.00%) |
| Pro Node Renderer: simple_eval (non-RSC) | 📈 view plot 🚷 view threshold | 0.00(0.00%)Baseline: 0.00 | 0.00 (0.00%) | 📈 view plot 🚷 view threshold | 4.63(0.00%)Baseline: 4.63 | 6.02 (76.92%) | 📈 view plot 🚷 view threshold | 16.63(0.00%)Baseline: 16.63 | 21.62 (76.92%) | 📈 view plot 🚷 view threshold | 25.47(0.00%)Baseline: 25.47 | 33.11 (76.92%) | 📈 view plot 🚷 view threshold | 1,231.74(0.00%)Baseline: 1,231.74 | 862.22 (70.00%) |
…2327) ## Summary - Documents how to use the `./master` and `./worker` exports to customize the node-renderer Fastify server - Adds examples for common use cases like health check endpoints ## Context Follow-up to #2326 which added the `./master` and `./worker` exports. This PR adds documentation explaining how to use these exports for advanced customization. ## Changes Added to `react_on_rails_pro/docs/node-renderer/js-configuration.md`: - **Adding a Health Check Endpoint**: Example for Docker/K8s deployments - **Registering Fastify Plugins**: Example for adding plugins and hooks - **API Stability Note**: Clarifies these are advanced APIs ## Test plan - [ ] Documentation renders correctly - [ ] Code examples are accurate 🤖 Generated with [Claude Code](https://claude.com/claude-code) <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Documentation** * Added a "Custom Fastify Configuration" guide showing how to add health endpoints, register plugins, and attach logging/monitoring hooks for server customization. * Describes pre-listen customization and cluster startup flow (master/worker) and the recommended order for invoking configuration. * Notes that advanced internals are less stable and recommends the standard renderer for typical use. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: Claude Opus 4.5 <[email protected]>
Summary
./masterand./workerexports to thereact-on-rails-pro-node-rendererpackage.json exports mapContext
A customer running a Dockerized version of the node-renderer needs to add a
/healthendpoint for their infrastructure health checks. To do this, they need to import the master and worker modules directly so they can useconfigureFastify()to add custom routes.Currently they're patching the package.json to add these exports. This PR makes the exports available out-of-the-box, making future upgrades easier.
Changes
Adds to
packages/react-on-rails-pro-node-renderer/package.json:This allows:
Test plan
lib/master.js,lib/master.d.ts,lib/worker.js,lib/worker.d.ts🤖 Generated with Claude Code
Summary by CodeRabbit
✏️ Tip: You can customize this high-level summary in your review settings.