1
0
Fork 0
forked from wry/wry

tracy: move profiler facade into workspace crate

This commit is contained in:
kossLAN 2026-05-29 09:17:36 -04:00
parent 657e7ce2f7
commit b7ecf700fa
No known key found for this signature in database
7 changed files with 49 additions and 9 deletions

13
Cargo.lock generated
View file

@ -681,6 +681,7 @@ dependencies = [
"jay-layout-animation",
"jay-time",
"jay-toml-config",
"jay-tracy",
"jay-units",
"jay-utils",
"kbvm",
@ -698,13 +699,11 @@ dependencies = [
"regex",
"repc",
"run-on-drop",
"rustc-demangle",
"serde",
"serde_json",
"smallvec",
"thiserror",
"tiny-skia",
"tracy-client-sys",
"uapi",
"walkdir",
"with_builtin_macros",
@ -802,6 +801,16 @@ dependencies = [
"walkdir",
]
[[package]]
name = "jay-tracy"
version = "0.1.0"
dependencies = [
"ahash",
"parking_lot",
"rustc-demangle",
"tracy-client-sys",
]
[[package]]
name = "jay-units"
version = "0.1.0"

View file

@ -26,6 +26,7 @@ members = [
"criteria",
"cmm",
"time",
"tracy",
"toml-config",
"algorithms",
"toml-spec",
@ -53,6 +54,7 @@ jay-utils = { version = "0.1.0", path = "utils" }
jay-criteria = { version = "0.1.0", path = "criteria" }
jay-cmm = { version = "0.1.0", path = "cmm" }
jay-time = { version = "0.1.0", path = "time" }
jay-tracy = { version = "0.1.0", path = "tracy" }
uapi = "0.2.13"
thiserror = "2.0.11"
@ -85,8 +87,6 @@ serde = { version = "1.0.196", features = ["derive"] }
serde_json = "1.0.128"
linearize = { version = "0.1.3", features = ["derive"] }
png = "0.18.0"
rustc-demangle = { version = "0.1.24", optional = true }
tracy-client-sys = { version = "0.24.1", features = ["ondemand", "manual-lifetime", "debuginfod", "demangle"], optional = true }
kbvm = { version = "0.1.6", features = ["compose"] }
tiny-skia = { version = "0.12.0", default-features = false, features = ["std"] }
regex = "1.11.1"
@ -118,4 +118,4 @@ opt-level = 3
[features]
rc_tracking = []
it = []
tracy = ["dep:tracy-client-sys", "dep:rustc-demangle"]
tracy = ["jay-tracy/tracy"]

View file

@ -45,7 +45,10 @@ mod macros;
#[macro_use]
mod leaks;
#[macro_use]
mod tracy;
extern crate jay_tracy;
use jay_tracy as tracy;
mod acceptor;
mod allocator;
mod animation;

14
tracy/Cargo.toml Normal file
View file

@ -0,0 +1,14 @@
[package]
name = "jay-tracy"
version = "0.1.0"
edition = "2024"
license = "GPL-3.0-only"
[dependencies]
ahash = { version = "0.8.7", optional = true }
parking_lot = { version = "0.12.1", optional = true }
rustc-demangle = { version = "0.1.24", optional = true }
tracy-client-sys = { version = "0.24.1", features = ["ondemand", "manual-lifetime", "debuginfod", "demangle"], optional = true }
[features]
tracy = ["dep:ahash", "dep:parking_lot", "dep:rustc-demangle", "dep:tracy-client-sys"]

View file

@ -66,9 +66,10 @@ impl ZoneName {
}
}
#[macro_export]
macro_rules! create_zone_name {
($($tt:tt)*) => {
crate::tracy::ZoneName::__get(&format!($($tt)*))
$crate::ZoneName::__get(&format!($($tt)*))
};
}
@ -85,6 +86,7 @@ impl Drop for RunningZone {
}
}
#[macro_export]
macro_rules! dynamic_raii_zone {
($name:expr) => {{
let name: ZoneName = $name;
@ -92,16 +94,18 @@ macro_rules! dynamic_raii_zone {
}};
}
#[macro_export]
macro_rules! dynamic_zone {
($name:expr) => {
let _zone = dynamic_raii_zone!($name);
};
}
#[macro_export]
macro_rules! raii_zone {
($($tt:tt)*) => {
{
static CACHE: std::sync::LazyLock<crate::tracy::ZoneName> = std::sync::LazyLock::new(|| {
static CACHE: std::sync::LazyLock<$crate::ZoneName> = std::sync::LazyLock::new(|| {
create_zone_name!($($tt)*)
});
CACHE.__enter()
@ -109,6 +113,7 @@ macro_rules! raii_zone {
};
}
#[macro_export]
macro_rules! zone {
($($tt:tt)*) => {
let _zone = raii_zone!($($tt)*);
@ -147,6 +152,7 @@ impl FrameName {
}
}
#[macro_export]
macro_rules! raii_frame {
($name:expr) => {{
let name: FrameName = $name;
@ -154,6 +160,7 @@ macro_rules! raii_frame {
}};
}
#[macro_export]
macro_rules! frame {
($name:expr) => {
let _frame = raii_frame!($name);

View file

@ -12,36 +12,43 @@ impl FrameName {
}
}
#[macro_export]
macro_rules! create_zone_name {
($($tt:tt)*) => {
crate::tracy::ZoneName
$crate::ZoneName
};
}
#[macro_export]
macro_rules! dynamic_raii_zone {
($name:expr) => {};
}
#[macro_export]
macro_rules! dynamic_zone {
($name:expr) => {};
}
#[macro_export]
macro_rules! raii_zone {
($($tt:tt)*) => {
()
};
}
#[macro_export]
macro_rules! zone {
($($tt:tt)*) => {};
}
#[macro_export]
macro_rules! raii_frame {
($name:expr) => {
()
};
}
#[macro_export]
macro_rules! frame {
($name:expr) => {};
}