Commit Graph

4161 Commits

Author SHA1 Message Date
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
Bartosz Taudul
904a444ea5 Label fiber threads across the UI. 2021-11-06 19:27:36 +01:00
Bartosz Taudul
0075050679 Allow checking if thread is a fiber. 2021-11-06 19:02:02 +01:00
Bartosz Taudul
3ede2a1345 Explicit tracking of fiber state in ThreadData.
This replaces the use of hard-to-track global state with well-defined accessor
functionality.
2021-11-06 18:55:29 +01:00
Bartosz Taudul
373a6fc19e Add event debug routine. 2021-11-04 22:30:16 +01:00
Bartosz Taudul
4c774130ee Allow direct switching from one fiber to another. 2021-11-04 17:51:32 +01:00
Bartosz Taudul
fceb065329 Fiber name transport. 2021-11-03 18:57:30 +01:00
Bartosz Taudul
211b202d8e Process fiber entry and leave events. 2021-11-02 01:53:10 +01:00
Bartosz Taudul
b4e4c05088 Thread context data may be invalidated due to fibers. 2021-11-02 01:52:41 +01:00
Bartosz Taudul
d522af99b9 Threads may be mapped to fibers. 2021-11-02 01:51:54 +01:00
Bartosz Taudul
0718330016 Add fiber labels to places with thread information. 2021-11-02 01:48:28 +01:00
Bartosz Taudul
e5c44afdcb Distinguish fiber threads with green color. 2021-11-02 01:48:07 +01:00
Bartosz Taudul
bb72bf10e9 Add fiber failures. 2021-11-02 01:47:31 +01:00
Bartosz Taudul
93b6d88c4c Save/load fiber thread flag. 2021-11-02 01:46:29 +01:00
Bartosz Taudul
8f44f1c68b Store fiber state is ThreadData. 2021-11-02 01:45:01 +01:00
Bartosz Taudul
8f6a911f1e Save/load sum of values in plots. 2021-10-17 13:14:44 +02:00
Bartosz Taudul
0b190b1a69 Calculate sum of values in reconstructed memory plot. 2021-10-17 13:14:23 +02:00
Bartosz Taudul
04db76d5fd Calculate plot values sum during data import. 2021-10-17 13:07:37 +02:00
Bartosz Taudul
facd2be33b Display average plot value. 2021-10-17 13:05:10 +02:00
Bartosz Taudul
0bd1364c2f Calculate plot values sum. 2021-10-17 13:04:56 +02:00
Bartosz Taudul
a1511a39bd Delta-encode code information pointers. 2021-10-16 16:29:06 +02:00
Bartosz Taudul
dfb1ce64df Sample data inconsistency warning. 2021-10-16 16:15:19 +02:00
Bartosz Taudul
bcaac7b53f Add ~2 second overflow grace period.
This fixes issues when the GPU is actually permitted to report out-of-order
timestamps (e.g. when tasks are scheduled by the GPU, instead of being forced
to execute in submission order).
2021-10-11 00:29:24 +02:00
Bartosz Taudul
d3905bd4bb Add context to zone text failures. 2021-10-10 14:14:33 +02:00
Bartosz Taudul
930ef77ea9 Add zone value failure context. 2021-10-10 14:12:13 +02:00
Bartosz Taudul
9300934fa5 Separate zone value and text failures. 2021-10-10 14:05:21 +02:00
Bartosz Taudul
07bc665d8c Drop support for Cygwin. 2021-10-07 23:28:40 +02:00
Bartosz Taudul
b7a27d02af Fix total time in find zone, if limit range is enabled. 2021-09-28 01:11:22 +02:00
Bartosz Taudul
9cb54982cb Fix crash. 2021-09-27 18:13:45 +02:00
Bartosz Taudul
c2e94355f0 Add icon to samples label. 2021-09-27 02:07:02 +02:00
Bartosz Taudul
99f2d0e059 Fix vertical spacing in inline symbols list. 2021-09-27 01:54:37 +02:00
Bartosz Taudul
28ae970887 Remove trailing whitespace. 2021-09-27 01:54:15 +02:00
xavier
f37ef1affd Display the samples after the groups in the "find zone" window
to make it clear they are filtered by selected group.
2021-09-23 21:03:56 +02:00
xavier
61670e30aa Update samples statistics continuously in the "find zone" window 2021-09-23 21:03:56 +02:00
xavier
63acfe72e7 Apply group filters to the samples statistics in the "find zone" window
reduce memory by storing the thread ids next to the zones intead of
making zone lists per thread.

speed-up by reading the zones in linear order rather than bisecting
the whole list for each sample.
2021-09-23 21:03:56 +02:00
xavier
41130d2a69 Avoid useless work when there aren't any samples 2021-09-23 21:03:56 +02:00
xavier
1233b39b69 Move samples before groups in "find zone" window
and fix style
2021-09-23 21:03:56 +02:00
xavier
0089c832f7 Cache samples statistics in the "find zone" window 2021-09-23 21:03:56 +02:00