Commit Graph

4232 Commits

Author SHA1 Message Date
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
c021f4cf2c Update NEWS. 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
8a205ef224 Update NEWS. 2019-08-15 02:29:02 +02:00
Bartosz Taudul
14a373a3b8 Add number of CPU cores to host info. 2019-08-15 02:28:35 +02:00
Bartosz Taudul
aa00b1c4c4 Add Win10 wait reasons. 2019-08-15 01:48:50 +02:00
Bartosz Taudul
69077e4e6f Finish sending context switches during disconnect. 2019-08-14 23:06:13 +02:00
Bartosz Taudul
6dc79cf14e Cosmetics. 2019-08-14 23:05:58 +02:00
Bartosz Taudul
c0b524d8de Add a separate method for clearing serial queue. 2019-08-14 22:39:12 +02:00
Bartosz Taudul
bccb845908 Update manual. 2019-08-14 22:19:11 +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
29819321b9 Update manual. 2019-08-14 21:45:34 +02:00
Bartosz Taudul
77a8e47c7d Update NEWS. 2019-08-14 21:33:43 +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
cf4e04440e Update manual. 2019-08-14 18:42:04 +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
ca9078845c Update NEWS. 2019-08-14 16:53:19 +02:00
Bartosz Taudul
71b54dd48a Always collect thread names.
This fixes an issue when a thread was destroyed before its name could be
retrieved.
2019-08-14 16:52:04 +02:00
Bartosz Taudul
5e199d1ab3 Support ftrace on ARM. 2019-08-14 16:28:54 +02:00
Bartosz Taudul
5fbb811f5d Degrade ARM timer to monotonic raw clock.
The monotonic raw clock has the same accuracy as reading cntvct registers, but
using clock_gettime() has a measurable impact on queueing time (135 us vs
83 us).

This change is needed to enable ftrace time readings on ARM linux, which
doesn't provide any way to get raw cntvct readings, like x86-tsc on x86.
2019-08-14 16:19:02 +02:00
Bartosz Taudul
42865d7c7b Don't set x86-tsc clock on non-x86 platforms. 2019-08-14 15:14:36 +02:00
Bartosz Taudul
54a9132bb5 Skip context switch events in on demand mode, if no connection. 2019-08-14 15:09:33 +02:00
Bartosz Taudul
602c38c6c0 Allow checking timer implementation. 2019-08-14 14:35:44 +02:00
Bartosz Taudul
e39b1abce5 Handle linux wait states. 2019-08-14 14:02:31 +02:00
Bartosz Taudul
3988b56c92 Capture context switches on linux. 2019-08-14 13:56:15 +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
3996516fce One more SetThreadName() to change. 2019-08-14 02:27:01 +02:00
Bartosz Taudul
92b6da7cc2 SetThreadName() only works on the current thread.
This breaking change is required, because kernel trace facilities use
kernel thread ids, which are inaccessible from the pthread_t level.
2019-08-14 02:22:45 +02:00
Bartosz Taudul
339b7fd2a6 Use kernel thread ids on linux. 2019-08-14 01:57:36 +02:00
Bartosz Taudul
8925d026a9 Cosmetics. 2019-08-14 01:57:36 +02:00
Bartosz Taudul
e5c40b74ee Update manual. 2019-08-13 21:18:52 +02:00
Bartosz Taudul
2be38d912e Update NEWS. 2019-08-13 17:19:43 +02:00
Bartosz Taudul
73cbf2eead Use windows thread ids on cygwin. 2019-08-13 16:22:58 +02:00
Bartosz Taudul
71a5cffc13 Add context switch tooltips. 2019-08-13 16:20:43 +02:00