Commit Graph

4161 Commits

Author SHA1 Message Date
Bartosz Taudul
e44db26492 Display number of groups in find zones window. 2023-12-20 17:31:00 +01:00
Bartosz Taudul
ef9b079ecc Mark invalidGid constexpr. 2023-12-20 17:26:29 +01:00
Bartosz Taudul
56fa051bea Display number of threads each source location is present in. 2023-12-20 17:19:26 +01:00
Bartosz Taudul
8187519775 Add threads count to SrcLocZonesSlim. 2023-12-20 17:19:26 +01:00
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
Bartosz Taudul
348be05605 Add zmmword as known asm size directive. 2023-11-08 02:01:37 +01: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
03fdb3402d Update xxhash to 0.8.2. 2023-10-09 23:11:30 +02:00
Bartosz Taudul
52721a6bf0 Add Zen4 EPYC CpuId. 2023-10-09 22:34:44 +02:00
Bartosz Taudul
2c18097bf9 Symbol history walking. 2023-10-07 01:28:10 +02:00
Bartosz Taudul
2a6a082c93 Maintain a history of viewed symbols. 2023-10-07 01:12:16 +02:00
Bartosz Taudul
296f30a9c5 Reduce number of worker threads used for render tasks.
Number of cores -> number of worker threads:

1 -> 0
2 -> 0
3 -> 0
4 -> 1
5 -> 1
6 -> 2
7 -> 2
8 -> 3
9 -> 3
10 -> 4
11 -> 4
12 -> 5
13 -> 5
14 -> 6
15 -> 6
16 -> 7
17 -> 7
18 -> 8
19 -> 8
20 -> 9
21 -> 9
22 -> 10
23 -> 10
24 -> 11
25 -> 11
26 -> 12
27 -> 12
28 -> 13
29 -> 13
30 -> 14
31 -> 14
32 -> 15
2023-08-05 12:01:36 +02:00
Bartosz Taudul
57bd63dab6 Show trace description/filename on titlebar. 2023-06-29 23:53:37 +02:00
Bartosz Taudul
2b191e157e Fix early exit not initializing values used later on. 2023-06-06 17:46:49 +02:00
Bartosz Taudul
c00d8c6211 FreeBSD has 64-bit stat with no need for stat64. 2023-05-23 23:41:39 +02:00
Bartosz Taudul
4e1b198380 FreeBSD has alloca in stdlib.h. 2023-05-23 23:38:34 +02:00
Bartosz Taudul
b072dbcdc6 Fix TaskDispatch on wasm. 2023-05-07 16:11:18 +02:00
Bartosz Taudul
c75f01c90e Merge pull request #557 from KristofferC/kc/filter_user
allow filtering zones in Zone finder based on the user text
2023-05-02 17:46:27 +02:00
Kristoffer
3285c8c960 formatting 2023-05-02 11:25:42 +02:00
Bartosz Taudul
bd2f903c08 Add persistent target FPS option. 2023-05-01 19:09:27 +02:00
Bartosz Taudul
d6c5d3f6db Don't enforce creating at least one worker thread in TaskDispatch.
Everything can be confined to a single thread that does job dispatch,
and then waits for the jobs to finish. TaskDispatch has always executed
outstanding work during this wait, so no workers are needed.
2023-05-01 15:44:27 +02:00
Bartosz Taudul
331c2bd7c0 Configure number of threads in TimelineController. 2023-05-01 14:41:51 +02:00
Bartosz Taudul
a2d470690f Pass global config to View. 2023-05-01 14:41:38 +02:00
Bartosz Taudul
1dd0341cff Add global configuration struct. 2023-05-01 14:40:31 +02:00
Kristoffer
73c83906b6 make the histogram take into account filtered zones 2023-05-01 13:31:21 +02:00
Kristoffer
6c5029af78 fix id collision in clear button 2023-05-01 13:13:37 +02:00
Bartosz Taudul
993c78f045 Fix thread context switch offset. 2023-05-01 12:50:48 +02:00
Bartosz Taudul
5019f7d2b4 Force inline GetZoneEnd's fast exit path. 2023-05-01 01:28:32 +02:00
Bartosz Taudul
2e9d8f8215 Check if external threads are local.
For some unknown reason, local threads may be attributed to an external
process (at least when profiling on Windows). This causes some problems,
for example the CPU usage graph may show that CPU is pegged by some other
program, when it reality it is the profiled program that uses the CPU time.

Workaround by checking first, if the thread id is known to be local by the
profiler, i.e. if there were user-generated events originating from it.

This still leaves other things, such as the CPU data list, being wrong,
but the CPU data is meant to show raw TID -> PID mapping. If the source
data is wrong, there's not much to fix here.
2023-04-30 13:55:49 +02:00
Bartosz Taudul
e1e4699a52 Load custom mip chain for zigzags. 2023-04-29 13:10:58 +02:00
Kristoffer
ef68f3139f allow filtering zones in Zone finder based on the user text 2023-04-28 16:54:29 +02:00
Bartosz Taudul
b83cb3f2ce Don't use hacks to determine end time. 2023-04-28 00:00:20 +02:00
Bartosz Taudul
474dc6945e Draw zigzags using bitmaps. 2023-04-27 23:17:35 +02:00
Bartosz Taudul
42aeece7fd Allow generating texture mip maps. 2023-04-27 23:17:34 +02:00
Bartosz Taudul
d131f22354 Special-case creating zigzag texture. 2023-04-27 23:17:34 +02:00
Bartosz Taudul
52e3ae719d Remove missed plot vector sorting during draw. 2023-04-27 17:36:11 +02:00
Bartosz Taudul
5f66cd8718 Don't use delay and resolution when processing GPU zones. 2023-04-26 00:50:13 +02:00
Bartosz Taudul
745ca83de6 PreprocessLocks() doesn't use yPos. 2023-04-26 00:47:50 +02:00
Bartosz Taudul
798249c81c Remove error indicators for CPU zones. 2023-04-26 00:46:45 +02:00
Bartosz Taudul
72b1ff6477 Early exit on empty plots. 2023-04-25 00:35:53 +02:00
Bartosz Taudul
6aa9169901 Reduce number of plot samples from 1024 to 256.
Having 1024 samples proved to be too slow.
2023-04-25 00:27:17 +02:00
Bartosz Taudul
3811c8ace4 Remove redundant check.
There is already check for zoneFree being non-nullptr, so it makes no sense
to check zoneAlloc for that again, if it has to match zoneFree.
2023-04-25 00:04:59 +02:00
Bartosz Taudul
c8c6646f52 Simplify condition. 2023-04-25 00:03:48 +02:00
Bartosz Taudul
88cb43ad84 Don't write what is never read. 2023-04-25 00:00:30 +02:00
Bartosz Taudul
def30228c9 Draw plots using preprocessed draw lists. 2023-04-24 23:28:29 +02:00