diff options
| author | Ivan Molodetskikh <yalterz@gmail.com> | 2023-08-10 14:12:20 +0400 |
|---|---|---|
| committer | Ivan Molodetskikh <yalterz@gmail.com> | 2023-08-10 14:50:51 +0400 |
| commit | 0ed5bad452113eaa55b88c8fc46d36badea43286 (patch) | |
| tree | f3994fb64b3ff7ffcd8816b7da9bc8045f41efd4 /src | |
| parent | 18b9d0dfccc0917ffcc2cf8017d0a346a8df143b (diff) | |
| download | niri-0ed5bad452113eaa55b88c8fc46d36badea43286.tar.gz niri-0ed5bad452113eaa55b88c8fc46d36badea43286.tar.bz2 niri-0ed5bad452113eaa55b88c8fc46d36badea43286.zip | |
Add tracy profiling under a feature
Diffstat (limited to 'src')
| -rw-r--r-- | src/handlers/compositor.rs | 4 | ||||
| -rw-r--r-- | src/input.rs | 1 | ||||
| -rw-r--r-- | src/main.rs | 3 | ||||
| -rw-r--r-- | src/niri.rs | 2 | ||||
| -rw-r--r-- | src/tty.rs | 5 | ||||
| -rw-r--r-- | src/winit.rs | 2 |
6 files changed, 17 insertions, 0 deletions
diff --git a/src/handlers/compositor.rs b/src/handlers/compositor.rs index b2666f7f..1cd781f6 100644 --- a/src/handlers/compositor.rs +++ b/src/handlers/compositor.rs @@ -24,6 +24,10 @@ impl CompositorHandler for Niri { } fn commit(&mut self, surface: &WlSurface) { + tracy_client::Client::running() + .unwrap() + .message("client commit", 0); + on_commit_buffer_handler::<Self>(surface); if !is_sync_subsurface(surface) { let mut root = surface.clone(); diff --git a/src/input.rs b/src/input.rs index a8f85b3a..227bb330 100644 --- a/src/input.rs +++ b/src/input.rs @@ -20,6 +20,7 @@ impl Niri { change_vt: &mut dyn FnMut(i32), event: InputEvent<I>, ) { + let _span = tracy_client::span!("process_input_event"); trace!("process_input_event"); match event { diff --git a/src/main.rs b/src/main.rs index 7a977bd0..f0083ae4 100644 --- a/src/main.rs +++ b/src/main.rs @@ -52,6 +52,8 @@ fn main() { let cli = Cli::parse(); + let _client = tracy_client::Client::start(); + let mut event_loop = EventLoop::try_new().unwrap(); let has_display = env::var_os("WAYLAND_DISPLAY").is_some() || env::var_os("DISPLAY").is_some(); @@ -103,6 +105,7 @@ fn main() { event_loop .run(None, &mut data, move |data| { // niri is running. + let _span = tracy_client::span!("flush_clients"); data.display.flush_clients().unwrap(); }) .unwrap(); diff --git a/src/niri.rs b/src/niri.rs index 98a21d01..28bc2dfd 100644 --- a/src/niri.rs +++ b/src/niri.rs @@ -163,6 +163,8 @@ impl Niri { } fn redraw(&mut self, backend: &mut dyn Backend) { + let _span = tracy_client::span!("redraw"); + assert!(self.redraw_queued); assert!(!self.waiting_for_vblank); self.redraw_queued = false; @@ -69,6 +69,8 @@ impl Backend for Tty { WaylandSurfaceRenderElement<GlesRenderer>, >], ) { + let _span = tracy_client::span!("Tty::render"); + let output_device = self.output_device.as_mut().unwrap(); let drm_compositor = &mut output_device.drm_compositor; @@ -223,6 +225,9 @@ impl Tty { let tty = data.tty.as_mut().unwrap(); match event { DrmEvent::VBlank(_crtc) => { + tracy_client::Client::running() + .unwrap() + .message("vblank", 0); info!("vblank {metadata:?}"); let output_device = tty.output_device.as_mut().unwrap(); diff --git a/src/winit.rs b/src/winit.rs index 458ff95a..e63ac30c 100644 --- a/src/winit.rs +++ b/src/winit.rs @@ -37,6 +37,8 @@ impl Backend for Winit { WaylandSurfaceRenderElement<GlesRenderer>, >], ) { + let _span = tracy_client::span!("Winit::render"); + let size = self.backend.window_size().physical_size; let damage = Rectangle::from_loc_and_size((0, 0), size); |
