Commit Graph

293 Commits

Author SHA1 Message Date
Marcos Slomp
12fa5aeb5e fix for TRACY_FIBERS 2025-12-29 11:23:08 -08:00
Clément Grégoire
5ef64841cc Remove MessageMetadata type and replace by uint8_t everywhere 2025-12-28 15:04:18 +01: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
Clément Grégoire
f981330f66 Replace all messages text addr by TaggedUserlandAddress and send metadata over the network
There are two changes to the protocol:

- `QueueMessageLiteral*` were changed and what used to be addresses are now addresses+metadata
- Other messages now send `QueueMessage*Metadata` with added metadata.

This will later be used to store and transmit message sources, level, etc.
2025-12-28 14:44:40 +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
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
db745611c4 more explicit error check 2025-12-16 13:38:42 -08: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
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
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
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
f6965c62a9 reminder 2025-12-03 14:55:07 -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
Bartosz Taudul
886a0abec9 Merge pull request #1215 from slomp/slomp/worker-thread-race
Fixed race condition around `s_sysTraceThread`
2025-12-03 22:43:42 +01:00
Marcos Slomp
7fa30d08b5 clarification 2025-12-03 12:41:44 -08:00
Marcos Slomp
874d65b036 code formatting 2025-12-03 10:15:19 -08:00
Marcos Slomp
c44beaac28 fixed race condition around s_sysTraceThread 2025-12-02 16:19:20 -08:00
Trevor L. McDonell
d1b0406801 Add option to ignore memory free faults
This replaces the IsApple flag, which was previously only used for this purpose.
2025-12-02 16:16:50 +01:00
Bartosz Taudul
be23d9354a Handle Lost_Event in Vsync callback on Windows. 2025-11-22 15:39:52 +01:00
Bartosz Taudul
5f4cccaa00 Use proper API to read /proc/mounts. 2025-11-13 19:40:28 +01:00
Bartosz Taudul
89f68babd2 Android user name may be longer than _POSIX_LOGIN_NAME_MAX. 2025-11-13 12:28:57 +01:00
Bartosz Taudul
b762dc2a82 Retrieve tracefs mount path. 2025-10-25 21:06:37 +02:00
Matt McGill
491445343f Defer GPU context events in serial C API
Without this, the profiler crashes due to an assert
violation when connecting to a client built with
TRACY_ON_DEMAND that uses these C API calls.
2025-10-24 18:52:36 -04:00
Bartosz Taudul
7b8d868bbd Merge pull request #1120 from siliceum/refactor/unify-module-caches
Unify module caches
2025-10-24 15:44:50 +02:00
Clément Grégoire
8ccc76c66b Use CopyStringFast in FormatImageName 2025-10-24 13:10:23 +02:00