#profiler #real-time #bindings #load #gui

tracy-rs

Rust bindings for the tracy realtime profiler

3 releases

0.1.2 Jul 30, 2020
0.1.1 May 28, 2020
0.1.0 Mar 16, 2020

#248 in Profiling

Download history 6154/week @ 2025-08-27 5739/week @ 2025-09-03 4292/week @ 2025-09-10 5679/week @ 2025-09-17 6442/week @ 2025-09-24 5865/week @ 2025-10-01 6289/week @ 2025-10-08 6796/week @ 2025-10-15 7761/week @ 2025-10-22 7314/week @ 2025-10-29 7679/week @ 2025-11-05 6684/week @ 2025-11-12 7638/week @ 2025-11-19 5293/week @ 2025-11-26 4986/week @ 2025-12-03 4476/week @ 2025-12-10

23,580 downloads per month
Used in 8 crates (3 directly)

MPL-2.0 license

10KB
157 lines

tracy-rs

This provides a Rust integration for the Tracy profiling library (https://bitbucket.org/wolfpld/tracy).

Usage

  1. Clone the Tracy library from the above URL.
  2. Follow the steps to build the profiler GUI (e.g. in tracy/profiler/build/unix/).
  3. Follow the steps to build the profiler shared library (e.g. in tracy/library/unix).
  4. Add this crate to your project dependencies, with the 'enable_profiler' cargo feature.
  5. Call tracy_rs::load at the start of your application, providing path to library from (3).
  6. Insert the main frame marker tracy_frame_marker!(); at the end of your frame.
  7. Optionally, add sub-frame markers with tracy_begin_frame!() and tracy_end_frame!().
  8. Annotate functions to be profiled with profile_scope!().
  9. Run the application and profiler GUI.

Dependencies