1
0
mirror of https://github.com/wolfpld/tracy.git synced 2025-03-20 07:40:02 +08:00
Commit Graph

806 Commits

Author SHA1 Message Date
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
Bartosz Taudul 4f76fb2cda Store location in SourceLocation during chrome import. 2021-05-11 01:37:59 +02:00
David Farrell dcf33b51cf Updated comment to say that both OpenGL _and_ Direct3D11
don't need per-zone thread id.
2021-05-01 16:31:06 -07:00
Bartosz Taudul 0e6a25fdd8 Directly compare time, with data piggybacked in low bits. 2021-05-01 15:04:56 +02:00