add tracing for turbopack (#49920)

### What?

adds `NEXT_TURBOPACK_TRACING` env var to enable tracing. Writes into `.next/trace.log`

There are 4 presets:

* `NEXT_TURBOPACK_TRACING=overview` gives a overview of requests and modules processed.
* `NEXT_TURBOPACK_TRACING=next` above plus details for next.js
* `NEXT_TURBOPACK_TRACING=turbopack` above plus details for turbopack
* `NEXT_TURBOPACK_TRACING=turbo-tasks` above plus details for turbo-tasks

Published release builds will only allow `overview` to work, since all detailed instrumentation is statically disabled.

see https://github.com/vercel/turbo/pull/4966 for more details

### Why?

get more insight into build times

### Turbopack changes

* https://github.com/vercel/turbo/pull/4995 
* https://github.com/vercel/turbo/pull/5049 
* https://github.com/vercel/turbo/pull/5053 
* https://github.com/vercel/turbo/pull/4966
This commit is contained in:
Tobias Koppers 2023-05-23 07:25:56 +02:00 committed by GitHub
parent 3b6f286d4c
commit df85ad1ec0
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 201 additions and 73 deletions

142
Cargo.lock generated
View file

@ -394,7 +394,7 @@ dependencies = [
[[package]]
name = "auto-hash-map"
version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230518.4#e3a5cfb4a927b72d3cb827c7c8306f8dede34d41"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230522.2#cee02be048d8f402f1ad50dd2b8589cacd9ae910"
dependencies = [
"serde",
]
@ -901,6 +901,12 @@ dependencies = [
"bitflags 1.3.2",
]
[[package]]
name = "cobs"
version = "0.2.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "67ba02a97a2bd10f4b59b25c7973101c79642302776489e030cd13cdab09ed15"
[[package]]
name = "codespan-reporting"
version = "0.11.1"
@ -1316,6 +1322,16 @@ dependencies = [
"syn 2.0.15",
]
[[package]]
name = "ctrlc"
version = "3.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "04d778600249295e82b6ab12e291ed9029407efee0cfb7baf67157edc65964df"
dependencies = [
"nix",
"windows-sys 0.48.0",
]
[[package]]
name = "curl"
version = "0.4.44"
@ -2110,6 +2126,7 @@ dependencies = [
"atomic-polyfill",
"hash32",
"rustc_version 0.4.0",
"serde",
"spin 0.9.8",
"stable_deref_trait",
]
@ -3086,9 +3103,9 @@ dependencies = [
[[package]]
name = "modularize_imports"
version = "0.29.0"
version = "0.30.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8655bebb1bba9b4ece2a07c24dc1794fa0b3996f45de13d0d0673f1491369924"
checksum = "13e83b2f2095735e151ab41afe33b0ede0d8173c5ccd753e2d87a144dd97e6af"
dependencies = [
"convert_case 0.5.0",
"handlebars",
@ -3274,6 +3291,8 @@ dependencies = [
"serde_json",
"tempfile",
"tokio",
"tracing",
"tracing-subscriber",
"tungstenite 0.17.3",
"turbo-tasks",
"turbopack-binding",
@ -3405,7 +3424,7 @@ dependencies = [
[[package]]
name = "node-file-trace"
version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230518.4#e3a5cfb4a927b72d3cb827c7c8306f8dede34d41"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230522.2#cee02be048d8f402f1ad50dd2b8589cacd9ae910"
dependencies = [
"anyhow",
"serde",
@ -3974,6 +3993,17 @@ dependencies = [
"rand",
]
[[package]]
name = "postcard"
version = "1.0.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cfa512cd0d087cc9f99ad30a1bf64795b67871edbead083ffc3a4dfafa59aa00"
dependencies = [
"cobs",
"heapless",
"serde",
]
[[package]]
name = "ppv-lite86"
version = "0.2.17"
@ -5256,9 +5286,9 @@ checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
[[package]]
name = "styled_components"
version = "0.56.0"
version = "0.57.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "335d6e59c6c19a92fa8169acec235c40e5fbae41d2b58de39b550268827a4aac"
checksum = "bdd3b5976764b6a393329adeae799ccad95416b9a5cd4f9d2076c2737bfd13c3"
dependencies = [
"Inflector",
"once_cell",
@ -5270,9 +5300,9 @@ dependencies = [
[[package]]
name = "styled_jsx"
version = "0.33.0"
version = "0.34.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f90351bac51f52a2283c0338871d1a8471d500223b0493044aa9314e8e7e73f6"
checksum = "9154a21e45febf6553717c0f962749669dcf0febd2880543d35ef3f05ef825c1"
dependencies = [
"easy-error",
"swc_core",
@ -6172,9 +6202,9 @@ dependencies = [
[[package]]
name = "swc_emotion"
version = "0.32.0"
version = "0.33.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0dfeb6d1c29a115d3ce2ad4e22b1867c14e6e0ca51e0742a481c9135b0802a46"
checksum = "d37eface98570bfeb180eb3fd2dcb22c3598af05cae31beac4c06274b8130766"
dependencies = [
"base64 0.13.1",
"byteorder",
@ -6313,9 +6343,9 @@ dependencies = [
[[package]]
name = "swc_relay"
version = "0.4.0"
version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "833baec21649cbf29221d0935090aac77d4268cc1923129b2dfac2dba6c7a415"
checksum = "ae0d066c10af82a7c3cfcd23d2d7f982291816af20aca01b19a132d8d798b997"
dependencies = [
"once_cell",
"regex",
@ -6916,6 +6946,16 @@ dependencies = [
"tracing-core",
]
[[package]]
name = "tracing-serde"
version = "0.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bc6b213177105856957181934e4920de57730fc69bf42c37ee5bb664d406d9e1"
dependencies = [
"serde",
"tracing-core",
]
[[package]]
name = "tracing-subscriber"
version = "0.3.17"
@ -6926,12 +6966,15 @@ dependencies = [
"nu-ansi-term",
"once_cell",
"regex",
"serde",
"serde_json",
"sharded-slab",
"smallvec",
"thread_local",
"tracing",
"tracing-core",
"tracing-log",
"tracing-serde",
]
[[package]]
@ -6991,7 +7034,7 @@ dependencies = [
[[package]]
name = "turbo-tasks"
version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230518.4#e3a5cfb4a927b72d3cb827c7c8306f8dede34d41"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230522.2#cee02be048d8f402f1ad50dd2b8589cacd9ae910"
dependencies = [
"anyhow",
"auto-hash-map",
@ -7013,6 +7056,7 @@ dependencies = [
"stable_deref_trait",
"thiserror",
"tokio",
"tracing",
"turbo-tasks-build",
"turbo-tasks-hash",
"turbo-tasks-macros",
@ -7021,7 +7065,7 @@ dependencies = [
[[package]]
name = "turbo-tasks-build"
version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230518.4#e3a5cfb4a927b72d3cb827c7c8306f8dede34d41"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230522.2#cee02be048d8f402f1ad50dd2b8589cacd9ae910"
dependencies = [
"anyhow",
"cargo-lock",
@ -7033,7 +7077,7 @@ dependencies = [
[[package]]
name = "turbo-tasks-bytes"
version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230518.4#e3a5cfb4a927b72d3cb827c7c8306f8dede34d41"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230522.2#cee02be048d8f402f1ad50dd2b8589cacd9ae910"
dependencies = [
"anyhow",
"bytes",
@ -7048,7 +7092,7 @@ dependencies = [
[[package]]
name = "turbo-tasks-env"
version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230518.4#e3a5cfb4a927b72d3cb827c7c8306f8dede34d41"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230522.2#cee02be048d8f402f1ad50dd2b8589cacd9ae910"
dependencies = [
"anyhow",
"dotenvy",
@ -7062,7 +7106,7 @@ dependencies = [
[[package]]
name = "turbo-tasks-fetch"
version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230518.4#e3a5cfb4a927b72d3cb827c7c8306f8dede34d41"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230522.2#cee02be048d8f402f1ad50dd2b8589cacd9ae910"
dependencies = [
"anyhow",
"indexmap",
@ -7079,7 +7123,7 @@ dependencies = [
[[package]]
name = "turbo-tasks-fs"
version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230518.4#e3a5cfb4a927b72d3cb827c7c8306f8dede34d41"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230522.2#cee02be048d8f402f1ad50dd2b8589cacd9ae910"
dependencies = [
"anyhow",
"auto-hash-map",
@ -7100,6 +7144,7 @@ dependencies = [
"serde_json",
"serde_path_to_error",
"tokio",
"tracing",
"turbo-tasks",
"turbo-tasks-build",
"turbo-tasks-hash",
@ -7108,7 +7153,7 @@ dependencies = [
[[package]]
name = "turbo-tasks-hash"
version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230518.4#e3a5cfb4a927b72d3cb827c7c8306f8dede34d41"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230522.2#cee02be048d8f402f1ad50dd2b8589cacd9ae910"
dependencies = [
"base16",
"hex",
@ -7120,7 +7165,7 @@ dependencies = [
[[package]]
name = "turbo-tasks-macros"
version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230518.4#e3a5cfb4a927b72d3cb827c7c8306f8dede34d41"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230522.2#cee02be048d8f402f1ad50dd2b8589cacd9ae910"
dependencies = [
"anyhow",
"convert_case 0.6.0",
@ -7134,7 +7179,7 @@ dependencies = [
[[package]]
name = "turbo-tasks-macros-shared"
version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230518.4#e3a5cfb4a927b72d3cb827c7c8306f8dede34d41"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230522.2#cee02be048d8f402f1ad50dd2b8589cacd9ae910"
dependencies = [
"proc-macro2",
"quote",
@ -7144,7 +7189,7 @@ dependencies = [
[[package]]
name = "turbo-tasks-malloc"
version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230518.4#e3a5cfb4a927b72d3cb827c7c8306f8dede34d41"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230522.2#cee02be048d8f402f1ad50dd2b8589cacd9ae910"
dependencies = [
"mimalloc",
]
@ -7152,7 +7197,7 @@ dependencies = [
[[package]]
name = "turbo-tasks-memory"
version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230518.4#e3a5cfb4a927b72d3cb827c7c8306f8dede34d41"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230522.2#cee02be048d8f402f1ad50dd2b8589cacd9ae910"
dependencies = [
"anyhow",
"auto-hash-map",
@ -7165,6 +7210,7 @@ dependencies = [
"priority-queue",
"rustc-hash",
"tokio",
"tracing",
"turbo-tasks",
"turbo-tasks-build",
"turbo-tasks-hash",
@ -7174,7 +7220,7 @@ dependencies = [
[[package]]
name = "turbo-tasks-testing"
version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230518.4#e3a5cfb4a927b72d3cb827c7c8306f8dede34d41"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230522.2#cee02be048d8f402f1ad50dd2b8589cacd9ae910"
dependencies = [
"anyhow",
"auto-hash-map",
@ -7186,7 +7232,7 @@ dependencies = [
[[package]]
name = "turbopack"
version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230518.4#e3a5cfb4a927b72d3cb827c7c8306f8dede34d41"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230522.2#cee02be048d8f402f1ad50dd2b8589cacd9ae910"
dependencies = [
"anyhow",
"async-recursion",
@ -7216,7 +7262,7 @@ dependencies = [
[[package]]
name = "turbopack-bench"
version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230518.4#e3a5cfb4a927b72d3cb827c7c8306f8dede34d41"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230522.2#cee02be048d8f402f1ad50dd2b8589cacd9ae910"
dependencies = [
"anyhow",
"chromiumoxide",
@ -7246,7 +7292,7 @@ dependencies = [
[[package]]
name = "turbopack-binding"
version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230518.4#e3a5cfb4a927b72d3cb827c7c8306f8dede34d41"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230522.2#cee02be048d8f402f1ad50dd2b8589cacd9ae910"
dependencies = [
"auto-hash-map",
"mdxjs",
@ -7286,13 +7332,20 @@ dependencies = [
[[package]]
name = "turbopack-cli-utils"
version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230518.4#e3a5cfb4a927b72d3cb827c7c8306f8dede34d41"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230522.2#cee02be048d8f402f1ad50dd2b8589cacd9ae910"
dependencies = [
"anyhow",
"clap 4.1.11",
"crossbeam-channel",
"crossterm",
"ctrlc",
"once_cell",
"owo-colors",
"postcard",
"serde",
"serde_json",
"tracing",
"tracing-subscriber",
"turbo-tasks",
"turbo-tasks-build",
"turbo-tasks-fs",
@ -7303,7 +7356,7 @@ dependencies = [
[[package]]
name = "turbopack-core"
version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230518.4#e3a5cfb4a927b72d3cb827c7c8306f8dede34d41"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230522.2#cee02be048d8f402f1ad50dd2b8589cacd9ae910"
dependencies = [
"anyhow",
"async-trait",
@ -7320,6 +7373,7 @@ dependencies = [
"serde_qs",
"sourcemap",
"swc_core",
"tracing",
"turbo-tasks",
"turbo-tasks-build",
"turbo-tasks-env",
@ -7330,7 +7384,7 @@ dependencies = [
[[package]]
name = "turbopack-create-test-app"
version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230518.4#e3a5cfb4a927b72d3cb827c7c8306f8dede34d41"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230522.2#cee02be048d8f402f1ad50dd2b8589cacd9ae910"
dependencies = [
"anyhow",
"clap 4.1.11",
@ -7343,7 +7397,7 @@ dependencies = [
[[package]]
name = "turbopack-css"
version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230518.4#e3a5cfb4a927b72d3cb827c7c8306f8dede34d41"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230522.2#cee02be048d8f402f1ad50dd2b8589cacd9ae910"
dependencies = [
"anyhow",
"async-trait",
@ -7365,7 +7419,7 @@ dependencies = [
[[package]]
name = "turbopack-dev"
version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230518.4#e3a5cfb4a927b72d3cb827c7c8306f8dede34d41"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230522.2#cee02be048d8f402f1ad50dd2b8589cacd9ae910"
dependencies = [
"anyhow",
"indexmap",
@ -7373,6 +7427,7 @@ dependencies = [
"serde",
"serde_json",
"serde_qs",
"tracing",
"turbo-tasks",
"turbo-tasks-build",
"turbo-tasks-fs",
@ -7386,7 +7441,7 @@ dependencies = [
[[package]]
name = "turbopack-dev-server"
version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230518.4#e3a5cfb4a927b72d3cb827c7c8306f8dede34d41"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230522.2#cee02be048d8f402f1ad50dd2b8589cacd9ae910"
dependencies = [
"anyhow",
"async-compression",
@ -7421,7 +7476,7 @@ dependencies = [
[[package]]
name = "turbopack-ecmascript"
version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230518.4#e3a5cfb4a927b72d3cb827c7c8306f8dede34d41"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230522.2#cee02be048d8f402f1ad50dd2b8589cacd9ae910"
dependencies = [
"anyhow",
"async-trait",
@ -7457,7 +7512,7 @@ dependencies = [
[[package]]
name = "turbopack-ecmascript-plugins"
version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230518.4#e3a5cfb4a927b72d3cb827c7c8306f8dede34d41"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230522.2#cee02be048d8f402f1ad50dd2b8589cacd9ae910"
dependencies = [
"anyhow",
"async-trait",
@ -7478,7 +7533,7 @@ dependencies = [
[[package]]
name = "turbopack-env"
version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230518.4#e3a5cfb4a927b72d3cb827c7c8306f8dede34d41"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230522.2#cee02be048d8f402f1ad50dd2b8589cacd9ae910"
dependencies = [
"anyhow",
"indexmap",
@ -7494,7 +7549,7 @@ dependencies = [
[[package]]
name = "turbopack-image"
version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230518.4#e3a5cfb4a927b72d3cb827c7c8306f8dede34d41"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230522.2#cee02be048d8f402f1ad50dd2b8589cacd9ae910"
dependencies = [
"anyhow",
"base64 0.21.0",
@ -7514,7 +7569,7 @@ dependencies = [
[[package]]
name = "turbopack-json"
version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230518.4#e3a5cfb4a927b72d3cb827c7c8306f8dede34d41"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230522.2#cee02be048d8f402f1ad50dd2b8589cacd9ae910"
dependencies = [
"anyhow",
"serde",
@ -7529,7 +7584,7 @@ dependencies = [
[[package]]
name = "turbopack-mdx"
version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230518.4#e3a5cfb4a927b72d3cb827c7c8306f8dede34d41"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230522.2#cee02be048d8f402f1ad50dd2b8589cacd9ae910"
dependencies = [
"anyhow",
"mdxjs",
@ -7544,7 +7599,7 @@ dependencies = [
[[package]]
name = "turbopack-node"
version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230518.4#e3a5cfb4a927b72d3cb827c7c8306f8dede34d41"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230522.2#cee02be048d8f402f1ad50dd2b8589cacd9ae910"
dependencies = [
"anyhow",
"async-stream",
@ -7562,6 +7617,7 @@ dependencies = [
"serde_json",
"serde_qs",
"tokio",
"tracing",
"turbo-tasks",
"turbo-tasks-build",
"turbo-tasks-bytes",
@ -7578,7 +7634,7 @@ dependencies = [
[[package]]
name = "turbopack-static"
version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230518.4#e3a5cfb4a927b72d3cb827c7c8306f8dede34d41"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230522.2#cee02be048d8f402f1ad50dd2b8589cacd9ae910"
dependencies = [
"anyhow",
"serde",
@ -7594,7 +7650,7 @@ dependencies = [
[[package]]
name = "turbopack-swc-utils"
version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230518.4#e3a5cfb4a927b72d3cb827c7c8306f8dede34d41"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230522.2#cee02be048d8f402f1ad50dd2b8589cacd9ae910"
dependencies = [
"swc_core",
"turbo-tasks",
@ -7605,7 +7661,7 @@ dependencies = [
[[package]]
name = "turbopack-test-utils"
version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230518.4#e3a5cfb4a927b72d3cb827c7c8306f8dede34d41"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230522.2#cee02be048d8f402f1ad50dd2b8589cacd9ae910"
dependencies = [
"anyhow",
"once_cell",

View file

@ -42,11 +42,11 @@ swc_core = { version = "0.76.18" }
testing = { version = "0.33.11" }
# Turbo crates
turbopack-binding = { git = "https://github.com/vercel/turbo.git", tag = "turbopack-230518.4" }
turbopack-binding = { git = "https://github.com/vercel/turbo.git", tag = "turbopack-230522.2" }
# [TODO]: need to refactor embed_directory! macro usages, as well as resolving turbo_tasks::function, macros..
turbo-tasks = { git = "https://github.com/vercel/turbo.git", tag = "turbopack-230518.4" }
turbo-tasks = { git = "https://github.com/vercel/turbo.git", tag = "turbopack-230522.2" }
# [TODO]: need to refactor embed_directory! macro usage in next-core
turbo-tasks-fs = { git = "https://github.com/vercel/turbo.git", tag = "turbopack-230518.4" }
turbo-tasks-fs = { git = "https://github.com/vercel/turbo.git", tag = "turbopack-230522.2" }
# General Deps
@ -83,6 +83,7 @@ concurrent-queue = "2.1.0"
console = "0.15.5"
console-subscriber = "0.1.8"
criterion = "0.4.0"
crossbeam-channel = "0.5.8"
dashmap = "5.4.0"
dialoguer = "0.10.3"
dunce = "1.0.3"
@ -102,6 +103,7 @@ owo-colors = "3.5.0"
parking_lot = "0.12.1"
pathdiff = "0.2.1"
pin-project-lite = "0.2.9"
postcard = "1.0.4"
predicates = "2.1.5"
pretty_assertions = "1.3.0"
proc-macro2 = "1.0.51"
@ -123,6 +125,7 @@ tiny-gradient = "0.1.0"
tokio = "1.25.0"
tokio-util = { version = "0.7.7", features = ["io"] }
tracing = "0.1.37"
tracing-subscriber = "0.3.16"
url = "2.2.2"
urlencoding = "2.1.2"
webbrowser = "0.8.7"

View file

@ -10,8 +10,8 @@
"check": "tsc --noEmit"
},
"dependencies": {
"@vercel/turbopack-dev": "https://gitpkg.vercel.app/vercel/turbo/crates/turbopack-dev/js?turbopack-230518.4",
"@vercel/turbopack-node": "https://gitpkg.vercel.app/vercel/turbo/crates/turbopack-node/js?turbopack-230518.4",
"@vercel/turbopack-dev": "https://gitpkg.vercel.app/vercel/turbo/crates/turbopack-dev/js?turbopack-230522.2",
"@vercel/turbopack-node": "https://gitpkg.vercel.app/vercel/turbo/crates/turbopack-node/js?turbopack-230522.2",
"anser": "^2.1.1",
"css.escape": "^1.5.1",
"next": "*",

View file

@ -56,6 +56,7 @@ futures = { workspace = true }
indexmap = { workspace = true }
mime = { workspace = true }
next-core = { workspace = true }
once_cell = { workspace = true }
owo-colors = { workspace = true }
serde = { workspace = true }
tokio = { workspace = true, features = ["full"] }
@ -72,6 +73,8 @@ turbopack-binding = { workspace = true, features = [
"__turbopack_dev_server",
]}
turbo-tasks = { workspace = true }
tracing = { workspace = true }
tracing-subscriber = { workspace = true, features = ["env-filter", "json"] }
webbrowser = { workspace = true }
[dev-dependencies]

View file

@ -10,7 +10,7 @@ use std::{
future::{join, Future},
io::{stdout, Write},
net::{IpAddr, SocketAddr},
path::{PathBuf, MAIN_SEPARATOR},
path::{Path, PathBuf, MAIN_SEPARATOR},
sync::Arc,
time::{Duration, Instant},
};
@ -25,7 +25,9 @@ use next_core::{
next_image::NextImageContentSourceVc, pages_structure::find_pages_structure,
router_source::NextRouterContentSourceVc, source_map::NextSourceMapTraceContentSourceVc,
};
use once_cell::sync::Lazy;
use owo_colors::OwoColorize;
use tracing_subscriber::{prelude::*, EnvFilter, Registry};
use turbo_tasks::{
util::{FormatBytes, FormatDuration},
StatsType, TransientInstance, TurboTasks, TurboTasksBackendApi, UpdateInfo, Value,
@ -38,7 +40,15 @@ use turbopack_binding::{
tasks_memory::MemoryBackend,
},
turbopack::{
cli_utils::issue::{ConsoleUiVc, LogOptions},
cli_utils::{
exit::ExitGuard,
issue::{ConsoleUiVc, LogOptions},
raw_trace::RawTraceLayer,
trace_writer::TraceWriter,
tracing_presets::{
TRACING_OVERVIEW_TARGETS, TRACING_TURBOPACK_TARGETS, TRACING_TURBO_TASKS_TARGETS,
},
},
core::{
environment::{ServerAddr, ServerAddrVc},
issue::{IssueReporterVc, IssueSeverity},
@ -424,12 +434,81 @@ pub fn register() {
include!(concat!(env!("OUT_DIR"), "/register.rs"));
}
static TRACING_NEXT_TARGETS: Lazy<Vec<&str>> = Lazy::new(|| {
[
&TRACING_OVERVIEW_TARGETS[..],
&[
"next_dev=trace",
"next_core=trace",
"next_font=trace",
"turbopack_node=trace",
],
]
.concat()
});
static TRACING_NEXT_TURBOPACK_TARGETS: Lazy<Vec<&str>> =
Lazy::new(|| [&TRACING_NEXT_TARGETS[..], &TRACING_TURBOPACK_TARGETS[..]].concat());
static TRACING_NEXT_TURBO_TASKS_TARGETS: Lazy<Vec<&str>> = Lazy::new(|| {
[
&TRACING_TURBOPACK_TARGETS[..],
&TRACING_TURBO_TASKS_TARGETS[..],
]
.concat()
});
/// Start a devserver with the given options.
pub async fn start_server(options: &DevServerOptions) -> Result<()> {
let start = Instant::now();
#[cfg(feature = "tokio_console")]
console_subscriber::init();
let trace = std::env::var("NEXT_TURBOPACK_TRACING").ok();
let _guard = if let Some(mut trace) = trace {
// Trace presets
match trace.as_str() {
"overview" => {
trace = TRACING_OVERVIEW_TARGETS.join(",");
}
"next" => {
trace = TRACING_NEXT_TARGETS.join(",");
}
"turbopack" => {
trace = TRACING_NEXT_TURBOPACK_TARGETS.join(",");
}
"turbo-tasks" => {
trace = TRACING_NEXT_TURBO_TASKS_TARGETS.join(",");
}
_ => {}
}
let subscriber = Registry::default();
let subscriber = subscriber.with(EnvFilter::builder().parse(trace).unwrap());
let internal_dir = options
.dir
.as_deref()
.unwrap_or_else(|| Path::new("."))
.join(".next");
std::fs::create_dir_all(&internal_dir)
.context("Unable to create .next directory")
.unwrap();
let trace_file = internal_dir.join("trace.log");
let trace_writer = std::fs::File::create(trace_file).unwrap();
let (trace_writer, guard) = TraceWriter::new(trace_writer);
let subscriber = subscriber.with(RawTraceLayer::new(trace_writer));
let guard = ExitGuard::new(guard).unwrap();
subscriber.init();
Some(guard)
} else {
None
};
register();
let dir = options

View file

@ -1012,8 +1012,8 @@ importers:
'@types/react': 18.2.5
'@types/react-dom': 18.2.3
'@vercel/ncc': ^0.36.0
'@vercel/turbopack-dev': https://gitpkg.vercel.app/vercel/turbo/crates/turbopack-dev/js?turbopack-230518.4
'@vercel/turbopack-node': https://gitpkg.vercel.app/vercel/turbo/crates/turbopack-node/js?turbopack-230518.4
'@vercel/turbopack-dev': https://gitpkg.vercel.app/vercel/turbo/crates/turbopack-dev/js?turbopack-230522.2
'@vercel/turbopack-node': https://gitpkg.vercel.app/vercel/turbo/crates/turbopack-node/js?turbopack-230522.2
anser: ^2.1.1
css.escape: ^1.5.1
find-up: ^6.3.0
@ -1025,8 +1025,8 @@ importers:
stacktrace-parser: ^0.1.10
strip-ansi: ^7.0.1
dependencies:
'@vercel/turbopack-dev': '@gitpkg.vercel.app/vercel/turbo/crates/turbopack-dev/js?turbopack-230518.4_react-refresh@0.12.0'
'@vercel/turbopack-node': '@gitpkg.vercel.app/vercel/turbo/crates/turbopack-node/js?turbopack-230518.4'
'@vercel/turbopack-dev': '@gitpkg.vercel.app/vercel/turbo/crates/turbopack-dev/js?turbopack-230522.2_react-refresh@0.12.0'
'@vercel/turbopack-node': '@gitpkg.vercel.app/vercel/turbo/crates/turbopack-node/js?turbopack-230522.2'
anser: 2.1.1
css.escape: 1.5.1
next: link:../../../../next
@ -5997,7 +5997,7 @@ packages:
dependencies:
'@mdx-js/mdx': 2.2.1
source-map: 0.7.3
webpack: 5.74.0
webpack: 5.74.0_@swc+core@1.3.55
transitivePeerDependencies:
- supports-color
@ -6669,7 +6669,6 @@ packages:
cpu: [arm64]
os: [darwin]
requiresBuild: true
dev: true
optional: true
/@swc/core-darwin-x64/1.3.55:
@ -6678,7 +6677,6 @@ packages:
cpu: [x64]
os: [darwin]
requiresBuild: true
dev: true
optional: true
/@swc/core-linux-arm-gnueabihf/1.3.55:
@ -6687,7 +6685,6 @@ packages:
cpu: [arm]
os: [linux]
requiresBuild: true
dev: true
optional: true
/@swc/core-linux-arm64-gnu/1.3.55:
@ -6696,7 +6693,6 @@ packages:
cpu: [arm64]
os: [linux]
requiresBuild: true
dev: true
optional: true
/@swc/core-linux-arm64-musl/1.3.55:
@ -6705,7 +6701,6 @@ packages:
cpu: [arm64]
os: [linux]
requiresBuild: true
dev: true
optional: true
/@swc/core-linux-x64-gnu/1.3.55:
@ -6714,7 +6709,6 @@ packages:
cpu: [x64]
os: [linux]
requiresBuild: true
dev: true
optional: true
/@swc/core-linux-x64-musl/1.3.55:
@ -6723,7 +6717,6 @@ packages:
cpu: [x64]
os: [linux]
requiresBuild: true
dev: true
optional: true
/@swc/core-win32-arm64-msvc/1.3.55:
@ -6732,7 +6725,6 @@ packages:
cpu: [arm64]
os: [win32]
requiresBuild: true
dev: true
optional: true
/@swc/core-win32-ia32-msvc/1.3.55:
@ -6741,7 +6733,6 @@ packages:
cpu: [ia32]
os: [win32]
requiresBuild: true
dev: true
optional: true
/@swc/core-win32-x64-msvc/1.3.55:
@ -6750,7 +6741,6 @@ packages:
cpu: [x64]
os: [win32]
requiresBuild: true
dev: true
optional: true
/@swc/core/1.3.55_@swc+helpers@0.5.1:
@ -6775,7 +6765,6 @@ packages:
'@swc/core-win32-arm64-msvc': 1.3.55
'@swc/core-win32-ia32-msvc': 1.3.55
'@swc/core-win32-x64-msvc': 1.3.55
dev: true
/@swc/helpers/0.4.14:
resolution: {integrity: sha512-4C7nX/dvpzB7za4Ql9K81xK3HPxCpHMgwTZVyf+9JQ6VUbn9jjZVN7/Nkdz/Ugzs2CSjqnL/UPXroiVBVHUWUw==}
@ -23669,7 +23658,6 @@ packages:
source-map: 0.6.1
terser: 5.14.1
webpack: 5.74.0_@swc+core@1.3.55
dev: true
/terser-webpack-plugin/5.2.4_webpack@5.74.0:
resolution: {integrity: sha512-E2CkNMN+1cho04YpdANyRrn8CyN4yMy+WdFKZIySFZrGXZxJwJP6PMNGGc/Mcr6qygQHUUqRxnAPmi0M9f00XA==}
@ -25079,7 +25067,6 @@ packages:
- '@swc/core'
- esbuild
- uglify-js
dev: true
/websocket-driver/0.7.3:
resolution: {integrity: sha512-bpxWlvbbB459Mlipc5GBzzZwhoZgGEZLuqPaR0INBGnPAY1vdBX6hPnoFXiw+3yWxDuHyQjO2oXTMyS8A5haFg==}
@ -25490,9 +25477,9 @@ packages:
/zwitch/2.0.4:
resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==}
'@gitpkg.vercel.app/vercel/turbo/crates/turbopack-dev/js?turbopack-230518.4_react-refresh@0.12.0':
resolution: {tarball: https://gitpkg.vercel.app/vercel/turbo/crates/turbopack-dev/js?turbopack-230518.4}
id: '@gitpkg.vercel.app/vercel/turbo/crates/turbopack-dev/js?turbopack-230518.4'
'@gitpkg.vercel.app/vercel/turbo/crates/turbopack-dev/js?turbopack-230522.2_react-refresh@0.12.0':
resolution: {tarball: https://gitpkg.vercel.app/vercel/turbo/crates/turbopack-dev/js?turbopack-230522.2}
id: '@gitpkg.vercel.app/vercel/turbo/crates/turbopack-dev/js?turbopack-230522.2'
name: '@vercel/turbopack-dev'
version: 0.0.0
dependencies:
@ -25502,8 +25489,8 @@ packages:
- webpack
dev: false
'@gitpkg.vercel.app/vercel/turbo/crates/turbopack-node/js?turbopack-230518.4':
resolution: {tarball: https://gitpkg.vercel.app/vercel/turbo/crates/turbopack-node/js?turbopack-230518.4}
'@gitpkg.vercel.app/vercel/turbo/crates/turbopack-node/js?turbopack-230522.2':
resolution: {tarball: https://gitpkg.vercel.app/vercel/turbo/crates/turbopack-node/js?turbopack-230522.2}
name: '@vercel/turbopack-node'
version: 0.0.0
dependencies: