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.
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.
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.
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).
Support for CJK fonts in the UI
The profiler now embeds a font with Asian characters.
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.
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.
