Capture production-like RSC benchmark timing#12
Draft
justin808 wants to merge 10 commits intojg-codex/dev-server-env-overridesfrom
Draft
Capture production-like RSC benchmark timing#12justin808 wants to merge 10 commits intojg-codex/dev-server-env-overridesfrom
justin808 wants to merge 10 commits intojg-codex/dev-server-env-overridesfrom
Conversation
Contributor
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ 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 |
…tion-like-rsc-profiling * jg-codex/dev-server-env-overrides: Keep demo smoke renderer in CI step
…tion-like-rsc-profiling * jg-codex/dev-server-env-overrides: Address dashboard demo review findings
…tion-like-rsc-profiling * jg-codex/dev-server-env-overrides: Address remaining demo review findings
…tion-like-rsc-profiling * jg-codex/dev-server-env-overrides: Address dashboard currency review findings
…tion-like-rsc-profiling * jg-codex/dev-server-env-overrides: Use purchase currency for activity prices
…tion-like-rsc-profiling * jg-codex/dev-server-env-overrides: Fix dashboard demo timezone prop typing
…tion-like-rsc-profiling * jg-codex/dev-server-env-overrides: Skip directories in Rspack entry discovery
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.
Summary
Adds the next stacked benchmark/docs pass on top of #10.
/rsc_payload/resource detail in benchmark JSON when the browser exposes a separate payload resourceProduction-like benchmark result
production-like-alternating-8-reindexed,8alternating cycles, one warmup request per measured run, matching Chrome/ChromeDriver 147:775.40ms, RSC607.15ms,-21.7%794.00ms, RSC634.00ms,-20.2%644.80ms, RSC588.80ms,-8.7%346.87ms, RSC339.20ms,-2.2%6, RSC1,-83.3%730.62msvs768.25ms,+5.2%The first long run wrote 14/16 samples and then hit a Selenium
Net::ReadTimeoutwhile loading the RSC route. The final summary was completed with--reuse-existing, which reused the completed per-run JSON files and measured the two missing samples.Caveat
The current RSC route streams its payload inline, so it does not expose a browser resource named
/rsc_payload/on initial load. The new resource timing fields are therefore empty for this implementation until we expose a separate payload resource or add renderer-internal timing.Validation
ruby -c scripts/perf/measure_dashboard.rbruby -c scripts/perf/compare_dashboard_routes.rbrscPayload.resourcesand resource-levelserverTimingbundle exec rubocop scripts/perf/measure_dashboard.rb scripts/perf/compare_dashboard_routes.rbgit diff --checkRAILS_ENV=production NODE_ENV=production bin/shakapackerRAILS_ENV=production NODE_ENV=production npm run build:rsc-demoDISABLE_SPRING=1 OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES bin/rails runner 'DevTools.delete_all_indices_and_reindex_all'ruby scripts/perf/compare_dashboard_routes.rb --base-url https://gumroad.dev --measure-base-url https://gumroad.dev --path /dashboard/inertia_demo --path /dashboard/rsc_demo --label production-like-alternating-8-reindexed --cycles 8 --server-warmup-requests 1 --require-driver-match --reuse-existingNote
Low Risk
Low risk: changes are limited to benchmark harness scripts and documentation, with no impact on app runtime behavior beyond how performance results are measured and reported.
Overview
Adds production-like benchmarking guidance and results across README and performance docs, including a new compiled-assets + dedicated renderer run and explicit caveats about tail latency (
p95 responseEnd) and inline-streamed RSC payloads.Enhances the perf harness to capture
/rsc_payload/resource timing/transfer details (including resource-levelserverTiming) and promotes these fields into the alternating comparison output (compare_dashboard_routes.rb), alongside small Ruby refactors for cleaner collection/summarization.Reviewed by Cursor Bugbot for commit 010b356. Bugbot is set up for automated code reviews on this repo. Configure here.