-
Notifications
You must be signed in to change notification settings - Fork 27.7k
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Use resource to detect feature usage in telemetry #75917
Use resource to detect feature usage in telemetry #75917
Conversation
Tests Passed |
Stats from current PRDefault Build (Increase detected
|
vercel/next.js canary | vercel/next.js sebbie/02-11-use_raw_requests_to_detect_feature_usage_in_telemetry | Change | |
---|---|---|---|
buildDuration | 17.7s | 15.5s | N/A |
buildDurationCached | 14.6s | 12.3s | N/A |
nodeModulesSize | 393 MB | 393 MB | N/A |
nextStartRea..uration (ms) | 416ms | 423ms | N/A |
Client Bundles (main, webpack)
vercel/next.js canary | vercel/next.js sebbie/02-11-use_raw_requests_to_detect_feature_usage_in_telemetry | Change | |
---|---|---|---|
5306-HASH.js gzip | 55.1 kB | 55.1 kB | N/A |
8276.HASH.js gzip | 169 B | 168 B | N/A |
8377-HASH.js gzip | 5.46 kB | 5.47 kB | N/A |
bccd1874-HASH.js gzip | 53 kB | 53 kB | N/A |
framework-HASH.js gzip | 57.5 kB | 57.5 kB | N/A |
main-app-HASH.js gzip | 245 B | 245 B | ✓ |
main-HASH.js gzip | 34.7 kB | 34.7 kB | N/A |
webpack-HASH.js gzip | 1.71 kB | 1.71 kB | N/A |
Overall change | 245 B | 245 B | ✓ |
Legacy Client Bundles (polyfills)
vercel/next.js canary | vercel/next.js sebbie/02-11-use_raw_requests_to_detect_feature_usage_in_telemetry | Change | |
---|---|---|---|
polyfills-HASH.js gzip | 39.4 kB | 39.4 kB | ✓ |
Overall change | 39.4 kB | 39.4 kB | ✓ |
Client Pages
vercel/next.js canary | vercel/next.js sebbie/02-11-use_raw_requests_to_detect_feature_usage_in_telemetry | Change | |
---|---|---|---|
_app-HASH.js gzip | 193 B | 193 B | ✓ |
_error-HASH.js gzip | 193 B | 193 B | ✓ |
amp-HASH.js gzip | 512 B | 510 B | N/A |
css-HASH.js gzip | 343 B | 342 B | N/A |
dynamic-HASH.js gzip | 1.84 kB | 1.84 kB | ✓ |
edge-ssr-HASH.js gzip | 265 B | 265 B | ✓ |
head-HASH.js gzip | 363 B | 362 B | N/A |
hooks-HASH.js gzip | 393 B | 392 B | N/A |
image-HASH.js gzip | 4.59 kB | 4.59 kB | N/A |
index-HASH.js gzip | 268 B | 268 B | ✓ |
link-HASH.js gzip | 2.35 kB | 2.35 kB | N/A |
routerDirect..HASH.js gzip | 328 B | 328 B | ✓ |
script-HASH.js gzip | 397 B | 397 B | ✓ |
withRouter-HASH.js gzip | 323 B | 326 B | N/A |
1afbb74e6ecf..834.css gzip | 106 B | 106 B | ✓ |
Overall change | 3.59 kB | 3.59 kB | ✓ |
Client Build Manifests
vercel/next.js canary | vercel/next.js sebbie/02-11-use_raw_requests_to_detect_feature_usage_in_telemetry | Change | |
---|---|---|---|
_buildManifest.js gzip | 748 B | 748 B | ✓ |
Overall change | 748 B | 748 B | ✓ |
Rendered Page Sizes
vercel/next.js canary | vercel/next.js sebbie/02-11-use_raw_requests_to_detect_feature_usage_in_telemetry | Change | |
---|---|---|---|
index.html gzip | 525 B | 523 B | N/A |
link.html gzip | 539 B | 538 B | N/A |
withRouter.html gzip | 520 B | 520 B | ✓ |
Overall change | 520 B | 520 B | ✓ |
Edge SSR bundle Size
vercel/next.js canary | vercel/next.js sebbie/02-11-use_raw_requests_to_detect_feature_usage_in_telemetry | Change | |
---|---|---|---|
edge-ssr.js gzip | 130 kB | 130 kB | N/A |
page.js gzip | 211 kB | 211 kB | N/A |
Overall change | 0 B | 0 B | ✓ |
Middleware size
vercel/next.js canary | vercel/next.js sebbie/02-11-use_raw_requests_to_detect_feature_usage_in_telemetry | Change | |
---|---|---|---|
middleware-b..fest.js gzip | 676 B | 672 B | N/A |
middleware-r..fest.js gzip | 155 B | 156 B | N/A |
middleware.js gzip | 31.3 kB | 31.3 kB | N/A |
edge-runtime..pack.js gzip | 844 B | 844 B | ✓ |
Overall change | 844 B | 844 B | ✓ |
Next Runtimes
vercel/next.js canary | vercel/next.js sebbie/02-11-use_raw_requests_to_detect_feature_usage_in_telemetry | Change | |
---|---|---|---|
app-page-exp...dev.js gzip | 394 kB | 394 kB | ✓ |
app-page-exp..prod.js gzip | 132 kB | 132 kB | ✓ |
app-page-tur..prod.js gzip | 145 kB | 145 kB | ✓ |
app-page-tur..prod.js gzip | 141 kB | 141 kB | ✓ |
app-page.run...dev.js gzip | 382 kB | 382 kB | ✓ |
app-page.run..prod.js gzip | 129 kB | 129 kB | ✓ |
app-route-ex...dev.js gzip | 39.4 kB | 39.4 kB | ✓ |
app-route-ex..prod.js gzip | 25.7 kB | 25.7 kB | ✓ |
app-route-tu..prod.js gzip | 25.7 kB | 25.7 kB | ✓ |
app-route-tu..prod.js gzip | 25.5 kB | 25.5 kB | ✓ |
app-route.ru...dev.js gzip | 41 kB | 41 kB | ✓ |
app-route.ru..prod.js gzip | 25.5 kB | 25.5 kB | ✓ |
dist_client_...dev.js gzip | 356 B | 356 B | ✓ |
dist_client_...dev.js gzip | 349 B | 349 B | ✓ |
pages-api-tu..prod.js gzip | 9.69 kB | 9.69 kB | ✓ |
pages-api.ru...dev.js gzip | 11.8 kB | 11.8 kB | ✓ |
pages-api.ru..prod.js gzip | 9.69 kB | 9.69 kB | ✓ |
pages-turbo...prod.js gzip | 22 kB | 22 kB | ✓ |
pages.runtim...dev.js gzip | 31.6 kB | 31.6 kB | ✓ |
pages.runtim..prod.js gzip | 22 kB | 22 kB | ✓ |
server.runti..prod.js gzip | 61.1 kB | 61.1 kB | ✓ |
Overall change | 1.67 MB | 1.67 MB | ✓ |
build cache Overall increase ⚠️
vercel/next.js canary | vercel/next.js sebbie/02-11-use_raw_requests_to_detect_feature_usage_in_telemetry | Change | |
---|---|---|---|
0.pack gzip | 2.11 MB | 2.12 MB | |
index.pack gzip | 76.6 kB | 76 kB | N/A |
Overall change | 2.11 MB | 2.12 MB |
Diff details
Diff for main-HASH.js
Diff too large to display
feea839
to
d0ad09c
Compare
f2dd61d
to
83b64e9
Compare
d0ad09c
to
0ee9728
Compare
0ee9728
to
eb75315
Compare
for (const [feature, path] of FEATURE_MODULE_MAP) { | ||
if (normalizedIdentifier.endsWith(path)) { | ||
for (const [feature, rawRequest] of FEATURE_MODULE_MAP) { | ||
if ((module as webpack.NormalModule).rawRequest === rawRequest) { |
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.
qq: if a library using import xx from 'next/image.js'
due to ESM module requirement, will this get effected?
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.
Good point. Let me check if there's a better field that gives me the resolved module.
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.
Using resource
now which allows us to retain the endsWith(path)
check.
eb75315
to
7377e6b
Compare
44e62ce
to
4f8c59d
Compare
for (const [feature, path] of FEATURE_MODULE_MAP) { | ||
if (normalizedIdentifier.endsWith(path)) { | ||
if ((module as webpack.NormalModule).resource.endsWith(path)) { |
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.
module.identifier()
includes the layer e.g. next/image.js|some-layer
so the old matching approach didn't work. resource
does not contain just the path.
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.
resource could contain resourceQuery ?xxx
, maybe use resourcePath? not blocking, very rare case
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 don't see resourcePath
on the module. There's resourceResolveData?.path?
but this is untyped so I don't trust it. Probably best to wait for a concrete case.
Was the resource query not part of the module identifier?
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.
oh sorry I got it wrong with the loader API, module.resource should be enough
7377e6b
to
28a6d63
Compare
4f8c59d
to
99bf5e9
Compare
28a6d63
to
e55e149
Compare
This is required for when we start using layers in Pages Router. It's also required to fix telemetry of certain features in App Router which makes extensive usage of layers. That isn't working just yet though a test was kept in place.
e55e149
to
554d372
Compare
Merge activity
|
This is required for when we start using layers in Pages Router.