Commit Graph

1893 Commits

Author SHA1 Message Date
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
38bfae13dd Add helper function for opening files. 2019-08-28 19:28:31 +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
3c092b4bec Add thread name getter combining local and external thread names. 2019-08-27 23:00:13 +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
f76f38777e Signed minus unsigned is unsigned... 2019-08-26 19:09:12 +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
21e7a4bb16 Extract thread compression into a separate class. 2019-08-19 22:56:58 +02:00
Bartosz Taudul
94382f54ca Move FileVersion() to TracyFileHeader.hpp. 2019-08-19 22:56:58 +02:00
Bartosz Taudul
e60b2884f4 Mark local threads with different color. 2019-08-18 14:57:44 +02:00
Bartosz Taudul
19857473e3 Also collect information on local threads. 2019-08-18 14:56:17 +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
3b8518f7b6 Save/load CPU thread data. 2019-08-18 01:53:38 +02:00
Bartosz Taudul
62dbe522c5 Add accessors. 2019-08-18 01:51:02 +02:00
Bartosz Taudul
103645c2fa Calculate cpu thread data statistics. 2019-08-18 01:50:49 +02:00
Bartosz Taudul
1498417a8d Save/load tid to pid mapping. 2019-08-17 22:36:21 +02:00
Bartosz Taudul
20e8a5ecc8 Create tid to pid mapping. 2019-08-17 22:32:41 +02:00
Bartosz Taudul
fa573ef4cf Display PID. 2019-08-17 22:21:02 +02:00
Bartosz Taudul
678e942e9f Transfer PID of profiled program. 2019-08-17 22:19:04 +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
26be78530f Use signed number to calculate frame offset. 2019-08-17 15:22:54 +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
6c53cac15e Fix uninitialized variable. 2019-08-16 21:20:04 +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
ccaf92afc4 Save/load external process names. 2019-08-16 19:24:38 +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
c212661714 Allow determining whether thread is local to profiled program. 2019-08-16 17:59:25 +02:00
Bartosz Taudul
cef7e4b8d0 Save/load per-cpu context switches. 2019-08-16 16:51:18 +02:00
Bartosz Taudul
8bc4258e29 Display count of per-cpu context switch data. 2019-08-16 16:51:18 +02:00
Bartosz Taudul
a92034d59d CPU data accessor. 2019-08-16 16:51:18 +02:00
Bartosz Taudul
69527d2f71 Collect 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
42c71d7e46 Fix loading old traces. 2019-08-16 00:24:29 +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
9618ee3581 Fix skipping locks. 2019-08-15 22:24:27 +02:00
Bartosz Taudul
e43a57f6b3 Remove irrelevant comments. 2019-08-15 21:51:47 +02:00
Bartosz Taudul
a635e54a79 Pack MessageData. 2019-08-15 21:42:24 +02:00
Bartosz Taudul
04c8830f86 Cosmetics. 2019-08-15 21:38:00 +02:00
Bartosz Taudul
45401fc54c Use proper variable name. 2019-08-15 21:34:19 +02:00
Bartosz Taudul
8b73dece98 Preserve magic time values when loading old traces. 2019-08-15 21:30:37 +02:00
Bartosz Taudul
41beff29a9 Remove redundant GetTimeBegin().
Traces now start at zero time.
2019-08-15 21:04:20 +02:00
Bartosz Taudul
c9d7b96c81 Prevent int16_t -> int64_t promotion on negative numbers. 2019-08-15 20:58:16 +02:00
Bartosz Taudul
3db3952135 Hackfix for broken lock terminate times. 2019-08-15 20:45:00 +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
042e6c9e11 Set initial time of old traces to 0. 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
b322d20c19 Store received timestamps offset to 0. 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
32c7d13159 Count size of some more structures. 2019-08-15 14:15:40 +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
a194c93740 Allow checking if context switch data is available. 2019-08-14 20:26:55 +02:00
Bartosz Taudul
9a364fe5fe Cache context switch data queries. 2019-08-14 20:16:11 +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
3e01ca3269 Calculate how long thread was in 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