Commit Graph

3998 Commits

Author SHA1 Message Date
Bartosz Taudul
befeffb61e Add ensure_sorted() method for SortedVector. 2021-11-14 15:57:20 +01:00
Bartosz Taudul
404168ec69 Check whether symbols are ready, not source locations. 2021-11-14 15:51:29 +01:00
Bartosz Taudul
e0872ce61b Cosmetics. 2021-11-14 15:51:27 +01:00
Bartosz Taudul
864d7e4e47 Sort symbols list only when actually needed. 2021-11-14 13:05:05 +01:00
Bartosz Taudul
b978a7c652 Sort plot data only when needed (i.e. to draw). 2021-11-14 13:01:27 +01:00
Bartosz Taudul
50e532ebc0 Display unknown locations dimmed in callstack trees. 2021-11-14 02:27:43 +01:00
Bartosz Taudul
19f87502d3 Keep wait stacks header on top. 2021-11-14 02:17:02 +01:00
Bartosz Taudul
2040ef945f Color kernel frames in callstack trees. 2021-11-14 02:06:22 +01:00
Bartosz Taudul
014f084393 UI cosmetics. 2021-11-13 22:27:54 +01:00
Bartosz Taudul
41c5d93a11 Use big icons in the rest of dialogs. 2021-11-13 22:23:18 +01:00
Bartosz Taudul
be264896f0 Use big icons in bad version dialogs. 2021-11-13 22:20:00 +01:00
Bartosz Taudul
d4a5df0244 Use big icon in waiting for connection dialog. 2021-11-13 22:14:47 +01:00
Bartosz Taudul
1d7ab70199 Non-memory tree callstacks are not needed. 2021-11-13 22:09:16 +01:00
Bartosz Taudul
b4726833e9 Cosmetics. 2021-11-13 22:09:10 +01:00
Bartosz Taudul
633cd1262c Draw callstack tree for wait stacks. 2021-11-13 22:06:04 +01:00
Bartosz Taudul
5f9a0ab61f Wait stacks mode selection. 2021-11-13 22:06:04 +01:00
Bartosz Taudul
4f6e9bbb65 Generic callstack tree builder.
Previously this was exclusive for memory callstacks.
2021-11-13 22:06:04 +01:00
Bartosz Taudul
c6be16dcd2 Rename PathData -> MemPathData. 2021-11-13 21:28:56 +01:00
Bartosz Taudul
a2547ccf1d Rename CallstackFrameTree -> MemCallstackFrameTree. 2021-11-13 21:26:28 +01:00
Bartosz Taudul
98edee9b07 Change memory call stack tree icons. 2021-11-13 20:42:52 +01:00
Bartosz Taudul
667112c71f Some old traces might have invalid image names. 2021-11-13 20:34:54 +01:00
Bartosz Taudul
0c7c3ae641 Time range limits for wait stacks. 2021-11-13 18:43:55 +01:00
Bartosz Taudul
94d4272c9c Allow limiting wait stacks to certain threads. 2021-11-13 18:20:06 +01:00
Bartosz Taudul
265a39e7c9 Don't select out-of-context asm lines. 2021-11-13 17:35:02 +01:00
Bartosz Taudul
50627646c1 Don't highlight asm lines out of context on hover. 2021-11-13 16:36:46 +01:00
Bartosz Taudul
25316ddada Display notification icon when context is limited. 2021-11-13 16:34:51 +01:00
Bartosz Taudul
cc425c4a2d Separate function for checking asm function context. 2021-11-13 16:34:50 +01:00
Bartosz Taudul
9ba5180b04 Add wait stacks window. 2021-11-13 15:58:25 +01:00
Bartosz Taudul
45df37e3a9 Separate callstack table drawing functionality. 2021-11-13 15:56:57 +01:00
Bartosz Taudul
c1f6d6c9ce Cosmetics. 2021-11-13 15:39:37 +01:00
Bartosz Taudul
14b469f219 Direct selection of find zone callstack. 2021-11-13 15:31:48 +01:00
Bartosz Taudul
151eadc69e Direct selection of sample entry call stack index. 2021-11-13 15:15:49 +01:00
Bartosz Taudul
601f0a17df Remove "Go to frame" button. 2021-11-13 15:13:35 +01:00
Bartosz Taudul
81c66ad126 Fix samples order on save, not load.
Sorting samples during load was a major mistake, as three different background
processing threads were concurrently accessing the samples table, and it was
being sorted in one of them!
2021-11-13 03:25:47 +01:00
Bartosz Taudul
0ab73e2aa7 Detect context switch samples during reconstruction. 2021-11-13 03:15:20 +01:00
Bartosz Taudul
484ed84252 Display context switch samples count. 2021-11-13 02:52:08 +01:00
Bartosz Taudul
d8d6423266 Context switch samples counting. 2021-11-13 02:47:39 +01:00
Bartosz Taudul
8ef212c26e Determine if postponed callstacks are for context switches.
Samples are processed only when new context switch data has been received.
2021-11-13 02:44:54 +01:00
Bartosz Taudul
745b795d50 Detect context switch callstack samples.
Context switch callstack samples are not included in the sampling data
statistics (as these don't represent random sampling), but are rather put into
a separate dedicated data structure.

For this to work, a complete context switch data has to be available for the
callstack timestamp. There is no guarantee it will be present at the time it
is needed, so a second structure is added to allow postponing qualification of
callstacks.
2021-11-13 02:40:32 +01:00
Bartosz Taudul
5b799e0e45 Monitor when new context switch data is received. 2021-11-13 02:38:33 +01:00
Bartosz Taudul
00834ed32b No need to pass time and callstack. 2021-11-13 02:26:11 +01:00
Bartosz Taudul
06c1bb4e59 Open callstack windows when clicking on context switch. 2021-11-13 01:34:49 +01:00
Bartosz Taudul
4b74777fcf Display image name in callstack tooltips. 2021-11-13 01:31:28 +01:00
Bartosz Taudul
1200409a44 Display context switch wait call stack. 2021-11-13 01:21:47 +01:00
Bartosz Taudul
ce8e42f00b Separate drawing callstack tooltip from drawing its contents. 2021-11-13 01:08:36 +01:00
Bartosz Taudul
f925da5e01 Handle fiber enter -> enter case (without leave in between). 2021-11-06 21:14:37 +01:00
Bartosz Taudul
d33de972f0 Properly show fiber context switch data. 2021-11-06 21:06:08 +01:00
Bartosz Taudul
40cd5435df Fix context switch reconstruction condition. 2021-11-06 20:49:15 +01:00
Bartosz Taudul
69e5cf796d Construct faux context switch data from fiber events. 2021-11-06 20:38:16 +01:00
Bartosz Taudul
efeed326bf Context switch data may exists without CPU data. 2021-11-06 20:22:08 +01:00