Commit Graph

65 Commits

Author SHA1 Message Date
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
Bartosz Taudul
c556831ddc Release 0.12.2. 2025-06-25 23:55:40 +02:00
Bartosz Taudul
650c98ece7 Relase 0.12.1. 2025-06-07 16:59:25 +02:00
Bartosz Taudul
87924acdd9 Release 0.12.0. 2025-05-30 20:27:13 +02:00
Fan Chen
0eb3a82673 Move CUDA after Custom as existing traces may use the Custom identifier 2025-05-23 15:22:36 -04:00
Fan Chen
abaaa8c1b1 Bump up protocol version 2025-05-17 12:59:27 -04:00
Fan Chen
8643d0f1cc Add CUDA queue type 2025-05-17 12:56:19 -04: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
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
Thomas Klausner
7272f9cac1 Use correct header on NetBSD. 2025-01-20 14:10:34 +01:00
Bartosz Taudul
f4df9013bb Add memory discard message.
This can be used to erase all allocations made within the named memory
pool. The usual use case would be for arena allocators, which allocate
by advancing a pointer and never have to free the memory. There is no
tracking of individual allocations and everything is freed frequently,
by reseting the pointer, for example once per frame.

Since this is used in special-purpose allocators, there is no support
for discarding the memory of the default memory pool.
2024-10-21 18:22:22 +02:00
Dmytro Bulatov
34879d6dd3 Bumped protocol version 2024-10-03 02:48:50 +09:00
Dmytro Bulatov
defb91abc1 Added Custom GPU Context Type 2024-10-03 01:55:29 +09:00
Bartosz Taudul
9a3a6ba3ef Bump protocol due to Metal adding an enum entry. 2024-09-10 19:08:43 +02:00
Marcos Slomp
1dfc926eb8 Metal back-end WIP 2024-08-26 08:15:47 -07:00
Bartosz Taudul
357b557684 Add die to CPU topology data structures.
Drawing dies on the topology chart is a minimal effort for the time being.
An improved version will be added later on.
2024-08-22 20:26:11 +02:00
Bartosz Taudul
353545a1e9 Add die to topology data. 2024-08-22 00:58:01 +02:00
Bartosz Taudul
37bfde5106 Add fiber enter API with group hint. 2024-08-04 00:08:18 +02:00
Bartosz Taudul
0b74b14f88 Save thread group hint. 2024-08-03 20:23:26 +02:00
Bartosz Taudul
8cea63cbca Send thread group hint message. 2024-08-03 19:40:49 +02:00
Bartosz Taudul
beb42a3d29 Change group hint from unsigned to signed. 2024-08-03 19:40:11 +02:00
Bartosz Taudul
5e224101c4 Allow direct access to ThreadNameData. 2024-08-03 19:33:19 +02:00
Bartosz Taudul
3658c0c90f Add thread group hint to ThreadNameData. 2024-08-03 19:15:01 +02:00
Bartosz Taudul
075395620a Release 0.11.0. 2024-07-16 18:38:15 +02:00
Bartosz Taudul
aac38a7deb Update CI.
Co-authored-by: Tom Atkinson <tja.atkinson@gmail.com>
2024-03-22 13:49:08 +01:00
Bartosz Taudul
7d813ec2c1 Merge pull request #733 from Razakhel/fix-clang-pedantic-windows
Added preprocessor checks for Clang on Windows
2024-03-05 18:07:03 +01:00
Bartosz Taudul
133d52a6dd Make external name retrieval high priority. 2024-02-25 15:13:29 +01:00
Razakhel
cef21ef035 Added preprocessor checks for Clang on Windows
- MSVC-specific code is used in some places and compiled only if _MSC_VER is set; however, Clang under Windows also defines this, which reports errors on this non-standard code if the -pedantic-errors compiler flag is set
2024-02-21 22:54:44 +01:00
Bartosz Taudul
0f794ed3b4 Cosmetics. 2023-12-20 13:15:42 +01:00
Michael Leslie
daba5ae1d8 add qnx support for instrumentation profiling only 2023-10-24 17:40:13 -07:00
Ivan Molodetskikh
41fc293043 Add GpuTimeSync event
Allows to resynchronise GPU and CPU timestamps during profiling.
2023-10-22 10:16:41 +04:00
Bartosz Taudul
37aff70dfa Release 0.10.0. 2023-10-16 20:59:38 +02:00
Bartosz Taudul
60a3a85069 Merge pull request #624 from slomp/slomp/udp-broadcast-fix
Fixes around UDP broadcast
2023-09-21 20:29:32 +02:00
Marcos Slomp
83b52d9a20 fix socket reuse logic in UdpListen::Listen() 2023-09-20 21:47:44 -07:00
Bartosz Taudul
73da891805 Remove std:: qualifier from size_t. 2023-09-11 11:33:40 +02:00
xyz1001
30fb2b5f89 Fix two bugs (#615)
* Fix wrong check for wcstombs return value
* Fix memory leak when call GetThreadDescription
2023-09-08 14:02:55 +02:00
Björn Blissing
e1b1fd72dc Wrap std::numeric_limits<T>::max() in parenthesis
The windows.h header file defines the macro max. If the max macro is include
it will lead to name collisions with the std::numeric_limits<T>::max() function.

One solution is to define NOMINMAX before the inclusion of windows.h.
However, that might be a demanding task for a large codebase. Defining the
NOMINMAX as global define may also break previous code.

Another to solution to the problem is to wrap the numeric_limits function in
parenthesis to instruct the compiler to treat it as a function and not a macro.

This commit wraps the std::numeric_limits<T>::max() calls in the public
interfacing header files, with parenthesis.
2023-08-17 10:03:52 +02:00
Bartosz Taudul
778d0cb3fb Socket::ReadUpTo() doesn't support timeouts. 2023-04-16 12:19:48 +02:00
Bartosz Taudul
2971db21e3 Read and report power usage. 2023-03-10 00:23:09 +01:00
Bartosz Taudul
e92874c0bb Save "on demand" flag in traces.
Previously on demand mode was determined by frame offset parameter being
greater than zero. However, if the application is not pumping frames with
FrameMark macro, the frame index will never increase and the frame offset
parameter stay at zero. It is not possible to distinguish on demand traces
from normal ones in this scenario.

Fix by explicitly saving the on demand flag in trace file and employ the
previous logic to set the flag when importing older traces.
2023-03-04 00:11:32 +01:00
Bartosz Taudul
897aec5b06 Release 0.9.1. 2023-02-26 15:30:03 +01:00
Bartosz Taudul
d47122586c Fix color channel names in source location message. 2023-01-23 01:23:15 +01:00
Bartosz Taudul
6652999a60 Fix color channels names in zone color message. 2023-01-23 01:18:54 +01:00
Bartosz Taudul
eb7c13e7bb Fix message color component names in the protocol.
Red and blue channels were mislabeled. Otherwise, coding and decoding was
performed correctly, as far as the color channel order described in the manual
is followed by the user.

No change to the binary protocol was made.
2023-01-23 01:07:07 +01:00
ReplayCoding
9da24b713c Always fallback to using native thread name...
...even when TRACY_ENABLE is defined.
2022-11-29 12:02:42 -08:00
Bartosz Taudul
5a1f5371b7 Release 0.9.0. 2022-10-26 23:23:08 +02:00
Bartosz Taudul
86f88714ae Add compatibility with previous broadcast versions. 2022-10-26 23:23:07 +02:00
Bartosz Taudul
b88ef29792 Make sure source file data is properly tracked. 2022-10-13 19:00:22 +02:00
Bartosz Taudul
a85c0e18d2 Decouple source code retrieval from the profiler thread.
This will prevent apparent freezes of the profiler when debuginfod queries are
made.
2022-10-13 00:30:17 +02:00
Bartosz Taudul
0b84b50d9f Remove locationCodeAddressList map from Worker.
Mapping of source code locations to code addresses is now performed
dynamically during disassembly in SourceView.
2022-10-12 00:13:07 +02:00