Commit Graph

3372 Commits

Author SHA1 Message Date
Terence Rokop
1f0b4656f4
Introduce SrcLocCountMap
Add to ThreadData a map from source location to a counter,
which will be used to keep track of the number of
appearances of zones with the corresponding source locations
on each thread's stack.
2021-06-20 17:56:14 -07:00
Terence Rokop
0a8ec09566
Introduce View::IsZoneReentry()
These two methods can search a timeline to determine whether
a given ZoneEvent is the only appearance of the given zone
on the current thread stack, or a re-entry.
2021-06-20 17:53:38 -07:00
Bartosz Taudul
0e0692b7f7
Don't display hw samples as time in selected lines summary. 2021-06-20 16:01:19 +02:00
Bartosz Taudul
e9aca02880
Make hw sample cost in source files relative to whole symbol. 2021-06-20 15:55:21 +02:00
Bartosz Taudul
846bde1a11
Narrow down search range. 2021-06-20 14:37:56 +02:00
Bartosz Taudul
15b42039bd
Add very early exit test. 2021-06-20 14:34:47 +02:00
Bartosz Taudul
d4b92e0fbe
Add early exit conditions. 2021-06-20 14:33:08 +02:00
Bartosz Taudul
a10d71b766
Switch loop order for better cache locality on the slow path. 2021-06-20 14:30:55 +02:00
Bartosz Taudul
a9a16b4d94
Narrow down search region. 2021-06-20 14:24:42 +02:00
Bartosz Taudul
22352dd29b
Select optimized path before entering loop. 2021-06-20 14:22:14 +02:00
Bartosz Taudul
5d86002f82
Calculate all CPU usage values in one go. 2021-06-20 14:19:18 +02:00
Bartosz Taudul
5efc03cdf9
Move cycles up in cost combo selector. 2021-06-20 12:50:13 +02:00
Bartosz Taudul
7e17c8643c
Don't show hw events as time. 2021-06-20 01:08:18 +02:00
Bartosz Taudul
bc4016e97c
Don't depend on callstack frames to match hw samples to source. 2021-06-20 01:01:29 +02:00
Bartosz Taudul
2f3ee594f0
Use square root to make slow branches and cache less spiky. 2021-06-20 00:50:14 +02:00
Bartosz Taudul
3305ea2775
Keep raw hw sample data visually separate. 2021-06-20 00:46:29 +02:00
Bartosz Taudul
07fe0a5447
Use enum for cost selection. 2021-06-20 00:45:39 +02:00
Bartosz Taudul
3cc69b221e
Select Zstd compression when Zstd level is changed. 2021-06-20 00:25:30 +02:00
Bartosz Taudul
80e1b0c2cf
Don't display hw samples as time in files list. 2021-06-20 00:14:19 +02:00
Bartosz Taudul
52708268fe
Store 64-bit integers in AddrStat. 2021-06-20 00:08:25 +02:00
Bartosz Taudul
4e6a1bae22
Don't display time for hw samples. 2021-06-20 00:04:08 +02:00
Bartosz Taudul
326a2a70d8
Add indirect hw statistics. 2021-06-20 00:01:37 +02:00
Bartosz Taudul
ad2b6e932b
Don't scroll cost combo list. 2021-06-20 00:01:21 +02:00
Bartosz Taudul
a5991036dc
Add more hw stats as cost. 2021-06-19 23:43:46 +02:00
Bartosz Taudul
c7b3d42852
Calculating cost in cycles and retirements. 2021-06-19 23:39:33 +02:00
Bartosz Taudul
90149641df
Reset cost selection when no samples. 2021-06-19 23:17:24 +02:00
Bartosz Taudul
8d52d2acfd
Disable inline context if no inline symbols available. 2021-06-19 21:40:30 +02:00
Bartosz Taudul
2e3241ba54
Restrict hardware samples to inline function context. 2021-06-19 20:50:06 +02:00
Bartosz Taudul
6cc844abee
Display inline symbol address. 2021-06-19 20:20:52 +02:00
Bartosz Taudul
748c22df8e
Darken assembly instructions which aren't in current context. 2021-06-19 20:11:53 +02:00
Bartosz Taudul
53111f9dd9
Save/load code symbol map. 2021-06-19 19:58:16 +02:00
Bartosz Taudul
8045ceee5d
Display function assigned to assembly line. 2021-06-19 19:52:33 +02:00
Bartosz Taudul
ec3ee09f09
Add inline symbols map accessors. 2021-06-19 19:13:34 +02:00
Bartosz Taudul
654331a8c8
Create code address -> symbol map. 2021-06-19 19:07:57 +02:00
Bartosz Taudul
cc0ca341bb
Add cost criteria selection UI. 2021-06-19 18:16:11 +02:00
Bartosz Taudul
7ad9cafefb
Add child call samples hints to the UI. 2021-06-19 17:41:29 +02:00
Bartosz Taudul
6e8d57bc98
Update context switches look. 2021-06-19 16:50:25 +02:00
Bartosz Taudul
c17a913cf5
Update zones look. 2021-06-19 16:43:56 +02:00
Bartosz Taudul
b91cd9148d
Add 2-segment line drawing wrapper. 2021-06-19 16:22:50 +02:00
Bartosz Taudul
188320db48
Simplify zone color data retrieval. 2021-06-19 16:20:35 +02:00
Bartosz Taudul
5e582ef057
Omit line number from source locations, if not known. 2021-06-19 12:47:55 +02:00
Bartosz Taudul
91f1845d92
Add LocationToString() helper. 2021-06-19 12:33:23 +02:00
Bartosz Taudul
c69cf5bd3f
Cosmetics. 2021-06-19 12:33:16 +02:00
Bartosz Taudul
8e5a53a191
Merge remote-tracking branch 'origin/master' into hw 2021-06-19 12:19:10 +02:00
Andrey Voroshilov
d4d77006ac Fix a crash in Worker c-tor when converting certain JSON files 2021-06-19 01:12:41 -07:00
Bartosz Taudul
e1b68232dc
Better describe kernel ghost zones. 2021-06-19 01:40:05 +02:00
Bartosz Taudul
a96410547b
Display thread kernel time. 2021-06-17 01:56:16 +02:00
Bartosz Taudul
d49da69972
Count kernel samples. 2021-06-17 01:47:19 +02:00
Bartosz Taudul
d2ebe341f2
Allow filtering out kernel symbols from statistics view. 2021-06-16 01:43:09 +02:00
Bartosz Taudul
f145ca5897
Fix assert. 2021-06-16 01:39:43 +02:00
Bartosz Taudul
48fe6550a6
Kernel code is unreachable from user space. 2021-06-15 21:40:08 +02:00
Bartosz Taudul
5b642cad01
Implement combining sample callstacks.
This is required, because Windows will send two callstacks with the same
timestamp, one for kernel-space, second for user-space.
2021-06-15 02:25:12 +02:00
Bartosz Taudul
db1dc311b0
Add Int48 clearing function. 2021-06-15 02:04:32 +02:00
Bartosz Taudul
0fdd5ab01b
Extract callstack sample processing implementation. 2021-06-15 01:59:49 +02:00
Bartosz Taudul
891e1ac280
Read combine samples flag on server. 2021-06-15 01:33:43 +02:00
Bartosz Taudul
06dcdd342f
Combine flags in welcome message. 2021-06-15 01:26:50 +02:00
Bartosz Taudul
004681b02b
Merge remote-tracking branch 'origin/master' into hw 2021-06-14 23:54:34 +02:00
Bartosz Taudul
39e317f36d
Fix display of messages with newlines. 2021-06-14 23:51:41 +02:00
Bartosz Taudul
2d2a5c92fd
Increase symbol retrieval size limit to 128 KB. 2021-06-13 01:16:29 +02:00
Bartosz Taudul
f773e18375
Different color for kernel frames in callstacks. 2021-06-12 16:16:56 +02:00
Bartosz Taudul
0c13889589
Distinguish kernel symbols on statistics list. 2021-06-12 16:09:44 +02:00
Bartosz Taudul
be07ccc1d3
Kernel symbols don't have parents. 2021-06-12 16:09:43 +02:00
Bartosz Taudul
3968945e6a
Display kernel ghost zones with a different color. 2021-06-12 15:35:44 +02:00
Bartosz Taudul
ff54c29913
Save/load GPU timer overflow information. 2021-06-09 21:12:50 +02:00
Bartosz Taudul
9e28f441c8
Cosmetics. 2021-06-09 21:12:42 +02:00
Bartosz Taudul
27e61b8204
Remove not needed check. 2021-06-09 21:08:48 +02:00
Bartosz Taudul
7aa575fd2e
Display GPU timer overflow notification. 2021-06-09 21:08:48 +02:00
Bartosz Taudul
de2ca9b22a
Change check for showing GPU timestamp accuracy. 2021-06-09 21:08:48 +02:00
Bartosz Taudul
b7b9912b10
Handle GPU timer overflows with heuristics. 2021-06-09 21:08:47 +02:00
Bartosz Taudul
90b51568e9
Add common lzcnt implementation.
Not really tested, so fingers crossed.
2021-06-09 20:29:43 +02:00
Bartosz Taudul
9c2ea8a71f
Specify minimum length of subframe skip in one place. 2021-06-09 02:13:00 +02:00
Bartosz Taudul
85da04bcc4
Add hw samples line part to source view. 2021-06-09 00:19:17 +02:00
Bartosz Taudul
def9570eda
Extract rendering hw samples line part. 2021-06-09 00:19:17 +02:00
Bartosz Taudul
18cace42ca
Display hw samples tooltip for source lines. 2021-06-08 23:46:30 +02:00
Bartosz Taudul
82bfee5127
Move helper functions to top of the file. 2021-06-08 23:46:29 +02:00
Bartosz Taudul
2eb50bcf42
Hardware sample data was already queried. 2021-06-08 23:46:29 +02:00
Bartosz Taudul
66318bdb3b
Display target FPS also as time available. 2021-06-08 22:56:06 +02:00
Bartosz Taudul
b68c23fc64
Update x86 CPU models list. 2021-06-04 18:59:41 +02:00
Bartosz Taudul
4316d48bea
Add a note about CPUID list. 2021-06-04 18:48:01 +02:00
Bartosz Taudul
7c378cd0a9
Add Rocket Lake uarch data. 2021-06-04 18:40:37 +02:00
Bartosz Taudul
cc831e8192
Description is not supposed to be formatted. 2021-06-04 15:29:08 +02:00
Bartosz Taudul
0b05587b05
Don't need to format const string. 2021-06-04 15:27:23 +02:00
Bartosz Taudul
cb849ee14c
Capitalize Tracy name. 2021-06-04 15:17:20 +02:00
Bartosz Taudul
3c076ddb6f
Opening unsupported trace gives option to download update. 2021-06-04 15:17:20 +02:00
Bartosz Taudul
39cf98f98c
Move OpenWebpage() to a separate source file. 2021-06-04 15:17:14 +02:00
Bartosz Taudul
86510c48e0
Use proper type. 2021-06-04 15:16:44 +02:00
Bartosz Taudul
3c31fb56a8
Allow range-limiting hardware samples. 2021-06-04 13:58:00 +02:00
Bartosz Taudul
a1acea0c50
Support hw sample times on server. 2021-06-04 13:38:45 +02:00
Bartosz Taudul
b7c5939bb8
Merge remote-tracking branch 'origin/master' into hw 2021-06-02 01:12:28 +02:00
Bartosz Taudul
94ec6a0d9d
Move TracyYield.hpp to common. 2021-05-31 02:19:35 +02:00
Bartosz Taudul
f8ccd8c40d
Move TracyStackFrames to common. 2021-05-23 23:51:56 +02:00
Bartosz Taudul
a6011cd1ad
Ignore intrinsic wrappers in callstack frames.
With gcc/clang the wrapper functions for intrinsics are annoyingly inserted at
top level of stack traces, making it hard to see the call site. Filter out all
known instrinsic headers.
2021-05-23 23:22:45 +02:00
Bartosz Taudul
c13611cf0c
Make unreliable hw stats darker. 2021-05-23 21:32:48 +02:00
Bartosz Taudul
19c41b94c0
Add glow to hotness indicators on lines. 2021-05-23 13:52:38 +02:00
Bartosz Taudul
a6f85bd061
Color hardware samples stats. 2021-05-23 13:13:38 +02:00
Bartosz Taudul
48ab346835
Add goodness color table accessor. 2021-05-23 12:49:40 +02:00
Bartosz Taudul
1b589855e8
Adjust hotness color scaling. 2021-05-23 12:29:48 +02:00
Bartosz Taudul
815cf7d00a
Display hardware counter statistics in asm line columns. 2021-05-23 02:39:31 +02:00
Bartosz Taudul
77c33327f4
Merge remote-tracking branch 'origin/master' into hw 2021-05-23 01:01:21 +02:00
Bartosz Taudul
5f7225ce32
Merge pull request #224 from keur/external_trace_use_file_and_line
Use file:line when comparing traces
2021-05-22 12:36:05 +02:00