rsnext/scripts
Jimmy Lai 76c9b2c469
misc: improve profiling script (#55732)
This PR improves the minimal server script by adding a slightly better look require profiler + some misc utility changes. This is eventually gonna be the basis for a `next profile` command.

This is what the output look like + its usage.
https://app.warp.dev/block/4AtutJ2PpVcM5BFDqlk7zk

```
next-cold-start: 56.024ms
next-request: 58.462ms
next-wall-time: 128.757ms
└─ ../../../packages/next/dist/compiled/next-server/server.runtime.prod.js 39.31ms / 49.27ms
  ├─ ../../../server/lib/trace/tracer.js 9.92ms / 20.97ms
  │  ├─ ../constants.js 0.19ms / 0.19ms
  │  └─ ../../../../../../../node_modules/.pnpm/@opentelemetry+api@1.4.1/node_modules/@opentelemetry/api/build/src/index.js 10.86ms / 18.94ms
  │     ├─ ../baggage/utils.js 4.35ms / 7.41ms
  │     │  ├─ ../../api/diag.js 2.98ms / 5.70ms
  │     │  │  ├─ ../../diag/ComponentLogger.js 2.02ms / 3.66ms
  │     │  │  │  └─ ../../internal/global-utils.js 1.65ms / 2.71ms
  │     │  │  │     ├─ ../../platform/index.js 0.90ms / 1.22ms
  │     │  │  │     │  └─ ../node/index.js 0.32ms / 0.35ms
  │     │  │  │     │     └─ ../globalThis.js 0.03ms / 0.03ms
  │     │  │  │     ├─ ../../version.js 0.02ms / 0.02ms
  │     │  │  │     └─ ../semver.js 0.14ms / 0.14ms
  │     │  │  └─ ../../diag/internal/logLevelLogger.js 0.70ms / 0.76ms
  │     │  │     └─ ../../types.js 0.06ms / 0.06ms
  │     │  ├─ ../internal/baggage-impl.js 0.06ms / 0.06ms
  │     │  └─ ../internal/symbol.js 0.03ms / 0.03ms
  │     ├─ ../context/context.js 0.06ms / 0.06ms
  │     ├─ ../diag/consoleLogger.js 0.04ms / 0.04ms
  │     ├─ ../metrics/NoopMeter.js 0.12ms / 0.12ms
  │     ├─ ../metrics/Metric.js 0.03ms / 0.03ms
  │     ├─ ../propagation/TextMapPropagator.js 0.03ms / 0.03ms
  │     ├─ ../trace/ProxyTracer.js 1.69ms / 3.11ms
  │     │  └─ ../NoopTracer.js 1.42ms / 2.82ms
  │     │     ├─ ../../api/context.js 0.66ms / 0.73ms
  │     │     │  └─ ../../context/NoopContextManager.js 0.07ms / 0.07ms
  │     │     ├─ ../context-utils.js 0.70ms / 0.90ms
  │     │     │  └─ ../NonRecordingSpan.js 0.21ms / 0.55ms
  │     │     │     └─ ../invalid-span-constants.js 0.34ms / 0.37ms
  │     │     │        └─ ../trace_flags.js 0.03ms / 0.03ms
  │     │     └─ ../spancontext-utils.js 0.04ms / 0.04ms
  │     ├─ ../trace/ProxyTracerProvider.js 0.30ms / 0.33ms
  │     │  └─ ../NoopTracerProvider.js 0.03ms / 0.03ms
  │     ├─ ../trace/SamplingResult.js 0.03ms / 0.03ms
  │     ├─ ../trace/span_kind.js 0.03ms / 0.03ms
  │     ├─ ../trace/status.js 0.03ms / 0.03ms
  │     ├─ ../trace/internal/utils.js 0.44ms / 0.64ms
  │     │  └─ ../tracestate-impl.js 0.20ms / 0.25ms
  │     │     └─ ../tracestate-validators.js 0.04ms / 0.04ms
  │     ├─ ../context-api.js 0.06ms / 0.06ms
  │     ├─ ../diag-api.js 0.04ms / 0.04ms
  │     ├─ ../metrics-api.js 0.22ms / 0.48ms
  │     │  └─ ../api/metrics.js 0.26ms / 0.32ms
  │     │     └─ ../../metrics/NoopMeterProvider.js 0.06ms / 0.06ms
  │     ├─ ../propagation-api.js 0.30ms / 0.92ms
  │     │  └─ ../api/propagation.js 0.62ms / 0.74ms
  │     │     ├─ ../../propagation/NoopTextMapPropagator.js 0.03ms / 0.03ms
  │     │     └─ ../../baggage/context-helpers.js 0.09ms / 0.09ms
  │     └─ ../trace-api.js 0.31ms / 0.45ms
  │        └─ ../api/trace.js 0.15ms / 0.15ms
  ├─ ../../../shared/lib/runtime-config.external.js 0.05ms / 0.05ms
  ├─ ../../../../../../bench/basic-app/.next/server/app/page.js 4.07ms / 18.76ms
  │  ├─ ../../webpack-runtime.js 0.10ms / 0.10ms
  │  ├─ ../../chunks/388.js 0.06ms / 0.06ms
  │  ├─ ../../chunks/269.js 1.10ms / 1.10ms
  │  ├─ ../../../../../../packages/next/dist/compiled/next-server/app-page.runtime.prod.js 13.22ms / 13.63ms
  │  │  └─ ../../../client/components/request-async-storage.external.js 0.41ms / 0.47ms
  │  │     └─ ../async-local-storage.js 0.06ms / 0.06ms
  │  ├─ ../../../../../../packages/next/dist/client/components/static-generation-async-storage.external.js 0.16ms / 0.16ms
  │  └─ ../../../../../../packages/next/dist/client/components/action-async-storage.external.js 0.05ms / 0.05ms
  └─ ../../../../../../bench/basic-app/.next/server/app/page_client-reference-manifest.js 0.11ms / 0.11ms

```
2023-09-21 16:13:03 +00:00
..
send-trace-to-jaeger refactor(scripts): fix clippy errors (#49719) 2023-05-12 19:14:30 +00:00
check-examples.sh Remove incorrect entries for pnpm debug log (#47241) 2023-03-26 22:26:05 -07:00
check-is-release.js Apply publish step optimizations (#43620) 2022-12-01 21:48:51 -08:00
check-manifests.js [Next Docs] Update Git Workflow (#50579) 2023-06-08 12:01:55 +02:00
check-pre-compiled.bat fixes to allow lazy compilation for import() (#32441) 2021-12-14 11:33:04 +01:00
check-pre-compiled.sh Make shebangs portable used in the repo portable (#46028) 2023-02-17 09:45:42 +00:00
deploy-examples.sh fix(ci): deploy examples (#54024) 2023-08-15 03:23:57 +00:00
generate-release-log.mjs release: add release log generation script (#54006) 2023-08-14 17:41:44 +00:00
install-native.mjs Update install-native script to avoid pnpm cache (#54462) 2023-08-23 20:30:46 +00:00
minimal-server.js misc: improve profiling script (#55732) 2023-09-21 16:13:03 +00:00
next-with-deps.sh use pnpm for next-with-deps (#54847) 2023-08-31 16:12:38 +00:00
normalize-version-bump.js remove --turbo, use --experimental-turbo as --turbo (#55063) 2023-09-06 17:46:54 +00:00
publish-native.js Fix race condition with publish (#51105) 2023-06-10 14:05:27 -07:00
publish-release.js improve publish-release (#55597) 2023-09-19 18:23:51 +02:00
pull-turbo-cache.js Implement granular rust caching (#54582) 2023-08-26 18:54:14 -07:00
release-stats.sh Make shebangs portable used in the repo portable (#46028) 2023-02-17 09:45:42 +00:00
reset-vercel-project.mjs Enable E2E deploy tests on publish (#37019) 2022-05-21 04:46:16 -05:00
rm.mjs chore: cross-platform rm -rf script (#49529) 2023-05-10 01:14:37 +00:00
run-for-change.js Update workflow cancel handling (#50442) 2023-05-27 22:57:45 -07:00
setup-node.sh Update flakey tests and add Node.js setup retrying (#47871) 2023-04-03 13:37:14 -07:00
setup-wasm.mjs Make setup-wasm script work for local dev (#36355) 2022-04-21 15:41:48 -05:00
start-release.js ci: update github token (#50216) 2023-05-23 07:29:58 -07:00
sync-react.js Revert "Implement new forking technique for vendored packages. (#51083)" (#53640) 2023-08-06 13:00:12 -07:00
trace-dd.mjs fix: scripts comment typos (#40207) 2022-09-05 02:26:54 +00:00
trace-next-server.js Fix turbo usage in tests (#44715) 2023-01-18 20:35:28 +01:00
trace-to-event-format.mjs fix: scripts comment typos (#40207) 2022-09-05 02:26:54 +00:00
trace-to-tree.mjs Add path to export-page (#39893) 2022-08-24 10:29:47 +00:00
update-fonts-data-workflow.js Update env variable for fonts data workflow (#53701) 2023-08-07 22:07:50 +00:00
update-google-fonts.js packages/font: run update-google-fonts script (#50608) 2023-05-31 22:31:26 +02:00