logiguard fork v3: full patch set on verified 8c74db0 tree
Includes prior-session patches (carry forward so the app compiles): - crates/gpui/build.rs: cross-compile manifest fix - crates/gpui/src/platform.rs: PlatformWindow::activate_with_token trait method - crates/gpui/src/window.rs: Window::activate_with_token public API - crates/gpui_linux/src/linux/wayland/window.rs: WaylandWindow::activate_with_token + activate() keyboard-serial fix Plus the focus-serial fix: - serial.rs: SerialKind::KeyboardEnter - client.rs: store wl_keyboard.enter serial; latest_serial_of() Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
22
crates/ztracing/Cargo.toml
Normal file
22
crates/ztracing/Cargo.toml
Normal file
@@ -0,0 +1,22 @@
|
||||
[package]
|
||||
name = "ztracing"
|
||||
version = "0.1.0"
|
||||
edition.workspace = true
|
||||
publish.workspace = true
|
||||
license = "GPL-3.0-or-later"
|
||||
|
||||
[lints]
|
||||
workspace = true
|
||||
|
||||
[features]
|
||||
tracy = ["tracing-tracy", "tracy-client"]
|
||||
|
||||
[dependencies]
|
||||
zlog.workspace = true
|
||||
tracing.workspace = true
|
||||
|
||||
tracing-subscriber = "0.3.22"
|
||||
tracing-tracy = { version = "0.11.4", optional = true, features = ["enable", "ondemand"] }
|
||||
tracy-client = { version = "0.18.2", optional = true, features = ["enable", "ondemand"] }
|
||||
|
||||
ztracing_macro.workspace = true
|
||||
1
crates/ztracing/LICENSE-AGPL
Symbolic link
1
crates/ztracing/LICENSE-AGPL
Symbolic link
@@ -0,0 +1 @@
|
||||
../../LICENSE-AGPL
|
||||
1
crates/ztracing/LICENSE-APACHE
Symbolic link
1
crates/ztracing/LICENSE-APACHE
Symbolic link
@@ -0,0 +1 @@
|
||||
../../LICENSE-APACHE
|
||||
1
crates/ztracing/LICENSE-GPL
Symbolic link
1
crates/ztracing/LICENSE-GPL
Symbolic link
@@ -0,0 +1 @@
|
||||
../../LICENSE-GPL
|
||||
14
crates/ztracing/build.rs
Normal file
14
crates/ztracing/build.rs
Normal file
@@ -0,0 +1,14 @@
|
||||
use std::env;
|
||||
|
||||
fn main() {
|
||||
if env::var_os("ZTRACING").is_some() {
|
||||
println!("cargo::rustc-cfg=ztracing");
|
||||
}
|
||||
if env::var_os("ZTRACING_WITH_MEMORY").is_some() {
|
||||
println!("cargo::rustc-cfg=ztracing");
|
||||
println!("cargo::rustc-cfg=ztracing_with_memory");
|
||||
}
|
||||
println!("cargo::rerun-if-changed=build.rs");
|
||||
println!("cargo::rerun-if-env-changed=ZTRACING");
|
||||
println!("cargo::rerun-if-env-changed=ZTRACING_WITH_MEMORY");
|
||||
}
|
||||
95
crates/ztracing/src/lib.rs
Normal file
95
crates/ztracing/src/lib.rs
Normal file
@@ -0,0 +1,95 @@
|
||||
pub use tracing::{Level, field};
|
||||
|
||||
#[cfg(ztracing)]
|
||||
pub use tracing::{
|
||||
Span, debug_span, error_span, event, info_span, instrument, span, trace_span, warn_span,
|
||||
};
|
||||
|
||||
#[cfg(not(ztracing))]
|
||||
pub use ztracing_macro::instrument;
|
||||
|
||||
#[cfg(ztracing)]
|
||||
const MAX_CALLSTACK_DEPTH: u16 = 16;
|
||||
|
||||
#[cfg(all(ztracing, ztracing_with_memory))]
|
||||
#[global_allocator]
|
||||
static GLOBAL: tracy_client::ProfiledAllocator<std::alloc::System> =
|
||||
tracy_client::ProfiledAllocator::new(std::alloc::System, MAX_CALLSTACK_DEPTH);
|
||||
|
||||
#[cfg(not(ztracing))]
|
||||
pub use __consume_all_tokens as trace_span;
|
||||
#[cfg(not(ztracing))]
|
||||
pub use __consume_all_tokens as info_span;
|
||||
#[cfg(not(ztracing))]
|
||||
pub use __consume_all_tokens as debug_span;
|
||||
#[cfg(not(ztracing))]
|
||||
pub use __consume_all_tokens as warn_span;
|
||||
#[cfg(not(ztracing))]
|
||||
pub use __consume_all_tokens as error_span;
|
||||
#[cfg(not(ztracing))]
|
||||
pub use __consume_all_tokens as event;
|
||||
#[cfg(not(ztracing))]
|
||||
pub use __consume_all_tokens as span;
|
||||
|
||||
#[cfg(not(ztracing))]
|
||||
#[macro_export]
|
||||
macro_rules! __consume_all_tokens {
|
||||
($($t:tt)*) => {
|
||||
$crate::Span
|
||||
};
|
||||
}
|
||||
|
||||
#[cfg(not(ztracing))]
|
||||
pub struct Span;
|
||||
|
||||
#[cfg(not(ztracing))]
|
||||
impl Span {
|
||||
pub fn current() -> Self {
|
||||
Self
|
||||
}
|
||||
|
||||
pub fn enter(&self) {}
|
||||
|
||||
pub fn record<T, S>(&self, _t: T, _s: S) {}
|
||||
}
|
||||
|
||||
#[cfg(ztracing)]
|
||||
pub fn init() {
|
||||
use tracing_subscriber::fmt::format::DefaultFields;
|
||||
use tracing_subscriber::prelude::*;
|
||||
|
||||
#[derive(Default)]
|
||||
struct TracyLayerConfig {
|
||||
fmt: DefaultFields,
|
||||
}
|
||||
|
||||
impl tracing_tracy::Config for TracyLayerConfig {
|
||||
type Formatter = DefaultFields;
|
||||
|
||||
fn formatter(&self) -> &Self::Formatter {
|
||||
&self.fmt
|
||||
}
|
||||
|
||||
fn stack_depth(&self, _: &tracing::Metadata) -> u16 {
|
||||
MAX_CALLSTACK_DEPTH
|
||||
}
|
||||
|
||||
fn format_fields_in_zone_name(&self) -> bool {
|
||||
true
|
||||
}
|
||||
|
||||
fn on_error(&self, client: &tracy_client::Client, error: &'static str) {
|
||||
client.color_message(error, 0xFF000000, 0);
|
||||
}
|
||||
}
|
||||
|
||||
zlog::info!("Starting tracy subscriber, you can now connect the profiler");
|
||||
tracing::subscriber::set_global_default(
|
||||
tracing_subscriber::registry()
|
||||
.with(tracing_tracy::TracyLayer::new(TracyLayerConfig::default())),
|
||||
)
|
||||
.expect("setup tracy layer");
|
||||
}
|
||||
|
||||
#[cfg(not(ztracing))]
|
||||
pub fn init() {}
|
||||
Reference in New Issue
Block a user