tracy: move profiler facade into workspace crate
This commit is contained in:
parent
657e7ce2f7
commit
b7ecf700fa
7 changed files with 49 additions and 9 deletions
13
Cargo.lock
generated
13
Cargo.lock
generated
|
|
@ -681,6 +681,7 @@ dependencies = [
|
||||||
"jay-layout-animation",
|
"jay-layout-animation",
|
||||||
"jay-time",
|
"jay-time",
|
||||||
"jay-toml-config",
|
"jay-toml-config",
|
||||||
|
"jay-tracy",
|
||||||
"jay-units",
|
"jay-units",
|
||||||
"jay-utils",
|
"jay-utils",
|
||||||
"kbvm",
|
"kbvm",
|
||||||
|
|
@ -698,13 +699,11 @@ dependencies = [
|
||||||
"regex",
|
"regex",
|
||||||
"repc",
|
"repc",
|
||||||
"run-on-drop",
|
"run-on-drop",
|
||||||
"rustc-demangle",
|
|
||||||
"serde",
|
"serde",
|
||||||
"serde_json",
|
"serde_json",
|
||||||
"smallvec",
|
"smallvec",
|
||||||
"thiserror",
|
"thiserror",
|
||||||
"tiny-skia",
|
"tiny-skia",
|
||||||
"tracy-client-sys",
|
|
||||||
"uapi",
|
"uapi",
|
||||||
"walkdir",
|
"walkdir",
|
||||||
"with_builtin_macros",
|
"with_builtin_macros",
|
||||||
|
|
@ -802,6 +801,16 @@ dependencies = [
|
||||||
"walkdir",
|
"walkdir",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "jay-tracy"
|
||||||
|
version = "0.1.0"
|
||||||
|
dependencies = [
|
||||||
|
"ahash",
|
||||||
|
"parking_lot",
|
||||||
|
"rustc-demangle",
|
||||||
|
"tracy-client-sys",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "jay-units"
|
name = "jay-units"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
|
|
|
||||||
|
|
@ -26,6 +26,7 @@ members = [
|
||||||
"criteria",
|
"criteria",
|
||||||
"cmm",
|
"cmm",
|
||||||
"time",
|
"time",
|
||||||
|
"tracy",
|
||||||
"toml-config",
|
"toml-config",
|
||||||
"algorithms",
|
"algorithms",
|
||||||
"toml-spec",
|
"toml-spec",
|
||||||
|
|
@ -53,6 +54,7 @@ jay-utils = { version = "0.1.0", path = "utils" }
|
||||||
jay-criteria = { version = "0.1.0", path = "criteria" }
|
jay-criteria = { version = "0.1.0", path = "criteria" }
|
||||||
jay-cmm = { version = "0.1.0", path = "cmm" }
|
jay-cmm = { version = "0.1.0", path = "cmm" }
|
||||||
jay-time = { version = "0.1.0", path = "time" }
|
jay-time = { version = "0.1.0", path = "time" }
|
||||||
|
jay-tracy = { version = "0.1.0", path = "tracy" }
|
||||||
|
|
||||||
uapi = "0.2.13"
|
uapi = "0.2.13"
|
||||||
thiserror = "2.0.11"
|
thiserror = "2.0.11"
|
||||||
|
|
@ -85,8 +87,6 @@ serde = { version = "1.0.196", features = ["derive"] }
|
||||||
serde_json = "1.0.128"
|
serde_json = "1.0.128"
|
||||||
linearize = { version = "0.1.3", features = ["derive"] }
|
linearize = { version = "0.1.3", features = ["derive"] }
|
||||||
png = "0.18.0"
|
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"] }
|
kbvm = { version = "0.1.6", features = ["compose"] }
|
||||||
tiny-skia = { version = "0.12.0", default-features = false, features = ["std"] }
|
tiny-skia = { version = "0.12.0", default-features = false, features = ["std"] }
|
||||||
regex = "1.11.1"
|
regex = "1.11.1"
|
||||||
|
|
@ -118,4 +118,4 @@ opt-level = 3
|
||||||
[features]
|
[features]
|
||||||
rc_tracking = []
|
rc_tracking = []
|
||||||
it = []
|
it = []
|
||||||
tracy = ["dep:tracy-client-sys", "dep:rustc-demangle"]
|
tracy = ["jay-tracy/tracy"]
|
||||||
|
|
|
||||||
|
|
@ -45,7 +45,10 @@ mod macros;
|
||||||
#[macro_use]
|
#[macro_use]
|
||||||
mod leaks;
|
mod leaks;
|
||||||
#[macro_use]
|
#[macro_use]
|
||||||
mod tracy;
|
extern crate jay_tracy;
|
||||||
|
|
||||||
|
use jay_tracy as tracy;
|
||||||
|
|
||||||
mod acceptor;
|
mod acceptor;
|
||||||
mod allocator;
|
mod allocator;
|
||||||
mod animation;
|
mod animation;
|
||||||
|
|
|
||||||
14
tracy/Cargo.toml
Normal file
14
tracy/Cargo.toml
Normal 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"]
|
||||||
|
|
@ -66,9 +66,10 @@ impl ZoneName {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[macro_export]
|
||||||
macro_rules! create_zone_name {
|
macro_rules! create_zone_name {
|
||||||
($($tt:tt)*) => {
|
($($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 {
|
macro_rules! dynamic_raii_zone {
|
||||||
($name:expr) => {{
|
($name:expr) => {{
|
||||||
let name: ZoneName = $name;
|
let name: ZoneName = $name;
|
||||||
|
|
@ -92,16 +94,18 @@ macro_rules! dynamic_raii_zone {
|
||||||
}};
|
}};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[macro_export]
|
||||||
macro_rules! dynamic_zone {
|
macro_rules! dynamic_zone {
|
||||||
($name:expr) => {
|
($name:expr) => {
|
||||||
let _zone = dynamic_raii_zone!($name);
|
let _zone = dynamic_raii_zone!($name);
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[macro_export]
|
||||||
macro_rules! raii_zone {
|
macro_rules! raii_zone {
|
||||||
($($tt:tt)*) => {
|
($($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)*)
|
create_zone_name!($($tt)*)
|
||||||
});
|
});
|
||||||
CACHE.__enter()
|
CACHE.__enter()
|
||||||
|
|
@ -109,6 +113,7 @@ macro_rules! raii_zone {
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[macro_export]
|
||||||
macro_rules! zone {
|
macro_rules! zone {
|
||||||
($($tt:tt)*) => {
|
($($tt:tt)*) => {
|
||||||
let _zone = raii_zone!($($tt)*);
|
let _zone = raii_zone!($($tt)*);
|
||||||
|
|
@ -147,6 +152,7 @@ impl FrameName {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[macro_export]
|
||||||
macro_rules! raii_frame {
|
macro_rules! raii_frame {
|
||||||
($name:expr) => {{
|
($name:expr) => {{
|
||||||
let name: FrameName = $name;
|
let name: FrameName = $name;
|
||||||
|
|
@ -154,6 +160,7 @@ macro_rules! raii_frame {
|
||||||
}};
|
}};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[macro_export]
|
||||||
macro_rules! frame {
|
macro_rules! frame {
|
||||||
($name:expr) => {
|
($name:expr) => {
|
||||||
let _frame = raii_frame!($name);
|
let _frame = raii_frame!($name);
|
||||||
|
|
@ -12,36 +12,43 @@ impl FrameName {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[macro_export]
|
||||||
macro_rules! create_zone_name {
|
macro_rules! create_zone_name {
|
||||||
($($tt:tt)*) => {
|
($($tt:tt)*) => {
|
||||||
crate::tracy::ZoneName
|
$crate::ZoneName
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[macro_export]
|
||||||
macro_rules! dynamic_raii_zone {
|
macro_rules! dynamic_raii_zone {
|
||||||
($name:expr) => {};
|
($name:expr) => {};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[macro_export]
|
||||||
macro_rules! dynamic_zone {
|
macro_rules! dynamic_zone {
|
||||||
($name:expr) => {};
|
($name:expr) => {};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[macro_export]
|
||||||
macro_rules! raii_zone {
|
macro_rules! raii_zone {
|
||||||
($($tt:tt)*) => {
|
($($tt:tt)*) => {
|
||||||
()
|
()
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[macro_export]
|
||||||
macro_rules! zone {
|
macro_rules! zone {
|
||||||
($($tt:tt)*) => {};
|
($($tt:tt)*) => {};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[macro_export]
|
||||||
macro_rules! raii_frame {
|
macro_rules! raii_frame {
|
||||||
($name:expr) => {
|
($name:expr) => {
|
||||||
()
|
()
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[macro_export]
|
||||||
macro_rules! frame {
|
macro_rules! frame {
|
||||||
($name:expr) => {};
|
($name:expr) => {};
|
||||||
}
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue