Commit Graph

553 Commits

Author SHA1 Message Date
Bartosz Taudul
2f5f2e5b1d Add range boundary highlight. 2020-07-29 18:42:52 +02:00
Bartosz Taudul
ff5daf9df7 Proper handling of mouse over timeline view.
This fixes:
- Dead zones between header, frame sets and the rest of timeline
  display.
- One-frame frame set position lag when panning the view with mouse over
  zones region of timeline.
2020-07-29 17:52:51 +02:00
Bartosz Taudul
fd5ccc16d6 Extract find zone range data to a separate struct. 2020-07-28 15:12:45 +02:00
Bartosz Taudul
420bdd5854 Don't recalculate message list every frame. 2020-07-12 15:26:05 +02:00
Bartosz Taudul
333e10c724 Move message line drawing to a separate function. 2020-07-12 15:07:43 +02:00
Bartosz Taudul
925bf7e638 Implement grouping zones by zone name. 2020-07-04 12:36:04 +02:00
Bartosz Taudul
d1ef8ea90b Set owner of file dialogs on windows. 2020-06-10 01:52:17 +02:00
Bartosz Taudul
7ce915c4f6 Allow display of symbol address in statistics view. 2020-05-30 15:39:34 +02:00
Bartosz Taudul
74a79a6921 Add zone child time getter with clamping to time range. 2020-05-25 01:14:44 +02:00
Bartosz Taudul
d3b60f913d Extend "first frame" time. 2020-05-23 16:52:58 +02:00
Bartosz Taudul
0b900c0a3c Add crash popup. 2020-05-23 16:40:15 +02:00
Bartosz Taudul
fdd50840a7 Add a function for showing sample parents. 2020-05-10 16:07:45 +02:00
Bartosz Taudul
70818b49b9 Force connection popup boolean should decay. 2020-05-08 01:49:15 +02:00
Bartosz Taudul
15454d2253 Select microarchitecture basing on cpuid. 2020-05-07 00:53:31 +02:00
Bartosz Taudul
9d94cdbb52 Parametrize color highlighting. 2020-05-03 14:33:47 +02:00
Bartosz Taudul
b69bf49082 Separate thread context data getter. 2020-05-03 14:21:27 +02:00
Bartosz Taudul
222d3d661e Change "go to frame" window to popup. 2020-05-03 13:54:37 +02:00
Bartosz Taudul
78a56640c3 Open connection popup when a connection is established. 2020-04-25 13:14:27 +02:00
Bartosz Taudul
91ad77d86a Save/load source substitutions. 2020-04-18 14:25:04 +02:00
Bartosz Taudul
01d7fefe52 Perform source file name substitution. 2020-04-17 19:28:39 +02:00
Bartosz Taudul
47cfb4ae35 Expose source substitution interface. 2020-04-17 19:28:39 +02:00
Bartosz Taudul
5f22e35c26 Add UI for source location substitutions. 2020-04-17 19:28:39 +02:00
Bartosz Taudul
b8647f968a Don't animate threads on first frame. 2020-04-12 23:41:18 +02:00
Bartosz Taudul
1e965edb54 Don't separate inlines by default. 2020-04-09 19:44:42 +02:00
Bartosz Taudul
fe98921e4c Add UI for disabling inlines in sample statistics. 2020-04-08 15:52:53 +02:00
Bartosz Taudul
a7fffe7e13 Separate opening source and symbol views. 2020-04-08 02:12:09 +02:00
Bartosz Taudul
b957087456 Add "smart" symbol location to sampled statistics. 2020-03-30 23:58:42 +02:00
Bartosz Taudul
44096dfcf2 Move DrawTextContrast() to TracyImGui.hpp. 2020-03-30 22:39:34 +02:00
Bartosz Taudul
48e4d33bea Support call stacks longer than 255 entries. 2020-03-28 18:04:33 +01:00
Bartosz Taudul
78ea40d70c Check for asm/source availability in SetTextEditorFile. 2020-03-27 21:46:57 +01:00
Bartosz Taudul
45b8622bc9 Search for base address when if symbol address is inlined. 2020-03-27 21:04:23 +01:00
Bartosz Taudul
720ed0460b Differentiate between symbol and base address. 2020-03-27 17:59:16 +01:00
Bartosz Taudul
7018caadb9 Add UI for control of displaying all symbols. 2020-03-26 22:39:16 +01:00
Bartosz Taudul
b091c0d4a8 Hide unknown symbols by default in sample statistics. 2020-03-25 23:44:48 +01:00
Bartosz Taudul
4c92a2619f Pass symbol address to source view. 2020-03-25 00:07:31 +01:00
Bartosz Taudul
9672dba765 Replace source file viewer with one that actually works.
This is much simpler, custom implementation of a text file viewer. It is
able to perform these two tasks as intended:
- center source view on the selected line,
- highlight that line.
2020-03-22 20:53:59 +01:00
Bartosz Taudul
ac84e77333 Ghost zones display prototype. 2020-03-19 00:35:18 +01:00
Bartosz Taudul
77d30adee9 Add per-thread ghost zones switch. 2020-03-19 00:35:18 +01:00
Bartosz Taudul
9668234903 Allow requesting reconnect on trace discard. 2020-03-06 22:11:17 +01:00
Bartosz Taudul
d25614d50f Allow address/port retrieval from View. 2020-03-06 22:11:00 +01:00
Bartosz Taudul
9b53792f20 Add call stack sample parents window. 2020-02-29 18:59:01 +01:00
Bartosz Taudul
5f48f8a3aa Allow hiding symbols with unknown location. 2020-02-27 19:45:41 +01:00
Bartosz Taudul
bc18862dc6 Allow displaying instruction location. 2020-02-27 15:10:50 +01:00
Bartosz Taudul
17e7add105 By default show self times in statistics menu. 2020-02-27 14:20:19 +01:00
Bartosz Taudul
374ddbe2a6 Replace tabs with radio buttons. 2020-02-27 12:24:28 +01:00
Bartosz Taudul
27466fc56b Add callstack sampling statistics. 2020-02-27 02:08:20 +01:00
Bartosz Taudul
02c99fca67 Enable display of symbol address in callstack window. 2020-02-26 19:16:27 +01:00
Bartosz Taudul
2e3b13ced5 Optional frame image display in messages list. 2020-02-24 01:29:57 +01:00
Bartosz Taudul
d4f9810006 Draw callstack sample data. 2020-02-22 18:52:38 +01:00
Bartosz Taudul
dd650e08ec Display saved trace size. 2020-02-08 13:07:02 +01:00
Bartosz Taudul
0bb6162a01 Allow sorting memory data listings. 2020-02-05 17:08:41 +01:00
Bartosz Taudul
d680fa6cd6 Clip memory allocation lists. 2020-01-31 19:18:20 +01:00
Bartosz Taudul
9a5104dacf Extract and pass a value, which will be changing. 2020-01-30 01:57:49 +01:00
Bartosz Taudul
022528bb47 Use Martin Ankerl's robin hood unordered map.
ska::flat_hash_map has bugs and its development is dead.
2020-01-28 21:49:36 +01:00
Bartosz Taudul
ea424a4c8d Use custom vector. 2020-01-20 23:58:36 +01:00
Bartosz Taudul
6de489a34f Use flat_hash_map for groups. 2020-01-20 23:43:10 +01:00
Bartosz Taudul
6358b4588d Preserve groups order. 2020-01-20 23:40:07 +01:00
Bartosz Taudul
36942a5ddb Resetting groups should also unselect group. 2019-12-28 18:03:30 +01:00
Bartosz Taudul
17afcbce4f Highlight zone from zone list on histogram. 2019-12-28 17:50:54 +01:00
Bartosz Taudul
46ed2fb802 Enhance time distribution zone search.
When the find zone menu is opened from the zone time distribution list,
time range limit will be enabled, preventing display of zones outside of
the selected zone range. This allows much easier finding of child zones
within the selected zone scope.

Limiting zone search to a specified thread(s) might also be helpful
here, but it can be worked around by looking only at zones in a single
thread group.
2019-12-28 17:28:39 +01:00
Bartosz Taudul
33e7d175d4 Add zone time range limit controls. 2019-12-28 15:57:07 +01:00
Bartosz Taudul
6c6b78bcbd Fix find zone selection time. 2019-12-28 15:48:45 +01:00
Bartosz Taudul
115c66324d Add inclusive time display to time distribution. 2019-12-25 15:07:52 +01:00
Bartosz Taudul
ade01e98ad Add time-relative switch to message list in zone info window. 2019-11-27 01:42:44 +01:00
Bartosz Taudul
ace780ea74 Add CPU data thread highlight. 2019-11-24 01:40:32 +01:00
Bartosz Taudul
973fd941d5 Extract call stack calls drawing functionality. 2019-11-15 19:59:13 +01:00
Bartosz Taudul
fd7ad586af Make display of zone time in frames toggleable.
And disable it by default, as it can be heavy on resources.
2019-11-10 23:27:37 +01:00
Bartosz Taudul
226a7b7cfb Magic vectors in GPU children list. 2019-11-10 02:03:31 +01:00
Bartosz Taudul
675e6a8d1a Support magic vectors for GPU zones. 2019-11-10 01:30:10 +01:00
Bartosz Taudul
06ad948abc Adapt zone children to magic vectors. 2019-11-10 01:23:44 +01:00
Bartosz Taudul
50efa8f672 Adapt time distribution calculation to magic vectors. 2019-11-10 01:08:15 +01:00
Bartosz Taudul
7be19193d9 Use adapters during zone level iteration. 2019-11-10 00:00:40 +01:00
Bartosz Taudul
cfce429fca Format plot values according to requested formatting. 2019-11-05 18:08:42 +01:00
Bartosz Taudul
b7cd28ef72 Add source location color retriever. 2019-11-02 22:45:11 +01:00
Bartosz Taudul
ce82bb816b Use short ptr for find zone grouping data.
Overall, the short ptr changes have the following effect on memory
usage:

big         9007 MB -> 8670 MB (96%)
chicken     2007 MB -> 1932 MB (96%)
drl-l-b     1383 MB -> 1304 MB (94%)
q3bsp-mt    5252 MB -> 5059 MB (96%)
long        5152 MB -> 4799 MB (93%)
fi-big      4141 MB -> 4000 MB (96%)
2019-11-02 16:54:12 +01:00
Bartosz Taudul
a40bbacb17 Use short ptr for CPU zone data. 2019-11-02 16:54:12 +01:00
Bartosz Taudul
cb20bf01f9 Use short ptr for GPU zone data. 2019-11-02 16:54:11 +01:00
Bartosz Taudul
0552d75400 Allow filtering entries in statistics menu. 2019-11-01 20:49:02 +01:00
Bartosz Taudul
978071f2ba Allow grouping zones by parent. 2019-10-31 15:00:22 +01:00
Bartosz Taudul
c0df3dd965 Implement getting zone parent when thread id is known. 2019-10-31 14:59:52 +01:00
Bartosz Taudul
ccdc102d5a Cache zone time distribution data. 2019-10-20 03:24:58 +02:00
Bartosz Taudul
f0c77b4ef4 Add annotation list window. 2019-10-14 20:52:18 +02:00
Bartosz Taudul
1527e7bc10 Add annotation modification window. 2019-10-13 15:50:37 +02:00
Bartosz Taudul
5fed86dae7 Allow adding annotations to timeline. 2019-10-13 15:28:52 +02:00
Bartosz Taudul
0a358ac1f0 Time distribution may now only include running time. 2019-10-09 22:13:52 +02:00
Bartosz Taudul
6ced346e08 Different sorting modes for zone time distribution. 2019-10-09 21:42:46 +02:00
Bartosz Taudul
4c4099877d Track trace file name in TracyView. 2019-10-07 21:36:19 +02:00
Bartosz Taudul
b913c17f5b Add "no grouping" mode to find zone zones list. 2019-10-04 12:42:05 +02:00
Bartosz Taudul
0e56682964 Darkening of inactive thread regions. 2019-09-30 23:37:36 +02:00
Bartosz Taudul
cafb5d6a99 Highlight threads on CPU data timeline. 2019-09-29 18:49:48 +02:00
Bartosz Taudul
82cd667b30 Allow specifying network port in server. 2019-09-21 15:43:01 +02:00
Bartosz Taudul
6a0512fe16 Allow comparing frame times. 2019-09-16 22:02:47 +02:00
Bartosz Taudul
6d00a56c61 Draw thread migrations across CPU cores. 2019-09-12 20:08:57 +02:00
Bartosz Taudul
8ddafe4153 Extract color highlight functionality. 2019-09-11 18:52:25 +02:00
Bartosz Taudul
00409b0b94 Extract thread color getter. 2019-09-11 18:34:48 +02:00
Bartosz Taudul
a5a6b11b63 Zones can now have dynamic colors. 2019-09-08 14:33:30 +02:00
Bartosz Taudul
2714152f84 Allow calculating zone depth. 2019-09-08 14:16:12 +02:00
Bartosz Taudul
b7522ec4c1 Allow getting zone color sans higlights, etc. 2019-09-08 13:16:00 +02:00
Bartosz Taudul
6f25ad5fcb Save per-trace options. 2019-08-28 21:35:08 +02:00
Bartosz Taudul
85027c185d Extract notification area drawing to a separate function. 2019-08-28 20:27:39 +02:00