github wolfpld/tracy v0.15.0
Tracy Profiler 0.15

3 hours ago

For a more detailed change list, see https://github.com/wolfpld/tracy/blob/v0.15.0/NEWS.

Pinning threads and plots

You can pin threads (to the top of the timeline) and plots (to the bottom) by right-clicking on the timeline lane label and selecting the "Pin" option. Pinned items are displayed with a yellow border.

image

Rewritten lock event processing

The algorithms that process captured lock events (mutexes, etc.) have been redesigned from scratch. This greatly improves speed when many lock events are rendered on the screen. If you previously disabled lock capture due to the slowdowns it caused, try again!

The old limit of 64 threads per lock no longer applies.

Deadlock detection

As a bonus, the lock rewrite enables Tracy to detect and report deadlocks.

image

Attach to any executable on the system (Linux)

The newly added monitor utility allows profiling by attaching to any running program or by spawning a new program, without the need to instrument or recompile anything. The quality of the output obviously depends on debug information being available for the profiled program.

./tracy-monitor -o monitor.tracy gzip -9 -k libTracyServer.a
Profiling 'gzip' (pid 1631319)...
tracy-monitor 0.15.0 / f2a4f2529
Profiling 'gzip' (pid 1631319) on port 8086
  sampling:                      10 kHz, user-space callchain — leaf-only stacks for -fomit-frame-pointer targets
  kernel frames:                 no (kernel sampling denied — perf_event_paranoid > 1 without CAP_PERFMON)
  hardware sampling statistics:  yes
  ctx switches / per-thread CPU: no (the event id is not readable — running as root is required)
  power (RAPL):                  no (needs read access to /sys/devices/virtual/powercap/intel-rapl)
  vsync:                         no (the event id is not readable — running as root is required)
  output:                        monitor.tracy

Target exited with status 0.

Time span: 430.59 ms, callstack samples: 710
Saving trace to monitor.tracy... done
Trace size 19.21 KB (24.06% ratio)

Web demo can load external traces

It is now possible to open https://tracy.nereid.pl/?t=<url>, and the profiler web application will load the trace you have pointed to, so you can click directly to your traces from Jira issues or similar sources. The trace is loaded locally by your browser, and the server never sees it, but this also means that the server hosting the trace must be properly configured to allow external resources to be loaded (i.e., CORS, etc.).

GPU zones in Find zone

You can search for GPU zones in the Find zone window and see their statistics. The GPU zones are indicated by the computer monitor icon.

image

User manual on the startup screen

You can now access the built-in user manual on the initial connection / open file dialog by pressing the "manual" button (which previously opened the PDF download page).

image

Support for CJK fonts in the UI

The profiler now embeds a font with Asian characters.

image

Hierarchical plots and filtering

It is now possible to navigate plots using a tree hierarchy instead of a flat list. A name filtering option is also available.

image

Improved achievements

The achievements tutorial system has been expanded. The number of available achievements has increased from 12 to 47, covering most of the features available in the profiler. The achievement texts now contain links to user manual sections that expand on the information conveyed by the achievements.

image

Don't miss a new tracy release

NewReleases is sending notifications on new releases.