Conversation
|
Allow CI Workflow Run
Note: this should only be enabled once the PR is ready to go and can only be enabled by a maintainer |
592da9e to
837c569
Compare
Tests Passed |
Merging this PR will not alter performance
Comparing Footnotes
|
Stats from current PR🔴 1 regression, 2 improvements
📊 All Metrics📖 Metrics GlossaryDev Server Metrics:
Build Metrics:
Change Thresholds:
⚡ Dev Server
📦 Dev Server (Webpack) (Legacy)📦 Dev Server (Webpack)
⚡ Production Builds
📦 Production Builds (Webpack) (Legacy)📦 Production Builds (Webpack)
📦 Bundle SizesBundle Sizes⚡ TurbopackClient Main Bundles: **430 kB** → **431 kB**
|
| Canary | PR | Change | |
|---|---|---|---|
| middleware-b..fest.js gzip | 790 B | 792 B | ✓ |
| Total | 790 B | 792 B |
Build Details
Build Manifests
| Canary | PR | Change | |
|---|---|---|---|
| _buildManifest.js gzip | 449 B | 450 B | ✓ |
| Total | 449 B | 450 B |
📦 Webpack
Client
Main Bundles
| Canary | PR | Change | |
|---|---|---|---|
| 2086.HASH.js gzip | 169 B | N/A | - |
| 2161-HASH.js gzip | 5.41 kB | N/A | - |
| 2747-HASH.js gzip | 4.48 kB | N/A | - |
| 4322-HASH.js gzip | 52.3 kB | N/A | - |
| ec793fe8-HASH.js gzip | 62.3 kB | N/A | - |
| framework-HASH.js gzip | 59.8 kB | 59.8 kB | ✓ |
| main-app-HASH.js gzip | 252 B | 254 B | ✓ |
| main-HASH.js gzip | 38.6 kB | 39 kB | 🔴 +423 B (+1%) |
| webpack-HASH.js gzip | 1.68 kB | 1.68 kB | ✓ |
| 1596.HASH.js gzip | N/A | 169 B | - |
| 2658-HASH.js gzip | N/A | 52.7 kB | - |
| 6349-HASH.js gzip | N/A | 4.46 kB | - |
| 7019-HASH.js gzip | N/A | 5.43 kB | - |
| b17a3386-HASH.js gzip | N/A | 62.3 kB | - |
| Total | 225 kB | 226 kB |
Polyfills
| Canary | PR | Change | |
|---|---|---|---|
| polyfills-HASH.js gzip | 39.4 kB | 39.4 kB | ✓ |
| Total | 39.4 kB | 39.4 kB | ✓ |
Pages
| Canary | PR | Change | |
|---|---|---|---|
| _app-HASH.js gzip | 194 B | 193 B | ✓ |
| _error-HASH.js gzip | 182 B | 182 B | ✓ |
| css-HASH.js gzip | 336 B | 335 B | ✓ |
| dynamic-HASH.js gzip | 1.8 kB | 1.8 kB | ✓ |
| edge-ssr-HASH.js gzip | 256 B | 256 B | ✓ |
| head-HASH.js gzip | 352 B | 349 B | ✓ |
| hooks-HASH.js gzip | 385 B | 384 B | ✓ |
| image-HASH.js gzip | 580 B | 580 B | ✓ |
| index-HASH.js gzip | 259 B | 258 B | ✓ |
| link-HASH.js gzip | 2.5 kB | 2.51 kB | ✓ |
| routerDirect..HASH.js gzip | 319 B | 317 B | ✓ |
| script-HASH.js gzip | 385 B | 387 B | ✓ |
| withRouter-HASH.js gzip | 316 B | 315 B | ✓ |
| 1afbb74e6ecf..834.css gzip | 106 B | 106 B | ✓ |
| Total | 7.97 kB | 7.96 kB | ✅ -8 B |
Server
Edge SSR
| Canary | PR | Change | |
|---|---|---|---|
| edge-ssr.js gzip | 125 kB | 125 kB | ✓ |
| page.js gzip | 242 kB | 242 kB | ✓ |
| Total | 366 kB | 367 kB |
Middleware
| Canary | PR | Change | |
|---|---|---|---|
| middleware-b..fest.js gzip | 653 B | 653 B | ✓ |
| middleware-r..fest.js gzip | 155 B | 156 B | ✓ |
| middleware.js gzip | 33 kB | 33.2 kB | ✓ |
| edge-runtime..pack.js gzip | 842 B | 842 B | ✓ |
| Total | 34.6 kB | 34.9 kB |
Build Details
Build Manifests
| Canary | PR | Change | |
|---|---|---|---|
| _buildManifest.js gzip | 738 B | 738 B | ✓ |
| Total | 738 B | 738 B | ✓ |
Build Cache
| Canary | PR | Change | |
|---|---|---|---|
| 0.pack gzip | 3.66 MB | 3.67 MB | 🔴 +12.3 kB (+0%) |
| index.pack gzip | 99.2 kB | 99.8 kB | ✓ |
| index.pack.old gzip | 100 kB | 100 kB | ✓ |
| Total | 3.86 MB | 3.87 MB |
🔄 Shared (bundler-independent)
Runtimes
| Canary | PR | Change | |
|---|---|---|---|
| app-page-exp...dev.js gzip | 303 kB | 304 kB | ✓ |
| app-page-exp..prod.js gzip | 158 kB | 158 kB | ✓ |
| app-page-tur...dev.js gzip | 303 kB | 304 kB | ✓ |
| app-page-tur..prod.js gzip | 158 kB | 158 kB | ✓ |
| app-page-tur...dev.js gzip | 300 kB | 301 kB | ✓ |
| app-page-tur..prod.js gzip | 156 kB | 156 kB | ✓ |
| app-page.run...dev.js gzip | 300 kB | 301 kB | ✓ |
| app-page.run..prod.js gzip | 156 kB | 156 kB | ✓ |
| app-route-ex...dev.js gzip | 68.8 kB | 68.8 kB | ✓ |
| app-route-ex..prod.js gzip | 47.6 kB | 47.6 kB | ✓ |
| app-route-tu...dev.js gzip | 68.8 kB | 68.8 kB | ✓ |
| app-route-tu..prod.js gzip | 47.6 kB | 47.6 kB | ✓ |
| app-route-tu...dev.js gzip | 68.4 kB | 68.4 kB | ✓ |
| app-route-tu..prod.js gzip | 47.4 kB | 47.4 kB | ✓ |
| app-route.ru...dev.js gzip | 68.4 kB | 68.4 kB | ✓ |
| app-route.ru..prod.js gzip | 47.3 kB | 47.3 kB | ✓ |
| dist_client_...dev.js gzip | 324 B | 324 B | ✓ |
| dist_client_...dev.js gzip | 326 B | 326 B | ✓ |
| dist_client_...dev.js gzip | 318 B | 318 B | ✓ |
| dist_client_...dev.js gzip | 317 B | 317 B | ✓ |
| pages-api-tu...dev.js gzip | 41.2 kB | 41.2 kB | ✓ |
| pages-api-tu..prod.js gzip | 31.3 kB | 31.3 kB | ✓ |
| pages-api.ru...dev.js gzip | 41.1 kB | 41.1 kB | ✓ |
| pages-api.ru..prod.js gzip | 31.2 kB | 31.2 kB | ✓ |
| pages-turbo....dev.js gzip | 50.8 kB | 50.8 kB | ✓ |
| pages-turbo...prod.js gzip | 38.2 kB | 38.2 kB | ✓ |
| pages.runtim...dev.js gzip | 50.7 kB | 50.7 kB | ✓ |
| pages.runtim..prod.js gzip | 38.2 kB | 38.2 kB | ✓ |
| server.runti..prod.js gzip | 62.2 kB | 62.2 kB | ✓ |
| Total | 2.69 MB | 2.69 MB |
📝 Changed Files (9 files)
Files with changes:
app-page-exp..ntime.dev.jsapp-page-exp..time.prod.jsapp-page-tur..ntime.dev.jsapp-page-tur..time.prod.jsapp-page-tur..ntime.dev.jsapp-page-tur..time.prod.jsapp-page.runtime.dev.jsapp-page.runtime.prod.jsserver.runtime.prod.js
View diffs
app-page-exp..ntime.dev.js
failed to diffapp-page-exp..time.prod.js
failed to diffapp-page-tur..ntime.dev.js
failed to diffapp-page-tur..time.prod.js
failed to diffapp-page-tur..ntime.dev.js
failed to diffapp-page-tur..time.prod.js
Diff too large to display
app-page.runtime.dev.js
failed to diffapp-page.runtime.prod.js
Diff too large to display
server.runtime.prod.js
Diff too large to display
7ca65c3 to
d8c7379
Compare
fb95200 to
65a20e5
Compare
timneutkens
left a comment
There was a problem hiding this comment.
It was a bit unclear to me if it's now generating the source information in production as well (that shouldn't happen), is it correctly doing this only in development? Then it looks good to me 💯
in |
Server Function logging (#88277) is now opt-in, consistent with how fetch logging works. This reduces noise in development logs by default. Additionally, for `'use cache'` Server Functions called from the client, the logging needs more work to be useful. Keeping it opt-in avoids exposing incomplete functionality by default. Server Function logging can be enabled in `next.config.js`: ```js module.exports = { logging: { serverFunctions: true, }, } ```
Inrtoduce logging for server actions in dev mode, displaying function name, arguments, status code, duration, and file location.
Log format:
The Rust SWC transform captures source location (line/column) when processing server actions and embeds it in the action metadata comment. At runtime of
next dev, the action handler extracts the function name, formats arguments measures execution time, and determines the status code. The log is emitted in afinally {}block with ANSI color codes for the status (aligned with normal request logging) and the file path normalized relative to the project root.