Bartosz Taudul
86cb477811
Pack ZoneThreadData.
...
This reduces struct size from 10 to 8 bytes. Assumes 48-bit pointers
(4-level paging)!
Memory savings (MB):
android 2766 -> 2757 (99%)
big 10.29 G -> 9902 (96%)
chicken 2244 -> 2172 (96%)
ctx-android 228 -> 224 (98%)
drl-l-b 1635 -> 1570 (96%)
gn-vulkan 244 -> 240 (98%)
long 5656 -> 5496 (97%)
q3bsp-mt 6043 -> 5784 (95%)
selfprofile 1554 -> 1486 (95%)
2019-08-31 00:55:51 +02:00
Bartosz Taudul
217a3781e6
Fix possible wrong process name for pid 0.
2019-08-30 00:59:54 +02:00
Bartosz Taudul
5e8b2a0723
Display wakeup times in zone wait regions list.
2019-08-28 23:03:16 +02:00
Bartosz Taudul
6f25ad5fcb
Save per-trace options.
2019-08-28 21:35:08 +02:00
Bartosz Taudul
fc5293b1ae
Only scroll message list to bottom if capture is live.
2019-08-28 21:04:28 +02:00
Bartosz Taudul
a2f968d843
Compress thread id in MessageData.
2019-08-28 21:03:01 +02:00
Bartosz Taudul
ede26b0caf
Fix skipping zone levels.
2019-08-28 20:47:19 +02:00
Bartosz Taudul
85027c185d
Extract notification area drawing to a separate function.
2019-08-28 20:27:39 +02:00
Bartosz Taudul
a8eb99efcc
Add notification icons when a drawing a category is disabled.
2019-08-28 20:24:14 +02:00
Bartosz Taudul
5b0ccef373
Change some icons.
2019-08-28 20:17:38 +02:00
Bartosz Taudul
28a20e631e
Preserve frame graph position and scale.
2019-08-28 19:52:36 +02:00
Bartosz Taudul
17d4a82ca5
Preserve timeline vertical scroll position.
2019-08-28 19:49:27 +02:00
Bartosz Taudul
f37797db44
Save/load view state.
2019-08-28 19:45:22 +02:00
Bartosz Taudul
dc5444ff0f
Notify UserData that view state should be preserved.
...
This is only active when a trace is loaded from a file (and state should
be persistent for future sessions using this trace), or when state is
saved to a file (so that future sessions will use current state).
No state is preserved by default, i.e. when the trace was not saved to a
file.
2019-08-28 19:37:01 +02:00
Bartosz Taudul
949c9cb121
Move some view data to a separate structure.
2019-08-28 19:35:54 +02:00
Bartosz Taudul
2a0d6ce4ad
Add notification area indicator for hidden timeline items.
2019-08-28 18:36:05 +02:00
Bartosz Taudul
ed83762a1a
Keep things simple.
2019-08-28 01:29:58 +02:00
Bartosz Taudul
ef287c8aab
Display external thread names of profiled program on CPU data timeline.
2019-08-27 23:17:53 +02:00
Bartosz Taudul
8eb7220dd7
Use the new thread name getter.
2019-08-27 23:08:14 +02:00
Bartosz Taudul
f8e3d1ad0a
Try to fix current program's thread names.
...
External thread names can be cut-off to include only the first 15-or-so
characters. If a local thread name is known and its beginning matches
the external name, use the local name instead.
2019-08-27 22:41:03 +02:00
Bartosz Taudul
8bb13ca09e
Use captured program name in CPU data.
...
This fixes android application names, which are cut to show only last
15-or-so letters.
2019-08-27 22:35:53 +02:00
Bartosz Taudul
eb78ecd0fd
Display frame number in playback window.
2019-08-26 19:01:59 +02:00
Bartosz Taudul
3e4d3efbdb
Extract frame number getter.
2019-08-26 19:01:51 +02:00
Bartosz Taudul
e5a11ad593
Allow sorting CPU data table by different columns.
2019-08-25 00:17:06 +02:00
Bartosz Taudul
4376757912
Display thread ids in options menu.
2019-08-24 23:43:36 +02:00
Bartosz Taudul
2b9ec14c92
Display threads ids as base-10 numbers.
2019-08-24 23:41:33 +02:00
Bartosz Taudul
1712431dfd
Compress external threads. Saves 4 bytes per ctx switch.
...
Dropped support for loading context switch data in previous versions of
traces.
2019-08-19 23:09:58 +02:00
Bartosz Taudul
e60b2884f4
Mark local threads with different color.
2019-08-18 14:57:44 +02:00
Bartosz Taudul
9a3974b8f1
Display process times in graphical form.
2019-08-18 14:51:25 +02:00
Bartosz Taudul
2eed28b19f
Highlight current process.
2019-08-18 14:46:59 +02:00
Bartosz Taudul
ae9cae781a
Display CPU migrations percentage.
2019-08-18 14:44:00 +02:00
Bartosz Taudul
691fe06bfe
Compare pids to determine if thread is local untracked.
2019-08-18 14:40:04 +02:00
Bartosz Taudul
95f4162870
Display number of tracked processes.
2019-08-18 14:30:52 +02:00
Bartosz Taudul
7a036b56b1
Add icon to CPU data button.
2019-08-18 14:30:01 +02:00
Bartosz Taudul
c5060da185
Display unknown pid as unknown.
2019-08-18 14:28:56 +02:00
Bartosz Taudul
faac08865a
Display basic information about CPU usage.
2019-08-18 12:28:38 +02:00
Bartosz Taudul
fa573ef4cf
Display PID.
2019-08-17 22:21:02 +02:00
Bartosz Taudul
1024992493
React to enter key in "go to frame" dialog.
2019-08-17 22:01:06 +02:00
Bartosz Taudul
258cf38d64
Fix flicker.
2019-08-17 21:59:08 +02:00
Bartosz Taudul
0ea8789f39
Display CPU core in waking up thread popup.
2019-08-17 21:24:40 +02:00
Bartosz Taudul
414f903cc5
Collect thread wakeup data.
2019-08-17 17:05:29 +02:00
Bartosz Taudul
f957f64ce1
No magic numbers.
2019-08-17 16:26:59 +02:00
Bartosz Taudul
65e62dea06
Display thread ids next to thread names in CPU data.
2019-08-17 03:06:54 +02:00
Bartosz Taudul
e975c4d7bf
Also retrieve external thread names.
2019-08-16 19:49:16 +02:00
Bartosz Taudul
134a8c5d2a
Fix positioning.
2019-08-16 19:32:25 +02:00
Bartosz Taudul
edd5338faa
Display untracked threads.
2019-08-16 19:30:46 +02:00
Bartosz Taudul
fe7f56b022
Implement retrieval of external process names.
2019-08-16 19:22:23 +02:00
Bartosz Taudul
56e6795c76
Add per-cpu context switch tooltips.
2019-08-16 18:39:03 +02:00
Bartosz Taudul
7e81f3250e
Add CPU tooltip.
2019-08-16 18:39:03 +02:00
Bartosz Taudul
8e71e2dba5
Draw per-CPU global context switch data.
2019-08-16 18:22:57 +02:00
Bartosz Taudul
8bc4258e29
Display count of per-cpu context switch data.
2019-08-16 16:51:18 +02:00
Bartosz Taudul
9e0fe226df
Add small font.
2019-08-16 16:02:57 +02:00
Bartosz Taudul
95879d2bd9
Use proper UI element to indicate selectable items.
2019-08-16 00:12:03 +02:00
Bartosz Taudul
889eddd646
Pack ContextSwitchData. Saves 3 bytes per context switch region.
2019-08-15 23:53:47 +02:00
Bartosz Taudul
e90ddf7ee5
Don't search whole data set twice.
2019-08-15 23:03:37 +02:00
Bartosz Taudul
c22c259a13
Pack time and thread in MemEvent.
...
This saves 4 bytes per logged memory allocation. Memory savings for
selected traces:
android 2945 MB -> 2766 MB
chicken 2261 MB -> 2245 MB
q3bsp-mt 6085 MB -> 6043 MB
mem 6788 MB -> 6468 MB
2019-08-15 23:02:43 +02:00
Bartosz Taudul
41beff29a9
Remove redundant GetTimeBegin().
...
Traces now start at zero time.
2019-08-15 21:04:20 +02:00
Bartosz Taudul
5e20b3f28a
Pack time and source location in LockEvent.
2019-08-15 20:39:16 +02:00
Bartosz Taudul
bf3ad57456
Pack start time and srcloc together in ZoneEvent.
...
This reduces ZoneEvent struct size by 2 bytes. Memory savings on various
captures:
10.62 GB -> 10.29 GB
2342 MB -> 2276 MB
1706 MB -> 1635 MB
6277 MB -> 6085 MB
2019-08-15 20:17:36 +02:00
Bartosz Taudul
f5775a2d6e
Display list of CPUs on which zone was running.
2019-08-15 20:17:36 +02:00
Bartosz Taudul
350e526ec0
Fix crash when zone exists before thread context switches appear.
2019-08-15 20:17:36 +02:00
Bartosz Taudul
659907c972
Store srcloc identifiers using 16 bit.
...
This reduces various structure sizes by 2 bytes. Memory usage reduction
on various traces:
big 11 GB -> 10.62 GB
chicken 2436 MB -> 2342 MB
drl-light-big 1761 MB -> 1706 MB
q3bsp-mt 6469 MB -> 6277 MB
2019-08-15 20:15:48 +02:00
Bartosz Taudul
416113fdcb
Drop support for ETC1 frame images.
2019-08-15 16:29:50 +02:00
Bartosz Taudul
aa00b1c4c4
Add Win10 wait reasons.
2019-08-15 01:48:50 +02:00
Bartosz Taudul
690a6d12d7
Properly handle incomplete context switch data.
2019-08-14 22:10:54 +02:00
Bartosz Taudul
7549c50bab
Fix time range reset condition.
2019-08-14 21:53:09 +02:00
Bartosz Taudul
26f417a841
Add option to display running time in find zone menu.
2019-08-14 21:33:43 +02:00
Bartosz Taudul
9ec0724ffb
Support dynamic recalculation of min, max and total time.
2019-08-14 21:33:42 +02:00
Bartosz Taudul
ee77ff020a
Optimize calculation of zone running time.
2019-08-14 20:47:21 +02:00
Bartosz Taudul
a5ef38812e
Display list of regions where thread was waiting.
2019-08-14 18:28:52 +02:00
Bartosz Taudul
d520f1cc48
Display zone running time in zone tooltip.
2019-08-14 18:28:52 +02:00
Bartosz Taudul
1ae540c7a1
Display zone running time in zone info window.
2019-08-14 18:28:52 +02:00
Bartosz Taudul
858c94e12e
Add interface for calculation zone running time.
2019-08-14 18:28:52 +02:00
Bartosz Taudul
0b12db5ee6
Display number of thread running state regions.
2019-08-14 17:36:19 +02:00
Bartosz Taudul
fadac0b433
Display thread running time.
2019-08-14 17:12:48 +02:00
Bartosz Taudul
72918cda19
Include recorded context switches in thread lifetime.
2019-08-14 17:03:33 +02:00
Bartosz Taudul
e39b1abce5
Handle linux wait states.
2019-08-14 14:02:31 +02:00
Bartosz Taudul
0bb0c10e3c
Revert "Save one byte on ContextSwitchData."
...
Counting bits is hard, let's go shopping.
2019-08-14 13:55:05 +02:00
Bartosz Taudul
71a5cffc13
Add context switch tooltips.
2019-08-13 16:20:43 +02:00
Bartosz Taudul
d77c87ae1c
Allow disabling context switch drawing.
2019-08-13 15:16:46 +02:00
Bartosz Taudul
874a2596f7
Improve context switches drawing.
2019-08-13 15:16:46 +02:00
Bartosz Taudul
7f856a1b16
Very bad context switch visualization.
2019-08-13 13:10:37 +02:00
Bartosz Taudul
8c494eabbf
Display number of context switch regions.
2019-08-13 02:35:32 +02:00
Bartosz Taudul
8aa0be39d5
Drop support for CPU id queries.
2019-08-12 23:05:34 +02:00
Bartosz Taudul
a9b41eb657
Rework processing bad files.
2019-08-12 12:04:27 +02:00
Bartosz Taudul
530f293c49
Better way to handle auto scrolling.
2019-08-10 22:06:51 +02:00
Bartosz Taudul
853e9c17e3
Display client address.
2019-08-04 15:56:52 +02:00
Bartosz Taudul
07da2e506a
Fix deadlock problems.
2019-08-04 15:55:42 +02:00
Rokas Kupstys
b24ac75111
Move connection window into a popup when connected.
2019-08-04 13:58:43 +03:00
Bartosz Taudul
eed7039853
Another GPU time adjust fix.
2019-08-04 01:42:44 +02:00
Bartosz Taudul
e87b8d455e
Use Theil estimator randomized approximation.
2019-08-04 01:40:11 +02:00
Bartosz Taudul
6898fd9e42
GPU time adjust fixes.
2019-08-04 00:38:08 +02:00
Bartosz Taudul
9b7384b407
Fix multiple GPU drift entry fields.
2019-08-04 00:33:31 +02:00
Bartosz Taudul
323c37bd33
Fix GPU zone search.
2019-08-04 00:30:09 +02:00
Bartosz Taudul
a642abfde0
Implement automatic GPU clock drift calculation.
2019-08-04 00:23:23 +02:00
Bartosz Taudul
da88e32887
Display FPS counts next to frame times.
2019-08-03 15:20:31 +02:00
Bartosz Taudul
6c958f6177
Increase height of frame graph.
2019-08-03 14:55:08 +02:00
Bartosz Taudul
58003e7a6b
Draw target frame time lines.
2019-08-03 14:55:08 +02:00
Bartosz Taudul
9b6c405485
Bin number shouldn't be floating point.
2019-08-02 19:43:08 +02:00
Bartosz Taudul
a4e7a341c0
Proper handling of disconnect request.
2019-08-01 23:14:09 +02:00
Bartosz Taudul
344d36086f
Simplify loop.
2019-07-31 18:53:51 +02:00
Bartosz Taudul
f41834370c
Also display number of visible messages.
2019-07-31 02:16:14 +02:00
Bartosz Taudul
ccd88a9e27
Add text coloring to memory window.
2019-07-31 02:06:01 +02:00
Bartosz Taudul
68df815ef6
Display total message count.
2019-07-31 00:34:24 +02:00
Bartosz Taudul
5dff7b5d1e
AVX2 version of plot min max calculation.
...
Slightly faster (~5%) than the autovectorized serial code.
2019-07-29 20:59:22 +02:00
Bartosz Taudul
7a878cf4c7
Pause playback when playback window is closed.
2019-07-29 01:51:45 +02:00
Bartosz Taudul
461f49feb8
Fix drawing zones at extreme zoom out levels.
...
This is needed due to int64_t -> uint64_t zone end cast hack. There are
no side effects: zero time represents start of the timer, which would be
unix epoch or system bootup time.
2019-07-28 01:58:59 +02:00
Bartosz Taudul
2e8d20b6e8
Keep zone info windows headers at top.
2019-07-27 13:28:18 +02:00
Bartosz Taudul
1afcd24dc6
Use big font in zone info windows.
2019-07-27 13:25:31 +02:00
Bartosz Taudul
245c6f9f01
Use big font in lock info window.
2019-07-27 13:18:59 +02:00
Bartosz Taudul
93195b6647
Move trace version display to trace statistics section.
2019-07-27 13:14:44 +02:00
Bartosz Taudul
2654a3010c
Keep trace info header at top of the window.
2019-07-27 13:13:50 +02:00
Bartosz Taudul
e1af87744b
Use less space for call stack tree headers.
2019-07-27 13:10:53 +02:00
Bartosz Taudul
fb11d67d8e
Keep memory window header at top.
2019-07-27 13:06:23 +02:00
Bartosz Taudul
a7ef99d0b0
Keep find zone, compare headers at top.
2019-07-26 23:43:41 +02:00
Bartosz Taudul
f2cdb64aae
Display trace descriptions in compare menu.
2019-07-26 23:33:49 +02:00
Bartosz Taudul
be3b458f28
Load second trace user data in compare menu.
2019-07-26 23:25:03 +02:00
Bartosz Taudul
e5d5af84fd
Allow setting custom description of the trace.
2019-07-26 23:21:28 +02:00
Bartosz Taudul
27965e8690
Add user data storage handler.
2019-07-26 23:15:12 +02:00
Bartosz Taudul
c1b70c6519
Display histogram time range on histogram.
2019-07-26 22:25:21 +02:00
Bartosz Taudul
5f96c55a3e
Add background tasks notification tooltip.
2019-07-25 21:21:20 +02:00
Bartosz Taudul
9f29ddd562
Messages window should be scrollable due to thread list.
2019-07-25 20:50:30 +02:00
Bartosz Taudul
d3e8fe0133
Add messages filter clear button.
2019-07-25 20:49:44 +02:00
Bartosz Taudul
0f574b5547
Verify source file modification time against capture time.
2019-07-25 20:44:10 +02:00
Bartosz Taudul
c4b472b6e0
Ditto for call stack window.
2019-07-25 20:34:35 +02:00
Bartosz Taudul
269c3d4530
Keep statistics window headers always on top of the window.
2019-07-25 19:57:29 +02:00
Bartosz Taudul
2291b91ee0
Remove unnecessary separators.
2019-07-25 19:50:22 +02:00
Bartosz Taudul
30f76d34a3
Fix printf warnings.
2019-07-25 18:41:52 +02:00
Bartosz Taudul
e5a3d7aa25
Workaround scroll-to-message regression.
2019-07-24 21:40:39 +02:00
Bartosz Taudul
9ad9045078
Disable messages following when focusing on a message.
2019-07-24 02:21:51 +02:00
Bartosz Taudul
5da2076214
Add optional 2x zoom to frame images playback.
2019-07-19 00:51:52 +02:00
Bartosz Taudul
eceff55f5a
Add message filtering.
2019-07-13 01:48:43 +02:00
Bartosz Taudul
387674a40a
Auto-scroll message list to bottom.
2019-07-13 01:25:37 +02:00
Bartosz Taudul
bcecd6e3a6
Always keep message list options at top.
2019-07-13 00:40:02 +02:00
Bartosz Taudul
c48ab4cb23
Use big font in trace information window.
2019-07-12 19:19:36 +02:00
Bartosz Taudul
7fb9bde9e9
Pass big font to TracyView.
2019-07-12 19:16:56 +02:00
Bartosz Taudul
fc28f827bc
Rearrange trace information window.
2019-07-12 19:12:04 +02:00
Bartosz Taudul
8c9d46ef29
Display application info in info window.
2019-07-12 18:39:07 +02:00
Bartosz Taudul
689f4999e3
Reorder threads by drag and drop.
2019-07-11 20:29:20 +02:00
Bartosz Taudul
6b06b64caf
Smaller histogram controls.
2019-06-30 18:11:19 +02:00
Bartosz Taudul
10bcc8c770
Switch to DXT1 textures in profiler utility.
2019-06-27 19:14:51 +02:00
Bartosz Taudul
fc106079c5
Remove CPU migration highlight for zones.
2019-06-26 21:35:09 +02:00
Bartosz Taudul
bc3c375b02
Display crash icon in notification area.
2019-06-26 21:02:04 +02:00
Bartosz Taudul
b8794f64be
Extract crash tooltip to a separate function.
2019-06-26 21:01:54 +02:00
Bartosz Taudul
a8dcd5d153
Ctrl-click on frame in frame overview to show playback window.
2019-06-23 00:11:46 +02:00
Bartosz Taudul
f125254d14
Cosmetics.
2019-06-23 00:00:16 +02:00
Bartosz Taudul
2f707bd152
Improve frame label drawing logic.
2019-06-22 23:49:30 +02:00
Bartosz Taudul
7217a99dc2
Always show at least one pixel of a frame in frame overview.
2019-06-22 22:48:32 +02:00
Bartosz Taudul
c48cd10f35
Don't divide by zero in zero-length zones.
2019-06-22 22:42:57 +02:00
Bartosz Taudul
1d4117f515
Fix typo.
2019-06-22 14:55:01 +02:00