SymbolStats now has two additional entry stack maps, which record the call stacks below every occurrence of a symbol in a sample, not only when the symbol was at the top of the stack: - wasReached counts each occurrence separately. If a symbol re-enters itself through recursion, every re-entry adds an entry stack, which will itself contain the symbol somewhere below. - wasReachedNonReentrant counts only the outermost occurrence, so each sample contributes exactly once and recursion is ignored. The sum of counts in this map equals the symbol's inclusive sample count. To achieve this, the call stack is walked bottom-up, which makes the first encountered occurrence of a symbol the outermost one. Symbols at inline positions get the remaining inline frames of their frame group as a synthetic frame, mirroring what was already done for the top of the stack. The wasExecuting and wasExecutingBase maps are now filled by the same walk, as its topmost-frame special case. The keys they receive are identical to what the previous code produced. Note that there is no "base" variant of the reached maps. A base symbol is present as the last frame of every frame group that contains its inline functions, so its wasReached map already covers the whole symbol at base granularity. Merging in the inline symbols' maps, as done for wasExecutingBase, would only multi-count the same samples.
Tracy Profiler
A real time, nanosecond resolution, remote telemetry, hybrid frame and sampling profiler for games and other applications.
Tracy supports profiling CPU (Direct support is provided for C, C++, Lua, Python and Fortran integration. At the same time, third-party bindings to many other languages exist on the internet, such as Rust, Zig, C#, OCaml, Odin, etc.), GPU (All major graphics/compute APIs: OpenGL, Vulkan, Direct3D 11/12, Metal, OpenCL, CUDA, WebGPU.), memory allocations, locks, context switches, automatically attribute screenshots to captured frames, and much more.
- Documentation for usage and build process instructions
- Releases containing the documentation (
tracy.pdf) and compiled Windows x64 binaries (Tracy-<version>.7z) as assets - Changelog
- Interactive demo
An Introduction to Tracy Profiler in C++ - Marcos Slomp - CppCon 2023
Introduction to Tracy Profiler v0.2
New features in Tracy Profiler v0.3
New features in Tracy Profiler v0.4
New features in Tracy Profiler v0.5
New features in Tracy Profiler v0.6
New features in Tracy Profiler v0.7
New features in Tracy Profiler v0.8



