Commit Graph

809 Commits

Author SHA1 Message Date
xavier
e4ce9f0f41 Include threadid in SampleDataRange
TODO: maybe make lists per thread to avoid increasing the packed structure by 2 bytes?
2021-09-23 21:03:56 +02:00
Bartosz Taudul
bcfc4a4fa7 Fix message thread assignment in import-chrome. 2021-09-23 18:08:03 +02:00
Bartosz Taudul
9a22b8e83c Cosmetics. 2021-06-23 20:43:46 +02:00
Terence Rokop
66053e37f7 Add non-reentrant stats to SourceLocationZones
Extend SourceLocationZones with fields to track the count
and time of non-reentrant zone events -- that is, zone
events which were the only appearances (at the time) of
those zones on their threads' stacks.
2021-06-20 17:56:15 -07:00
Terence Rokop
c90e39e06e Keep track of zone appearances on thread stacks
Start keeping track, using the previously-introduced
SrcLocCountMap, of the number of appearances of each zone
on each thread's stack at a given time.
2021-06-20 17:56:15 -07:00
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
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
53111f9dd9 Save/load code symbol map. 2021-06-19 19:58:16 +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
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
d49da69972 Count kernel samples. 2021-06-17 01:47:19 +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
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
2d2a5c92fd Increase symbol retrieval size limit to 128 KB. 2021-06-13 01:16:29 +02:00
Bartosz Taudul
ff54c29913 Save/load GPU timer overflow information. 2021-06-09 21:12:50 +02:00
Bartosz Taudul
27e61b8204 Remove not needed check. 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
9c2ea8a71f Specify minimum length of subframe skip in one place. 2021-06-09 02:13:00 +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
c6f071a66a Save and load hardware sample data. 2021-05-20 19:37:51 +02:00
Bartosz Taudul
227a8d1aee Process additional hardware sample data. 2021-05-20 02:19:11 +02:00
Bartosz Taudul
3a0e12043d Differentiate hw samples from code addresses. 2021-05-19 23:29:27 +02:00
Bartosz Taudul
3228e20c2e Add hardware samples accessors. 2021-05-19 23:05:50 +02:00
Bartosz Taudul
373a2b66c6 Collect hardware sample data. 2021-05-19 23:05:33 +02:00
Bartosz Taudul
64ed3d057d Add no-op dispatch of HW samples. 2021-05-19 21:09:55 +02:00
Bartosz Taudul
8219a0e4ca Fix shift. 2021-05-15 18:39:01 +02:00
Bartosz Taudul
c91c7a7fd5 Use zstd dict for packing/unpacking frame images.
This only affects run-time memory usage and needs an offline calculation of
the dictionary. Results vary depending on similarity of image blocks.

agora        34.96 MB ->  28.21 MB
agora2       40.75 MB ->  34.14 MB
android-vk   36.21 MB ->  18.44 MB
astar3       44.72 MB ->  43.38 MB
clipper1    134.36 MB ->  52.16 MB
fi           50.82 MB ->  40.79 MB
fi-big      537.74 MB -> 469.54 MB
test         23.26 MB ->   1.87 MB
2021-05-15 18:06:44 +02:00
Bartosz Taudul
d555256546 Don't use separate texture compression context.
Previously it was needed, as saving could be made at the same time the UI was
active. Currently saving blocks UI access to data structures, as it possibly
may need to sort unsorted vectors.
2021-05-15 18:04:14 +02:00
Bartosz Taudul
a53f5702b1 Calculate frame images dictionary. 2021-05-15 18:03:50 +02:00
Bartosz Taudul
3d75bf653a Add interface for frame images dict building. 2021-05-15 15:50:20 +02:00
Bartosz Taudul
7f1f929662 Decode PID and TID when generating imported thread names. 2021-05-15 13:08:51 +02:00
Bartosz Taudul
8ea02a4794 Cosmetics. 2021-05-15 13:03:42 +02:00