Commit Graph
4276 Commits
Author SHA1 Message Date
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 1e61dc88de Add source and severity to the server's MessageData + bump minor version for serialization
Note this does not change `sizeof(MessageData)` as there were 5 bytes left due to alignment. (now 3)
2025-12-28 14:50:38 +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
Alex Gunnarson 90bc94f237 Use builtins before MSVC intrinsics 2025-12-17 15:24:04 -07: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
Clément Grégoire 255f465a8f Fix uninitialized Worker::m_pending* loaded traces.
This was causing issues in the Infos -> Trace Statistics window as `GetCallstackFrameCount` uses `m_pendingCallstackFrames`. Just in case, init those all those variables where declared instead of constructor.
2025-10-08 07:47:51 +02:00
whouishere a755cfab78 Fix usage of stat64 on non-glibc Linux 2025-09-05 10:22:02 -03:00
Antoine Mura 80126ed1e0 Add lock struct with condition variable to main thread 2025-07-27 11:05:45 +02:00
Bartosz Taudul 3c1c444a15 Unbreak loading traces from previous versions. 2025-07-22 20:18:55 +02:00
Bartosz Taudul c03fdaec1e Merge pull request #1097 from erieaton-amd/rocprofv3-2
Collect dispatches and counter values with Rocprofv3
2025-07-22 13:33:15 +02:00
Eric Eaton 1639598d62 Update documentation
This provides some instructions and tips for the manual. Also:
* Made the calibration feature a CMake option
* Cleaned up some minor code issues
* Fixed an issue with the calibration
* Incremented patch number
2025-07-21 15:30:42 -07:00
Bartosz TaudulandMarcos Slomp 2f17e33851 Prevent duplicate callstack frame queries.
Callstack frames will now have nullptr as the value in the callstackFrameMap
map, as a way to signal that a query for given key is already pending.
Duplicate queries should no longer happen.

@slomp provided alternative implementation, which produced the following
results:

Queries made: 195,778
Duplicate queries skipped: 9,518,910

Co-authored-by: Marcos Slomp <slomp@adobe.com>
2025-07-18 01:16:46 +02:00
Bartosz Taudul c704f909be Move duplication check into QueryCallstackFrame() to make things clear. 2025-07-18 01:15:16 +02:00
Bartosz Taudul c4a6cf3456 Use contains() to check if map contains element. 2025-07-18 00:45:26 +02:00
Bartosz Taudul f578d14553 Extract callstack frame query to a separate function. 2025-07-18 00:33:09 +02:00
Bartosz Taudul 38ff7a6697 Make sure count is right. 2025-07-18 00:24:23 +02:00
Bartosz Taudul 320eb67581 Assume callstackFrameMap can store null ptrs. 2025-07-18 00:23:43 +02:00
Eric Eaton 9caa91f06f Move the annotations data to the GPU context 2025-07-16 16:02:54 -07:00
Eric Eaton 21a34c5a38 Fix windows build error 2025-07-14 12:58:47 -07:00
Eric Eaton 114f6ef096 Supply the correct thread ID for annotations 2025-07-11 17:18:17 -07:00
Eric Eaton 3fce5c1280 Use a map to record counter values
This removes the limitation of 10 counters.
2025-07-11 17:17:05 -07:00
Eric Eaton 1494fe5671 Apply code style 2025-07-11 17:17:05 -07:00
Eric Eaton 9413436ba1 Search backward for the correct zone
Needed to make tracing more intense applications work.
2025-07-11 17:16:00 -07:00
Eric Eaton d1f9df8058 Get counter names from environment variable
Allows user to customize the collected information with environment
variable TRACY_ROCPROF_COUNTERS.
2025-07-11 17:16:00 -07:00
Eric Eaton a754db16f8 Show counter name in GUI 2025-07-11 17:16:00 -07:00
Eric Eaton 2e49bdf4cb Add counter value collection 2025-07-11 17:16:00 -07:00
Bartosz Taudul 880c600506 Remove queue delay calibration.
This value is not used for anything, it was just a number displayed in
the UI without much meaning to anyone.

Operations on the queue during early init may not work correctly, stopping
some programs from running past the calibration loop.
2025-07-11 23:23:31 +02:00
jcl1234 791904a37f Fix FiberEnter start time always being processed as 0 2025-07-01 22:38:10 -05:00
Bartosz Taudul 71fc3bc747 Merge pull request #1040 from blegat/TimeToStringExact
Time to string exact
2025-05-19 12:57:45 +02:00
Benoît Legat 45f9ece0b1 Apply review comment 2025-05-18 09:30:38 +02:00
Clément Grégoire c100b32b48 Fix crash when reaching the source location limit
Instead of crashing when reaching the maximum number of source locations, display an empty source location ( with "???" everywhere).
Keeping the assert for discoverability of the limit in debug, but ensure profiler won't crash later on (or in release).
2025-05-12 13:49:31 +02:00
Bartosz Taudul 5140a5a411 Merge pull request #1021 from siliceum/wakeup
Thread wakeup visualization
2025-05-10 13:55:51 +02:00
Tomaž Vöröš a088ebe337 fix some buffer sizes 2025-05-10 00:27:32 +02:00
Benoît Legat 98c7768fd0 Add _int64_abs function 2025-05-06 17:49:01 +02:00
Benoît Legat 4f424dfea0 Fix TimeToStringExact with mininmal int64 input 2025-05-06 17:34:36 +02:00
Clément Grégoire 2c2d126967 Remove added spaces 2025-05-05 15:52:54 +02:00
Clément Grégoire 58401a93ab Fix file read when skipping context switches data 2025-05-05 15:29:30 +02:00
Clément Grégoire 296a3bb590 Add a comment about where to find KWAIT_REASON 2025-04-09 17:15:31 +02:00
Clément Grégoire 31859042bd Remove ContextSwitchData SetStartCpu and SetEndReasonState 2025-04-09 17:02:51 +02:00
Clément Grégoire b6ec625ab4 Remove assert that would trigger on dropped CSwitch events 2025-04-09 14:45:03 +02:00
Clément Grégoire 4e282371bf Version 0.11.3 instead of 0.12.0 2025-04-08 13:51:32 +02:00
Clément Grégoire 6486d8147d Fix formating issues 2025-04-08 13:48:50 +02:00
Clément Grégoire df76b376a7 Thread wakeup visualization
This PR does the following things:
- Allow to lock the highlighted thread using left mouse click or lane popup menu
- Add more descriptions for wait reasons in View::DecodeContextSwitchReason
- Stores the Wakeup CPU so that we may display it in the CPU data view
- `QueueThreadWakeup` now contains cpu and adjust info (currently unused). Fits in the padding, no struct size change.
- `QueueContextSwitch` now also contains thread priorities information (windows+linux) and CState (windows), but currently unused by the profiler. Fits in the padding, no struct size change.
- Fixes Linux `EventWakeup` which tries to remove PERF_SAMPLE_CALLCHAIN on the wrong member. Set the whole `perf_event_attr` explicitely instead.
- Fixes Windows ReadyThread event being dropped if triggered before the thread switches out (this is confirmed to be normal behaviour, probably due to thread being switched out but context switch actually happening later)
- Bumps tracy file version and protocol versions
2025-04-08 11:02:27 +02:00
Bartosz Taudul c5dc5f4455 Bump zstd to 1.5.7, use CPM to download. 2025-02-19 23:47:37 +01:00
Dirk Eibach 8f25eaf54e Display zone values also in hex 2024-12-10 11:07:48 +01:00
Bartosz Taudul 84718101fe Use proper name for inline frames in flame graph. 2024-10-27 19:44:40 +01:00
Bartosz Taudul 9d2f874b02 Calculate flame graph begin times. 2024-10-27 11:58:23 +01:00
Bartosz Taudul 872367f068 Process memory pool discard events. 2024-10-21 18:22:22 +02:00
Bartosz Taudul 5454b3202d Bump capstone to 6.0.0-Alpha1. 2024-10-04 17:19:18 +02:00
Bartosz Taudul 346d8a45c6 Cache flame graph. 2024-09-29 00:26:00 +02:00