Commit Graph

9399 Commits

Author SHA1 Message Date
Wiebe van Breukelen
66b23bb19a Add CUDA Driver API memory operations to Tracy CUPTI profiling
Extended Tracy's CUPTI callback registration to track CUDA Driver API
memory operations that were previously missing.
Registration of these events allow users to trace applications that directly
call the Driver API.
2025-12-24 12:05:51 +01:00
Bartosz Taudul
1ad248892d Fix time range limits button id overlap. 2025-12-23 14:03:54 +01:00
Bartosz Taudul
b63f605ec1 Merge pull request #1239 from slomp/slomp/macos-arm64-tsc
Apple Silicon / macOS: use ARM64 CNTVCT_EL0 instruction in GetTime()
2025-12-23 12:31:15 +01:00
Marcos Slomp
2d3fa2141e removing parentheses from define 2025-12-22 12:22:26 -08:00
Marcos Slomp
f55bd056a9 switch to using ARM64's CNTVCT_EL0 instruction instead of std::chrono::high_resolution_clock on macOS 2025-12-22 11:43:51 -08:00
Bartosz Taudul
6cd7751479 Merge pull request #1236 from siliceum/fix/frame-image-race-condition
Fix frame image race condition + refactor
2025-12-18 16:36:41 +01:00
Bartosz Taudul
9ced780715 Merge pull request #1235 from alexandergunnarson/master
A few minor Windows-specific fixes
2025-12-18 16:34:18 +01:00
Clément Grégoire
0eb9f4acb6 Fix frame image race condition + refactor
- In the connection state, retrieve the FrameImage while owning the data lock.
- Use actual image data pointer as caching key instead of the address of ImageCache which may change during executation (unstable).
- Fixes scale Messages image tooltip scale.
- Free the connection image
2025-12-18 15:44:58 +01:00
Alex Gunnarson
921d426488 Add conditional compilation option for MSVC 2025-12-17 15:26:58 -07:00
Alex Gunnarson
90bc94f237 Use builtins before MSVC intrinsics 2025-12-17 15:24:04 -07:00
Alex Gunnarson
dffa18378b Update IMAGEHLP_LINE to IMAGEHLP_LINE64
OfflineSymbolResolverDbgHelper.cpp uses IMAGEHLP_LINE but
SymGetLineFromAddr64 expects IMAGEHLP_LINE64. On 64-bit Windows these are typedef'd to the same thing, but on 32-bit they're different.
2025-12-17 15:19:00 -07:00
Bartosz Taudul
8b2019830a Merge pull request #1234 from siliceum/fix/etw-vsync
VSyncDPC events do not have the Keyword::DxgKrnlPresent bit set, so using it as MatchAllKeyword excluded it
2025-12-17 18:07:42 +01:00
Bartosz Taudul
2c19b82d72 Merge pull request #1233 from slomp/slomp/etw-happiness
Ensure all ETW StackWalk requests are satisfied
2025-12-17 18:07:26 +01:00
Clément Grégoire
d59e6cdfad VSyncDPC events do not have the Keyword::DxgKrnlPresent bit set, so using it as MatchAllKeyword excluded it 2025-12-17 17:45:52 +01:00
Marcos Slomp
4a6c75d8f8 ensure all stackwalk requests are satisfied 2025-12-17 08:03:34 -08:00
Bartosz Taudul
3ac8242d72 Merge pull request #1227 from WangFengtu1996/master
fixbug build cuda demo error
2025-12-17 16:43:27 +01:00
Fengtu Wang
4745db1553 Fix include statement for Tracy.hpp 2025-12-17 09:47:19 +08:00
Bartosz Taudul
3258599899 Merge pull request #1229 from slomp/slomp/etw-error-check-patch
ETW initialization: more explicit error check
2025-12-17 00:26:00 +01:00
Marcos Slomp
db745611c4 more explicit error check 2025-12-16 13:38:42 -08:00
Bartosz Taudul
1977beafe6 Merge pull request #1228 from siliceum/fix/test-memory-free
Fix unknown allocation message in debug due to alloc name litteral not pointing to the same location
2025-12-16 20:19:19 +01:00
Clément Grégoire
16558f2915 Fix unknown allocation message in debug due to alloc name litteral not pointing to the same location 2025-12-16 19:49:08 +01:00
Bartosz Taudul
7976e6ab0b Merge pull request #1213 from slomp/slomp/etw-refactor
Refactoring ETW kernel session
2025-12-16 18:59:56 +01:00
Marcos Slomp
2403438bd9 error flow control for VSync tracing 2025-12-16 09:11:11 -08:00
Marcos Slomp
bb3b5b6a4f reuse StopSession 2025-12-16 09:10:19 -08:00
Fengtu Wang
d2ffc9b9c6 fixbug build cuda demo error
1. fix bug build error can not find head file `#include <tracy/Tracy.hpp>`
2.  when not enable TRACY_ENABLE macro, build error  can not find  `tracy::CUDACtx` type
2025-12-16 18:32:10 +08:00
Marcos Slomp
a0092a793a abandoning the private kernel session for now 2025-12-15 16:21:42 -08:00
Marcos Slomp
c0ac36918a adding interfaces for singleton kernel logger session, and regular user sessions 2025-12-15 16:20:57 -08:00
Marcos Slomp
22d2b7407f emit ETW errors in english 2025-12-15 16:19:45 -08:00
Bartosz Taudul
0e3b3c57fc Merge pull request #1223 from siliceum/fix/fix-example-alloc-tracking
Test: Fix unknown allocation message in debug due to arena name litteral not pointing to the same location
2025-12-12 16:55:31 +01:00
Clément Grégoire
9c66d27777 Test: Fix unknown allocation message in debug due to arena name litteral not pointing to the same location 2025-12-12 16:40:14 +01:00
Bartosz Taudul
a7c6b7f02a Merge pull request #1221 from martymichal/wip/martymichal/fix-atomic-thread-init
public/client: Correctly initialize atomic thread reference
2025-12-12 12:21:34 +01:00
Bartosz Taudul
f1efafe825 Do not show external frames in DrawCallstackCalls(). 2025-12-12 01:23:36 +01:00
Bartosz Taudul
4fe1e00696 IsFrameExternal() can be const. 2025-12-12 01:23:19 +01:00
Bartosz Taudul
49ab593247 Change DrawCallstackCalls() limit logic. 2025-12-12 01:16:14 +01:00
Bartosz Taudul
05cceee0df Release 0.13.1. v0.13.1 2025-12-11 23:46:02 +01:00
Marcos Slomp
cc7790af04 add check to determine if provider has already been enabled by other sessions 2025-12-10 13:50:28 -08:00
Marcos Slomp
aaa695611b code formatting 2025-12-10 13:42:43 -08:00
Marcos Slomp
1be738ba10 expanding Tracy macros 2025-12-08 11:30:03 -08:00
Marcos Slomp
86a6b9b671 add admin check (and don't log it if it fails). 2025-12-08 08:40:26 -08:00
Ondřej Míchal
d79b6d040e public/client: Correctly initialize atomic thread reference
Atomic variables need to be initialize with direct-initialization
instead of copy-initialization lest the compilation fails complaining
about missing constructor for the atomic type.
2025-12-08 15:06:26 +02:00
Marcos Slomp
04c32562a0 adressing review comments 2025-12-07 15:51:07 -08:00
Bartosz Taudul
16bac5f807 Merge pull request #1220 from Lgt2x/imgui-x11
Link imgui against X11 libs
2025-12-06 01:23:47 +01:00
Louis Gombert
92ca07bb31 Link imgui against X11 libs
Imgui-docking >=v1.92.3 GLFW back-end requires linking against x11 libraries. This solves link failures when building tracy with the LEGACY option turned on.
2025-12-05 23:49:16 +01:00
Marcos Slomp
d363ddde2a missing events 2025-12-05 12:46:27 -08:00
Marcos Slomp
7b5de9e2b9 relocating ETW events (structs), and adding checks and comments 2025-12-05 12:03:57 -08:00
Marcos Slomp
16724b39c5 handle ProcessTrace pending (draining/flushing) condition 2025-12-05 09:49:11 -08:00
Bartosz Taudul
10500ed1f0 Merge pull request #1218 from mtreglia-gpsw/libcurl-fixed-version
Required lib-curl version to 8.17.0 in vendor.cmake pkg-config
2025-12-05 11:14:24 +01:00
Marco Treglia
951fc1b071 required pkg-config lib-curl v7.87.0 in the profiler
Resolving compiling issue when building with previous version of lib-curl.

If locally is present an older version of lib-curl the profiler build fails with:

```
   29 |     curl_easy_setopt( curl, CURLOPT_CA_CACHE_TIMEOUT, 604800L );
      |                             ^~~~~~~~~~~~~~~~~~~~~~~~
      |                             CURLOPT_DNS_CACHE_TIMEOUT
include/curl/curl.h:3109:68: note: expanded from macro 'curl_easy_setopt'
 3109 | #define curl_easy_setopt(handle,opt,param) curl_easy_setopt(handle,opt,param)
      |                                                                    ^
include/curl/curl.h:1398:11: note: 'CURLOPT_DNS_CACHE_TIMEOUT' declared here
 1398 |   CURLOPT(CURLOPT_DNS_CACHE_TIMEOUT, CURLOPTTYPE_LONG, 92),
      |           ^
tracy/profiler/src/profiler/TracyLlmApi.cpp:144:46: error: use of undeclared identifier 'CURL_WRITEFUNC_ERROR'; did you mean 'CURLE_WRITE_ERROR'?
  144 |             if( !v.callback( json ) ) return CURL_WRITEFUNC_ERROR;
      |                                              ^~~~~~~~~~~~~~~~~~~~
      |                                              CURLE_WRITE_ERROR
include/curl/curl.h:524:3: note: 'CURLE_WRITE_ERROR' declared here
  524 |   CURLE_WRITE_ERROR,             /* 23 */
      |   ^
2 errors generated.
```

Both CURLOPT_CA_CACHE_TIMEOUT and CURL_WRITEFUNC_ERROR were added in
https://curl.se/ch/7.87.0.html

Now checking the version will avoid such issues:

-- Checking for module 'libcurl>=7.87.0'
--   Package dependency requirement 'libcurl >= 7.87.0' could not be satisfied.
Package 'libcurl' has version '7.84.0', required version is '>= 7.87.0'
-- CPM: Adding package libcurl@ (curl-8_17_0 to ...)
2025-12-05 10:51:29 +01:00
Marcos Slomp
9bb2be27cf details 2025-12-03 14:55:08 -08:00
Marcos Slomp
f0b8658346 splitting event consumer 2025-12-03 14:55:08 -08:00