Commit Graph

39 Commits

Author SHA1 Message Date
Bartosz Taudul
756411d802 Allow disabling wait stacks capture. 2026-08-14 01:28:22 +02:00
Bartosz Taudul
d579ed3cce Fix VSync on 32-bit win32 targets.
The struct sizes are kernel sizes. A 64-bit kernel is required for
tracing anyway.
2026-08-13 18:34:58 +02:00
Bartosz Taudul
c136232c97 Use strzcpy in client library. 2026-08-01 00:06:39 +02:00
Clément Grégoire
2997a78872 Fix #1243 compatibility with WinSDK < 10.0.26100
After investigating (downloading and installing) all publicly available SDKs at https://learn.microsoft.com/en-us/windows/apps/windows-sdk/downloads-archive I concluded the `TRACEHANDLE` deprecation started in `10.0.26100`.
This defines `PROCESSTRACE_HANDLE` and `CONTROLTRACE_ID` as done by the SDK when using older versions. Using `WDK_NTDDI_VERSION` (and not `NTDDI_VERSION` which may change based on `_WIN32_WINNT` or user input seems to be the most reliable way to do it. While it says "WDK" it's been part of the SDK in `shared\sdkddkver.h`. Note it doesn't work for MinGW because it updates half of its sdk files for some reason.
Tested with both 10.0.26100 and 10.0.22621.0 which is the last one I found without the new types.
Also changes CONTROLTRACE_ID to ULONG64 on mingw which is correct (type used by `TRACEHANDLE` too in mingw fe2763863a/mingw-w64-headers/include/evntrace.h (L60) )
2026-05-05 16:14:21 +02:00
Clément Grégoire
1711d024dd Fix TracyETW_compat.h structs and values based on docs
https://learn.microsoft.com/fr-fr/windows/win32/api/evntprov/ns-evntprov-event_filter_event_id
https://learn.microsoft.com/fr-fr/windows/win32/etw/system-providers

Note: WinSDK does not use ULL in keyword constants so I removed them too.
2026-04-21 13:20:48 +02:00
Bartosz Taudul
ab61777896 Fix mingw GUID definitions. 2026-04-03 20:10:05 +02:00
Bartosz Taudul
c564b163d3 Client code must target C++11. 2026-04-03 20:10:03 +02:00
Bartosz Taudul
803b10fd6b Do not block vsync capture on mingw. 2026-04-03 02:11:13 +02:00
Bartosz Taudul
3ac364ebcb Add mingw ETW compat header. 2026-04-03 01:56:46 +02:00
Marcos Slomp
839b38d2ec removing implicit/default argument value 2026-01-15 11:29:49 -08:00
Marcos Slomp
44696c47c6 formatting 2026-01-15 11:27:49 -08:00
Marcos Slomp
dacb3dbae6 support for toggling EnableFlags after the singleton kernel session has started 2026-01-15 11:20:06 -08:00
Clément Grégoire
4cceab5ad8 Remove Profiler::Messsage since it's not part of the public API
This also replaces `___tracy_emit_message*` by `___tracy_emit_logString`.
The `TracyCMessage*` defines no long include the `;`, which may be a breaking change even though we did already require semi-colon since 0.9.0. See #493 and #592
2025-12-28 15:04:05 +01:00
Clément Grégoire
f17bd3f444 TracyDebug now uses TracyInternalMessage by default unless TRACY_VERBOSE or TRACY_NO_INTERNAL_MESSAGE is defined 2025-12-28 15:00:59 +01:00
Clément Grégoire
13261b9bdc ETWErrorAction now uses message source and severity 2025-12-28 14:50:41 +01: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
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
Marcos Slomp
bb3b5b6a4f reuse StopSession 2025-12-16 09:10:19 -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
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
Marcos Slomp
04c32562a0 adressing review comments 2025-12-07 15:51:07 -08: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
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
Marcos Slomp
f6f9ec49d8 comments about the choice of default arguments 2025-12-03 14:55:08 -08:00
Marcos Slomp
bca011966d code formatting 2025-12-03 14:55:08 -08:00
Marcos Slomp
e5ca27966e ASCII 2025-12-03 14:55:08 -08:00
Marcos Slomp
d1f63dbca8 notify that events have been lost 2025-12-03 14:55:08 -08:00
Marcos Slomp
95658d532e isolating error actions 2025-12-03 14:55:08 -08:00
Marcos Slomp
0270177a85 typo 2025-12-03 14:55:07 -08:00
Marcos Slomp
16e2f9f3bb Using ASCII version of the ETW API 2025-12-03 14:55:07 -08:00
Marcos Slomp
0adb0dbc57 refactoring ETW kernel session 2025-12-03 14:55:07 -08:00