diff --git a/Cargo.lock b/Cargo.lock index 84bf7dc083..df37680f44 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4588,9 +4588,9 @@ dependencies = [ [[package]] name = "profiling" -version = "1.0.6" +version = "1.0.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f61dcf0b917cd75d4521d7343d1ffff3d1583054133c9b5cbea3375c703c40d" +checksum = "332cd62e95873ea4f41f3dfd6bbbfc5b52aec892d7e8d534197c4720a0bbbab2" dependencies = [ "profiling-procmacros", "tracy-client", @@ -4598,9 +4598,9 @@ dependencies = [ [[package]] name = "profiling-procmacros" -version = "1.0.6" +version = "1.0.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98eee3c112f2a6f784b6713fe1d7fb7d6506e066121c0a49371fdb976f72bae5" +checksum = "a10adb8d151bb1280afb8bed41ae5db26be1b056964947133c7525b0bf39c0b0" dependencies = [ "quote 1.0.21", "syn 1.0.100", @@ -6377,9 +6377,9 @@ dependencies = [ [[package]] name = "tracing-tracy" -version = "0.9.0" +version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23a42311a35ed976d72f359de43e9fe028ec9d9f1051c4c52bd05a4f66ff3cbf" +checksum = "55c48ef3e655220d4e43a6be44aa84f078c3004357251cab45f9cc15551a593e" dependencies = [ "tracing-core", "tracing-subscriber", @@ -6388,9 +6388,9 @@ dependencies = [ [[package]] name = "tracy-client" -version = "0.13.2" +version = "0.15.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42ebfe7a24c18b5ba86d8920c124b41b942352f863fbe0c84d3d63428fa1860f" +checksum = "434ecabbda9f67eeea1eab44d52f4a20538afa3e2c2770f2efc161142b25b608" dependencies = [ "loom", "once_cell", @@ -6399,9 +6399,9 @@ dependencies = [ [[package]] name = "tracy-client-sys" -version = "0.17.1" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "178d021455e83078bb38c00b70046b95117ef0a0312cbef925f426d833d11c79" +checksum = "0d99f5fc382239d08b6bf05bb6206a585bfdb988c878f2499081d0f285ef7819" dependencies = [ "cc", ] @@ -6765,8 +6765,8 @@ name = "veloren-common-base" version = "0.10.0" dependencies = [ "directories-next", + "profiling", "tracing", - "tracy-client", ] [[package]] @@ -6878,7 +6878,7 @@ dependencies = [ "crossbeam-channel", "futures-core", "futures-util", - "hashbrown 0.11.2", + "hashbrown 0.12.3", "lazy_static", "lz-fear", "prometheus", @@ -7110,7 +7110,6 @@ dependencies = [ "num 0.4.0", "num_cpus", "ordered-float 3.1.0", - "profiling", "rand 0.8.5", "rand_chacha 0.3.1", "rayon", diff --git a/common/base/Cargo.toml b/common/base/Cargo.toml index fc79ae9d20..860b6ec8a0 100644 --- a/common/base/Cargo.toml +++ b/common/base/Cargo.toml @@ -6,11 +6,14 @@ description = "minimal dependency for crates to now depend on whole common" version = "0.10.0" [features] -tracy = ["tracy-client"] +tracy = ["profiling", "profiling/profile-with-tracy"] [dependencies] tracing = { version = "0.1", default-features = false } directories-next = "2.0" -# Tracy -tracy-client = { version = "0.13.1", optional = true } +# Profiling / Tracy +# NOTE: This must be kept in sync with the `tracy-client` version used by the +# `tracing-tracy` version in `common/frontend`. +# Using `=` here keeps `cargo update` from breaking this. +profiling = { version = "=1.0.8", default-features = false, optional = true } diff --git a/common/base/src/lib.rs b/common/base/src/lib.rs index 6e9b2771a7..16580b938b 100644 --- a/common/base/src/lib.rs +++ b/common/base/src/lib.rs @@ -23,7 +23,8 @@ macro_rules! dev_panic { }; } -#[cfg(feature = "tracy")] pub use tracy_client; +#[cfg(feature = "tracy")] +pub use profiling::tracy_client; /// Allows downstream crates to conditionally do things based on whether tracy /// is enabled without having to expose a cargo feature themselves. @@ -156,7 +157,7 @@ macro_rules! prof_span_alloc { $crate::tracy_client::Client::running() .expect("prof_span_alloc! without a running tracy_client::Client") // No callstack since this has significant overhead - .span_alloc($name, function_name, file!(), line!(), 0) + .span_alloc(Some($name), function_name, file!(), line!(), 0) }); }; // Shorthand for when you want the guard to just be dropped at the end of the scope instead diff --git a/common/frontend/Cargo.toml b/common/frontend/Cargo.toml index e123a8ca7a..5106be40f8 100644 --- a/common/frontend/Cargo.toml +++ b/common/frontend/Cargo.toml @@ -19,4 +19,5 @@ tracing-log = "0.1.1" tracing-subscriber = { version = "0.3.7", default-features = false, features = ["env-filter", "fmt", "time", "ansi", "smallvec", "tracing-log"]} # Tracy -tracing-tracy = { version = "0.9.0", optional = true } +# NOTE: This must be kept in sync with the `profiling` version in `common/base`. +tracing-tracy = { version = "0.10.2", optional = true } diff --git a/voxygen/Cargo.toml b/voxygen/Cargo.toml index c630cfc619..30be0d04c7 100644 --- a/voxygen/Cargo.toml +++ b/voxygen/Cargo.toml @@ -25,7 +25,7 @@ hot-egui = ["voxygen-egui/use-dyn-lib", "egui"] hot-reloading = ["common/hot-reloading"] singleplayer = ["server"] simd = ["vek/platform_intrinsics"] -tracy = ["profiling", "profiling/profile-with-tracy", "common-frontend/tracy", "client/tracy"] +tracy = ["common-frontend/tracy", "client/tracy"] tracy-memory = ["tracy"] # enables heap profiling with tracy plugins = ["client/plugins"] egui-ui = ["voxygen-egui", "egui", "egui_wgpu_backend", "egui_winit_platform"] @@ -128,17 +128,13 @@ ron = {version = "0.8", default-features = false} serde = {version = "1.0", features = [ "rc", "derive" ]} slab = "0.4.2" strum = { version = "0.24", features = ["derive"] } +tracing = "0.1" treeculler = "0.2" tokio = { version = "1.14", default-features = false, features = ["rt-multi-thread"] } num_cpus = "1.0" -# vec_map = { version = "0.8.2" } inline_tweak = "1.0.2" itertools = "0.10.0" -# Tracy -tracing = "0.1" -profiling = { version = "1.0.6", default-features = false, optional = true } - # Discord RPC discord-sdk = { version = "0.3.0", optional = true }