1
0
mirror of https://github.com/wolfpld/tracy.git synced 2025-03-20 07:40:02 +08:00
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