Commit Graph

472 Commits

Author SHA1 Message Date
Bartosz Taudul
d01113150d Calculate per-thread source location counts. 2023-12-20 16:42:37 +01:00
Bartosz Taudul
af73dba73e Merge pull request #665 from tiago-rodrigues/trodrigues/offline_symbol_resolve
Add support for offline callstack symbol resolving
2023-11-27 16:53:22 +01:00
Ivan Molodetskikh
ad39a01de1 Don't error on frame end without start (#666)
With on-demand profiling we're very likely to connect in the middle of a
discontinuous frame and thus receive a frame end without any preceding
frame start. So don't error out in this case.
2023-11-19 19:09:58 +01:00
Tiago Rodrigues
687d681764 Instead of adding new method, make StoreString public 2023-11-19 06:32:17 -08:00
Tiago Rodrigues
f4f75eac64 Add support for offline symbol resolving by setting the "TRACY_SYMBOL_OFFLINE_RESOLVE=1" env var
- Add a tool "tracy-edit" that allows loading a tracy capture, patching symbols and recompress the result
- Add offline symbol resolvers for linux (using addr2line) and windows (using dbghelper)
2023-11-19 06:32:16 -08: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
5019f7d2b4 Force inline GetZoneEnd's fast exit path. 2023-05-01 01:28:32 +02:00
Bartosz Taudul
7797557e8c Don't pass memname parameter to functions handling allocation changes. 2023-04-16 18:12:14 +02:00
Bartosz Taudul
38b7aab4ef Remove unused parameters from various payload handling functions. 2023-04-16 18:08:48 +02:00
Bartosz Taudul
3b00e55235 Rename IsThreadStringRetrieved -> IsFailureThreadStringRetrieved.
IsThreadStringRetrieved() interface suggested that it can be used for
checking any thread state, as it had an uint64_t id parameter.

The implementation ignored this parameter and checked the status of
failure thread only. This was never an issue because the code using
this function was only checking for the failure thread state.

Fixed by renaming the function to explicitly state what it does and
removing the thread id parameter.
2023-04-16 17:49:21 +02:00
Bartosz Taudul
b64bab197a No need for GetZoneName() with GpuEvent + srcloc parameters. 2023-04-16 17:46:15 +02:00
Bartosz Taudul
5eebc5d7cf Preprocess CPU usage.
Things of note: Worker::GetCpuUsage() functionality was moved to
TimelineItemCpuData::PreprocessCpuUsage().
2023-03-25 17:55:15 +01:00
Bartosz Taudul
69855c671f Process power usage messages. 2023-03-10 01:02:41 +01:00
Bartosz Taudul
5ebc499f49 Add on demand mode flag accessor. 2023-03-04 00:19:58 +01:00
Bartosz Taudul
3ff158c8be Worker::GetMemoryDefault() is not needed. 2023-03-03 22:40:14 +01:00
Bartosz Taudul
c91b052c80 Add first time getter. 2023-03-03 21:48:34 +01:00
Bartosz Taudul
b3186a9b7d Fix uninitialized variable. 2023-02-24 22:57:14 +01:00
Bartosz Taudul
b88ef29792 Make sure source file data is properly tracked. 2022-10-13 19:00:22 +02:00
Bartosz Taudul
ed455339b3 Remove codeAddressToLocation map. 2022-10-12 00:13:07 +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
Bartosz Taudul
383ecb6a12 Remove CodeLocation query and CodeInformation response. 2022-10-11 22:56:23 +02:00
Bartosz Taudul
23ebce2862 Implement checking if frames are in use. 2022-09-05 20:12:12 +02:00
Daniel
dc74b8adfd Using push/pop in all pragma pack pair to avoid potential padding bugs 2022-08-03 18:39:42 +08:00
Bartosz Taudul
8b4385498d Process Vsync frame messages.
Version bump is required due to frame set name pointer hack.
2022-07-30 19:51:29 +02:00
Bartosz Taudul
810f1573ac Use separate messages for transfer of different plot value types. 2022-07-24 13:00:36 +02:00
Bartosz Taudul
4d40a9cb53 Track locking thread on server side. 2022-07-18 02:06:19 +02:00
Bartosz Taudul
06c7984a16 Move all client headers and sources to public/ directory. 2022-07-17 15:47:38 +02:00
Bartosz Taudul
183cbf12a0 Subtract base time directly in TscTime(). 2022-06-22 01:56:31 +02:00
Bartosz Taudul
caf092d4b4 Symbol map is alway available. 2022-05-02 01:12:34 +02:00
Bartosz Taudul
fd55c1e975 Pass symbol image name to CacheSource(). 2022-05-01 14:25:07 +02:00
Bartosz Taudul
18112d3c66 Drop support for pre-0.7 traces. 2022-04-18 13:59:48 +02:00
Bartosz Taudul
d8ec98042a Add branch retirement state accessor. 2022-04-01 18:48:11 +02:00
Bartosz Taudul
381f706796 Remember if there is branch retirement data. 2022-04-01 18:46:46 +02:00
Bartosz Taudul
2b47c2a64e Send priority queries before other queued up queries.
This ensures that simple to handle yet important queries are answered in a
timely manner. Previously an onslaught of slow symbol-related queries could
block e.g. zone name resolving for a couple of minutes.
2022-03-31 00:06:49 +02:00
Bartosz Taudul
a335efe9e6 Implement scanning for source files missing in cache. 2022-03-30 16:07:15 +02:00
Bartosz Taudul
e086488928 Extract source file caching functionality. 2022-03-30 16:06:35 +02:00
Bartosz Taudul
45c7edcc96 GPU source locations zones data accessor. 2022-01-29 15:22:49 +01:00
Bartosz Taudul
2ca4b0058a Add AreGpuSourceLocationZonesReady() query. 2022-01-29 00:51:43 +01:00
Bartosz Taudul
ba87929074 Perform GPU statistics reconstruction.
Note: Zone counts are currently being calculated, but they are not being
saved. Proper usage of this data (as is performed in the CPU counterpart)
would remove the possibility of insertion of new entries into the map in
ReconstructZoneStatistics().
2022-01-29 00:48:01 +01:00
Bartosz Taudul
7870ca9da6 Add GPU mutable children accessor. 2022-01-29 00:40:11 +01:00
Bartosz Taudul
f9279afaec GPU zone counting. 2022-01-29 00:15:32 +01:00
Bartosz Taudul
f1095bba12 GPU statistics data accessors. 2022-01-29 00:15:32 +01:00
Bartosz Taudul
8533bdf5f4 Add data structures for GPU statistics. 2022-01-29 00:15:31 +01:00
Bartosz Taudul
c5654c333a Process explicit context switch callstack samples. 2021-12-21 14:18:32 +01:00
Bartosz Taudul
3f1c540b3a Further split ProcessCallstackSampleImpl(). 2021-12-21 14:18:14 +01:00
Bartosz Taudul
bbbae35925 Only identify samples when IdentifySamples is set. 2021-12-04 15:16:17 +01:00
Bartosz Taudul
4f735e1ae2 Extract callstack merging. 2021-11-27 15:06:58 +01:00
Bartosz Taudul
a02575322f Collect child sample addresses. 2021-11-27 02:03:59 +01:00
Bartosz Taudul
abdd6020ba No need to remember addresses of symbol code queries. 2021-11-25 22:35:43 +01:00
Bartosz Taudul
ffa8bf4d75 Use table instead of map to track reentrant calls. 2021-11-14 16:42:11 +01:00