-
Notifications
You must be signed in to change notification settings - Fork 27k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Report HMR latency as trace spans for Turbopack #60799
Conversation
This: - Makes makes reporting hmr changes more accurate by emitting an explicit start event and lowering the aggregation period for reporting completed turbo tasks - Parameterizes the aggregation period, allowing JS subscribers to request different intervals, such as for the next-rs-api test - Aligns path pattern with webpack by normalizing its layer names - Fixes a bug in `drainAndGetNext` where the stream never could drain past the first item - Sends `client-hmr-latency` spans from Turbopack in both page and app router pages
Failing test suitesCommit: 7b526fb
Expand output● Auto Export › production mode › should show warning for query provided for auto exported page correctly
Read more about building and testing Next.js in contributing.md. |
Tests Passed |
turbopackUpdates.push(payload) | ||
hmrEventHappened = true | ||
sendHmrDebounce() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why no longer calling this? Shouldn't it send out the events immediately and don't wait for the end event?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What's the answer to this?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I reintroduced this call, so it's updating immediately again.
Stats from current PRDefault BuildGeneral Overall increase
|
vercel/next.js canary | vercel/next.js wbinnssmith/timing | Change | |
---|---|---|---|
buildDuration | 11.7s | 11.6s | N/A |
buildDurationCached | 5.9s | 5s | N/A |
nodeModulesSize | 200 MB | 200 MB | |
nextStartRea..uration (ms) | 429ms | 431ms | N/A |
Client Bundles (main, webpack)
vercel/next.js canary | vercel/next.js wbinnssmith/timing | Change | |
---|---|---|---|
193.HASH.js gzip | 181 B | 182 B | N/A |
3f784ff6-HASH.js gzip | 53.4 kB | 53.4 kB | ✓ |
433-HASH.js gzip | 29 kB | 29 kB | N/A |
framework-HASH.js gzip | 45.2 kB | 45.2 kB | ✓ |
main-app-HASH.js gzip | 239 B | 243 B | N/A |
main-HASH.js gzip | 31.8 kB | 31.8 kB | N/A |
webpack-HASH.js gzip | 1.7 kB | 1.7 kB | N/A |
Overall change | 98.6 kB | 98.6 kB | ✓ |
Legacy Client Bundles (polyfills)
vercel/next.js canary | vercel/next.js wbinnssmith/timing | Change | |
---|---|---|---|
polyfills-HASH.js gzip | 31 kB | 31 kB | ✓ |
Overall change | 31 kB | 31 kB | ✓ |
Client Pages
vercel/next.js canary | vercel/next.js wbinnssmith/timing | Change | |
---|---|---|---|
_app-HASH.js gzip | 194 B | 195 B | N/A |
_error-HASH.js gzip | 183 B | 181 B | N/A |
amp-HASH.js gzip | 504 B | 502 B | N/A |
css-HASH.js gzip | 321 B | 321 B | ✓ |
dynamic-HASH.js gzip | 2.5 kB | 2.5 kB | N/A |
edge-ssr-HASH.js gzip | 255 B | 253 B | N/A |
head-HASH.js gzip | 350 B | 349 B | N/A |
hooks-HASH.js gzip | 369 B | 369 B | ✓ |
image-HASH.js gzip | 4.18 kB | 4.18 kB | N/A |
index-HASH.js gzip | 255 B | 256 B | N/A |
link-HASH.js gzip | 2.61 kB | 2.61 kB | ✓ |
routerDirect..HASH.js gzip | 312 B | 311 B | N/A |
script-HASH.js gzip | 385 B | 383 B | N/A |
withRouter-HASH.js gzip | 307 B | 308 B | N/A |
1afbb74e6ecf..834.css gzip | 106 B | 106 B | ✓ |
Overall change | 3.4 kB | 3.4 kB | ✓ |
Client Build Manifests
vercel/next.js canary | vercel/next.js wbinnssmith/timing | Change | |
---|---|---|---|
_buildManifest.js gzip | 484 B | 485 B | N/A |
Overall change | 0 B | 0 B | ✓ |
Rendered Page Sizes
vercel/next.js canary | vercel/next.js wbinnssmith/timing | Change | |
---|---|---|---|
index.html gzip | 528 B | 528 B | ✓ |
link.html gzip | 540 B | 540 B | ✓ |
withRouter.html gzip | 523 B | 523 B | ✓ |
Overall change | 1.59 kB | 1.59 kB | ✓ |
Edge SSR bundle Size
vercel/next.js canary | vercel/next.js wbinnssmith/timing | Change | |
---|---|---|---|
edge-ssr.js gzip | 94 kB | 94 kB | N/A |
page.js gzip | 149 kB | 149 kB | N/A |
Overall change | 0 B | 0 B | ✓ |
Middleware size
vercel/next.js canary | vercel/next.js wbinnssmith/timing | Change | |
---|---|---|---|
middleware-b..fest.js gzip | 625 B | 627 B | N/A |
middleware-r..fest.js gzip | 151 B | 151 B | ✓ |
middleware.js gzip | 37.5 kB | 37.5 kB | N/A |
edge-runtime..pack.js gzip | 1.92 kB | 1.92 kB | ✓ |
Overall change | 2.07 kB | 2.07 kB | ✓ |
Next Runtimes
vercel/next.js canary | vercel/next.js wbinnssmith/timing | Change | |
---|---|---|---|
app-page-exp...dev.js gzip | 169 kB | 169 kB | ✓ |
app-page-exp..prod.js gzip | 95.6 kB | 95.6 kB | ✓ |
app-page-tur..prod.js gzip | 96.3 kB | 96.3 kB | ✓ |
app-page-tur..prod.js gzip | 90.9 kB | 90.9 kB | ✓ |
app-page.run...dev.js gzip | 142 kB | 142 kB | ✓ |
app-page.run..prod.js gzip | 90.2 kB | 90.2 kB | ✓ |
app-route-ex...dev.js gzip | 24.2 kB | 24.2 kB | ✓ |
app-route-ex..prod.js gzip | 16.9 kB | 16.9 kB | ✓ |
app-route-tu..prod.js gzip | 16.9 kB | 16.9 kB | ✓ |
app-route-tu..prod.js gzip | 16.4 kB | 16.4 kB | ✓ |
app-route.ru...dev.js gzip | 23.6 kB | 23.6 kB | ✓ |
app-route.ru..prod.js gzip | 16.4 kB | 16.4 kB | ✓ |
pages-api-tu..prod.js gzip | 9.41 kB | 9.41 kB | ✓ |
pages-api.ru...dev.js gzip | 9.68 kB | 9.68 kB | ✓ |
pages-api.ru..prod.js gzip | 9.4 kB | 9.4 kB | ✓ |
pages-turbo...prod.js gzip | 22 kB | 22 kB | ✓ |
pages.runtim...dev.js gzip | 22.6 kB | 22.6 kB | ✓ |
pages.runtim..prod.js gzip | 22 kB | 22 kB | ✓ |
server.runti..prod.js gzip | 49.7 kB | 49.7 kB | ✓ |
Overall change | 944 kB | 944 kB | ✓ |
This:
drainAndGetNext
where the stream never could drain past the first itemclient-hmr-latency
spans from Turbopack in both page and app router pagesCloses PACK-2252