Frame profiler
Go to file
Simonas Kazlauskas 54ee3d8a94 Expose TRACY_MANUAL_LIFETIME APIs to C API clients
These are extremely useful for ecosystems such as Rust. There are a
couple of reasons why:

1. Rust strongly advises against relying on life before/after main, as
   it is difficult to reason about. Most users working in Rust will
   generally be quite surprised when encountering this concept.
2. Rust and its package manager makes it easy to use packages (crates)
   and somewhat less straightforward to consider the implications of
   including a dependency.

   In case of the `rust_tracy_client` set of packages, I currently have
   to warn throughout the documentation of the package that simply
   adding a dependency on the bindings package is sufficient to
   potentially accidentally broadcast a lot of information about the
   instrumented binary to the broader world. This seems like a major
   footgun given how easy is it to forget about having added this
   dependency.

Ability to manually manage the lifetime of the profiler would be a great
solution to these problems.
2021-09-18 14:54:00 +03:00
.github Use more recent setup-msbuild action. 2020-11-06 01:29:35 +01:00
.vscode Add minimal vscode configuration. 2020-08-15 02:10:14 +02:00
capture Add -s <seconds> parameter to capture.cpp 2021-08-25 22:52:23 -07:00
client Expose TRACY_MANUAL_LIFETIME APIs to C API clients 2021-09-18 14:54:00 +03:00
common Send symbol address in code information message. 2021-06-19 19:07:56 +02:00
csvexport Move TracyStackFrames to common. 2021-05-23 23:51:56 +02:00
doc Update second screenshot. 2021-01-22 02:54:01 +01:00
examples The ToyPathTracer example uses the D3D11 GPU zones 2021-05-01 17:31:49 -07:00
extra Add goodness color generator. 2021-05-23 12:49:20 +02:00
getopt Move getopt to root 2020-07-11 12:26:01 +03:00
icon Recompress public facing PNG images. 2020-09-24 01:31:24 +02:00
imgui Update ImGui to 1.84.1 + docking. 2021-08-21 00:52:30 +02:00
import-chrome Move TracyStackFrames to common. 2021-05-23 23:51:56 +02:00
libbacktrace Update libbacktrace to d0f5e95. 2021-07-25 12:34:11 +02:00
library Use correct language version for library. 2021-07-07 02:45:13 +02:00
manual Add -s <seconds> parameter to capture.cpp 2021-08-25 22:52:23 -07:00
nfd Set owner of file dialogs on windows. 2020-06-10 01:52:17 +02:00
profiler Update ImGui GLFW and OpenGL 3.x backends. 2021-08-22 13:30:46 +02:00
server Add missing include for intptr_t. 2021-08-22 13:38:28 +02:00
test Update stb_image to 2.27. 2021-07-25 12:05:07 +02:00
update Move TracyStackFrames to common. 2021-05-23 23:51:56 +02:00
vcpkg Add -disableMetrics to vcpkg script 2020-05-02 14:52:57 -07:00
zstd Cherry-pick https://github.com/facebook/zstd/pull/2653 2021-05-18 02:10:30 +02:00
.gitignore Add build automation script. 2021-02-06 23:57:14 +01:00
AUTHORS Update AUTHORS. 2021-08-01 13:07:23 +02:00
CMakeLists.txt Simplify CMake option definition 2021-08-01 13:14:32 +02:00
LICENSE Update email. 2021-02-10 02:43:05 +01:00
meson.build Add meson.build 2021-06-24 22:41:50 +03:00
NEWS Update NEWS. 2021-08-19 00:01:52 +02:00
README.md Bundle links in README including latest documentation 2021-08-01 23:48:45 +02:00
TODO Add TODO. 2020-01-08 18:16:17 +01:00
Tracy.hpp Updated as suggested by wolf in the PR 2021-05-01 14:55:45 -07:00
TracyC.h Expose TRACY_MANUAL_LIFETIME APIs to C API clients 2021-09-18 14:54:00 +03:00
TracyClient.cpp Merge remote-tracking branch 'origin/master' into hw 2021-06-02 01:12:28 +02:00
TracyD3D11.hpp Check if rpmalloc has to be initialized before each operation. 2021-05-31 02:31:42 +02:00
TracyD3D12.hpp Check if rpmalloc has to be initialized before each operation. 2021-05-31 02:31:42 +02:00
TracyLua.hpp Send callstacks before sending events they belong to. 2020-09-29 16:40:19 +02:00
TracyOpenCL.hpp Check if rpmalloc has to be initialized before each operation. 2021-05-31 02:31:42 +02:00
TracyOpenGL.hpp Check if rpmalloc has to be initialized before each operation. 2021-05-31 02:31:42 +02:00
TracyVulkan.hpp Vulkan headers must be now manually included. 2021-08-19 00:00:20 +02:00

Tracy Profiler

Sponsor

A real time, nanosecond resolution, remote telemetry, hybrid frame and sampling profiler for games and other applications.

Tracy supports profiling CPU (C, C++11, Lua), GPU (OpenGL, Vulkan, OpenCL, Direct3D 11/12), memory, locks, context switches, per-frame screenshots and 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

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