Frame profiler
Go to file
Bartosz Taudul 2e9d8f8215
Check if external threads are local.
For some unknown reason, local threads may be attributed to an external
process (at least when profiling on Windows). This causes some problems,
for example the CPU usage graph may show that CPU is pegged by some other
program, when it reality it is the profiled program that uses the CPU time.

Workaround by checking first, if the thread id is known to be local by the
profiler, i.e. if there were user-generated events originating from it.

This still leaves other things, such as the CPU data list, being wrong,
but the CPU data is meant to show raw TID -> PID mapping. If the source
data is wrong, there's not much to fix here.
2023-04-30 13:55:49 +02:00
.github Add more packages on CI. 2022-12-20 00:54:08 +01:00
.vscode Add test application build and run configuration. 2022-04-30 19:02:47 +02:00
capture Print active time in the capture utility. 2023-03-03 22:51:04 +01:00
common Allow manual disabling of libtbb linkage. 2022-09-29 01:41:35 +02:00
csvexport correcting indentation 2023-04-20 14:27:15 -07:00
doc Update screenshots. 2023-01-05 23:36:01 +01:00
dtl Add Diff Template Library 1.20. 2022-12-23 19:40:58 +01:00
examples Move all client headers and sources to public/ directory. 2022-07-17 15:47:38 +02:00
extra Add images for more proper zigzag mip chain. 2023-04-29 12:47:29 +02:00
getopt Move getopt to root 2020-07-11 12:26:01 +03:00
icon Minimize SVG files. 2022-04-16 00:13:10 +02:00
imgui Update ImGui to 1.89.5 + docking. 2023-04-16 00:22:05 +02:00
import-chrome Import frame messages (#459) 2022-09-02 19:44:37 +02:00
library Fix library/unix cleanup. 2023-03-30 21:30:25 +02:00
manual Error indicators are no more. 2023-04-26 00:54:09 +02:00
nfd Update nfd-extended to 1.0.2. 2023-04-05 17:19:48 +02:00
profiler No longer need glGenerateMipmap. 2023-04-29 13:11:16 +02:00
public Socket::ReadUpTo() doesn't support timeouts. 2023-04-16 12:19:48 +02:00
server Check if external threads are local. 2023-04-30 13:55:49 +02:00
test Bump stb_image.h to 2.28. 2023-01-31 22:55:18 +01:00
update Move TracyVersion.hpp to common. 2022-08-27 16:05:36 +02:00
vcpkg Fail with error code if install_vcpkg_dependencies.bat commands fail 2022-06-25 17:52:42 +02:00
zstd Update zstd to 1.5.5. 2023-04-05 17:16:24 +02:00
.clang-tidy Add clang-tidy config. 2023-04-20 22:48:29 +02:00
.gitignore Make embed.tracy downloadable. 2023-03-25 12:20:36 +01:00
AUTHORS Update AUTHORS. 2022-02-11 20:22:53 +01:00
CMakeLists.txt CMake: Fix invalid syntax 2022-09-03 17:13:31 +02:00
LICENSE Update copyright year. 2023-01-09 00:22:22 +01:00
meson_options.txt Fix Meson options to match build 2022-06-28 12:00:09 -05:00
meson.build add version to meson.build 'project()' 2023-03-22 21:06:03 -05:00
NEWS Update NEWS. 2023-04-26 01:14:31 +02:00
README.md Add interactive demo link. 2022-10-02 14:15:13 +02:00
vcpkg.json Remove vcpkg builtin-baseline 2022-06-04 16:26:22 +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 (Direct support is provided for C, C++, and Lua 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 graphic APIs: OpenGL, Vulkan, Direct3D 11/12, OpenCL.), memory allocations, locks, context switches, automatically attribute screenshots to captured frames, and much more.

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