Commit Graph

1371 Commits

Author SHA1 Message Date
Bartosz Taudul
70ea9e7712 Implement grouping call stack tree by function names. 2019-02-06 21:56:49 +01:00
Bartosz Taudul
044b7e1522 Add function name grouping controls. 2019-02-06 21:45:26 +01:00
Bartosz Taudul
7aa24864bf Make it easier to add new matches against tracy own stack frames. 2019-02-06 21:07:41 +01:00
Bartosz Taudul
104415ced8 Display base frame, not inline frame, if inlines are not shown. 2019-02-06 14:17:18 +01:00
Bartosz Taudul
c2e9c00a38 Add top-down call stack memory tree. 2019-02-06 13:53:14 +01:00
Bartosz Taudul
c689a494da Move call stack paths calculation to a separate function. 2019-02-06 13:46:50 +01:00
Bartosz Taudul
dbf8115771 Same for linux. 2019-02-04 02:33:03 +01:00
Bartosz Taudul
4dc05195ca Skip internal call stack capture inline frames for MSVC. 2019-02-04 02:27:13 +01:00
Bartosz Taudul
e801943b90 Array index is changing here. 2019-01-31 18:37:59 +01:00
Bartosz Taudul
b0d319890b Allow sorting find zone groups by mean time per call. 2019-01-30 01:54:18 +01:00
Bartosz Taudul
c5fd347401 Initialize variable. 2019-01-29 23:18:36 +01:00
Bartosz Taudul
89ddfd0006 Remove dead code. 2019-01-29 23:18:36 +01:00
Bartosz Taudul
852fe03cbc More references. 2019-01-29 22:10:14 +01:00
Bartosz Taudul
5e3390894d Use preincrementation for iterators. 2019-01-29 22:01:47 +01:00
Bartosz Taudul
d6c616848c Use reference instead of repeated deep dereferences. 2019-01-29 21:59:52 +01:00
Bartosz Taudul
1b3f10148d Fix logic snafu. 2019-01-29 21:46:14 +01:00
Bartosz Taudul
d86e36cc62 Fix progress of loading CPU zones. 2019-01-26 22:18:07 +01:00
Bartosz Taudul
39680ad315 Boost lock loading time. 2019-01-24 22:44:09 +01:00
Bartosz Taudul
66a5e06803 Allow disconnecting from a client. 2019-01-24 19:00:34 +01:00
Bartosz Taudul
922993cbbb Add placeholder worker disconnect command. 2019-01-24 18:51:55 +01:00
Dedmen Miller (Dedmenmiller)
e83e63caa4 Fix other lines 2019-01-24 15:02:36 +00:00
Dedmen Miller (Dedmenmiller)
72966a24a3 Fixed offset in histogram with non-log time 2019-01-24 14:16:23 +00:00
Bartosz Taudul
c67d91c6ac Display numerical thread id in thread tooltip. 2019-01-23 18:15:19 +01:00
Bartosz Taudul
71f1a0b31e Display self time percentage in find zone menu. 2019-01-23 18:11:47 +01:00
Bartosz Taudul
56b530e99c Fix tooltip active area. 2019-01-23 18:04:31 +01:00
Bartosz Taudul
7f015b1b24 Implement self time in find zone menu. 2019-01-23 14:25:45 +01:00
Bartosz Taudul
92766430d9 Add "self time" checkbox to find zone menu. 2019-01-23 14:25:28 +01:00
Bartosz Taudul
42af2d14cc Calculate self min and max times of source location zones. 2019-01-23 14:24:22 +01:00
Bartosz Taudul
118fab1561 Fast version of zone child time getter.
This one can only be used when all child zones are properly ended.
2019-01-23 13:59:14 +01:00
Bartosz Taudul
3d2cc2d54d Display zone self time. 2019-01-23 13:44:11 +01:00
Bartosz Taudul
06292f1a3f Add zone child time getter. 2019-01-23 13:39:44 +01:00
Bartosz Taudul
ef17699887 Fix order of inline and base subframes. 2019-01-21 17:12:01 +01:00
Bartosz Taudul
ddad475c19 Make it possible to store multiple frames at single frame address. 2019-01-20 19:11:48 +01:00
Bartosz Taudul
b9dc9f043c Make nohash operator() const. 2019-01-20 18:41:26 +01:00
Bartosz Taudul
d4e9baa0d9 Display time savings also as time percentage. 2019-01-20 03:16:32 +01:00
Rokas K. (rku)
31bbdfe2f2 Merged in rokups/tracy/mingw-support (pull request #26)
MingW support
2019-01-20 00:44:44 +00:00
Bartosz Taudul
f6edbccfc8 Fix triangle rendering. 2019-01-19 14:22:45 +01:00
Rokas Kupstys
8157e3a0b3 Fix builds with MingW. 2019-01-19 13:53:10 +02:00
Bartosz Taudul
92f3a4bba0 Add ZoneText and ZoneName to the C API. 2019-01-16 02:10:21 +01:00
Bartosz Taudul
49e270d8a6 Detect zone end without begin failure. 2019-01-16 00:45:48 +01:00
Bartosz Taudul
708fdfea49 Track memory alloc+free matching failures. 2019-01-15 18:56:26 +01:00
Bartosz Taudul
ecf9a299de Check for proper number of failure reasons. 2019-01-15 18:56:17 +01:00
Bartosz Taudul
76ab70a948 Simplify failure detection code. 2019-01-15 18:55:47 +01:00
Bartosz Taudul
3e3ee0ec2f There may be no source location associated with failure. 2019-01-15 18:54:41 +01:00
Bartosz Taudul
9944a73444 Store failure reason strings in Worker. 2019-01-15 18:42:15 +01:00
Bartosz Taudul
57decf5875 Display failure information. 2019-01-14 23:42:58 +01:00
Bartosz Taudul
ac6e7439e2 TODO: track memory allocation tracking failures. 2019-01-14 23:26:32 +01:00
Bartosz Taudul
c3246ca3b5 Gracefully store failure states. 2019-01-14 23:22:31 +01:00
Bartosz Taudul
4dc339c933 Close connection when zone validation fails. 2019-01-14 23:12:11 +01:00
Bartosz Taudul
c3b67e4482 Perform zone stack validation. 2019-01-14 23:08:34 +01:00
Bartosz Taudul
dcc6bee607 Process zone validation messages. 2019-01-14 22:56:10 +01:00
Bartosz Taudul
a5736a9c1b Change crash visuals in options menu. 2019-01-14 18:48:16 +01:00
Bartosz Taudul
da8b01357d Proper skipping of locks in 0.4.1+ (fixes compare menu). 2019-01-08 17:19:04 +01:00
Bartosz Taudul
cb50cf9de6 Last time is stored in worker. 2019-01-08 15:44:29 +01:00
Bartosz Taudul
9c6d037859 Another unneeded capture. 2019-01-06 21:15:49 +01:00
Bartosz Taudul
096022a718 Proper string printing. 2019-01-06 21:15:26 +01:00
Bartosz Taudul
d1beb12dc3 Remove unused variable. 2019-01-06 21:14:02 +01:00
Bartosz Taudul
13a0ddfe03 No need to perform capture here. 2019-01-06 21:11:36 +01:00
Bartosz Taudul
fbe8eb3585 Fix initialization of atomics. 2019-01-06 21:09:56 +01:00
Bartosz Taudul
6a1c552c61 Reduce zone loading time. 2019-01-06 20:49:37 +01:00
Bartosz Taudul
dabdf1360f Display trace loading time. 2019-01-06 19:20:17 +01:00
Bartosz Taudul
77c9a8c407 Add support for notification text in View. 2019-01-06 19:14:24 +01:00
Bartosz Taudul
980c54e349 Track trace loading time. 2019-01-06 19:09:50 +01:00
Bartosz Taudul
5ac26ce084 Init common Worker variables in header. 2019-01-06 19:04:50 +01:00
Bartosz Taudul
a313ed4720 Track separate time offset for GPU times.
This is second version of 0.4.2 dump file format. Previous 0.4.2 format
cannot be read anymore.

041/aa.tracy (0.4.1) {18987 KB} -> 042/aa.tracy (0.4.2) {10051 KB}  52.94% size change
041/android.tracy (0.4.1) {696753 KB} -> 042/android.tracy (0.4.2) {542738 KB}  77.90% size change
041/asset-new.tracy (0.4.1) {97163 KB} -> 042/asset-new.tracy (0.4.2) {78402 KB}  80.69% size change
041/asset-new-id.tracy (0.4.1) {105683 KB} -> 042/asset-new-id.tracy (0.4.2) {84341 KB}  79.81% size change
041/asset-old.tracy (0.4.1) {100205 KB} -> 042/asset-old.tracy (0.4.2) {80688 KB}  80.52% size change
041/big.tracy (0.4.1) {2246014 KB} -> 042/big.tracy (0.4.2) {939578 KB}  41.83% size change
041/crash.tracy (0.4.1) {143 KB} -> 042/crash.tracy (0.4.2) {131 KB}  91.37% size change
041/crash2.tracy (0.4.1) {3411 KB} -> 042/crash2.tracy (0.4.2) {1420 KB}  41.63% size change
041/darkrl.tracy (0.4.1) {31818 KB} -> 042/darkrl.tracy (0.4.2) {15762 KB}  49.54% size change
041/darkrl2.tracy (0.4.1) {18778 KB} -> 042/darkrl2.tracy (0.4.2) {7945 KB}  42.31% size change
041/darkrl-old.tracy (0.4.1) {151346 KB} -> 042/darkrl-old.tracy (0.4.2) {67449 KB}  44.57% size change
041/deadlock.tracy (0.4.1) {53 KB} -> 042/deadlock.tracy (0.4.2) {52 KB}  98.55% size change
041/gn-opengl.tracy (0.4.1) {45860 KB} -> 042/gn-opengl.tracy (0.4.2) {29005 KB}  63.25% size change
041/gn-vulkan.tracy (0.4.1) {45618 KB} -> 042/gn-vulkan.tracy (0.4.2) {29352 KB}  64.34% size change
041/long.tracy (0.4.1) {1583550 KB} -> 042/long.tracy (0.4.2) {1182800 KB}  74.69% size change
041/mem.tracy (0.4.1) {1243058 KB} -> 042/mem.tracy (0.4.2) {1369067 KB}  110.14% size change
041/multi.tracy (0.4.1) {14519 KB} -> 042/multi.tracy (0.4.2) {8000 KB}  55.10% size change
041/new.tracy (0.4.1) {1439 KB} -> 042/new.tracy (0.4.2) {1105 KB}  76.75% size change
041/q3bsp-mt.tracy (0.4.1) {1414323 KB} -> 042/q3bsp-mt.tracy (0.4.2) {949855 KB}  67.16% size change
041/q3bsp-st.tracy (0.4.1) {301334 KB} -> 042/q3bsp-st.tracy (0.4.2) {240347 KB}  79.76% size change
041/selfprofile.tracy (0.4.1) {399648 KB} -> 042/selfprofile.tracy (0.4.2) {197704 KB}  49.47% size change
041/tbrowser.tracy (0.4.1) {13052 KB} -> 042/tbrowser.tracy (0.4.2) {9503 KB}  72.81% size change
041/test.tracy (0.4.1) {60309 KB} -> 042/test.tracy (0.4.2) {40700 KB}  67.49% size change
041/virtualfile_hc.tracy (0.4.1) {108967 KB} -> 042/virtualfile_hc.tracy (0.4.2) {72424 KB}  66.46% size change
041/zfile_hc.tracy (0.4.1) {58814 KB} -> 042/zfile_hc.tracy (0.4.2) {39418 KB}  67.02% size change
2019-01-03 21:52:43 +01:00
Bartosz Taudul
f8ef5b726a Store time deltas, instead of absolute time in trace dumps.
This change greatly reduces the size of saved dumps, but increase the
cost of processing during loading. One notable outlier in the dataset
below is mem.tracy, which increased in size, even if changes in the
memory dump saving scheme decrease size of the other traces.

041/aa.tracy (0.4.1) {18987 KB} -> 042/aa.tracy (0.4.2) {10140 KB}  53.40% size change
041/android.tracy (0.4.1) {696753 KB} -> 042/android.tracy (0.4.2) {542738 KB}  77.90% size change
041/asset-new.tracy (0.4.1) {97163 KB} -> 042/asset-new.tracy (0.4.2) {78402 KB}  80.69% size change
041/asset-new-id.tracy (0.4.1) {105683 KB} -> 042/asset-new-id.tracy (0.4.2) {84341 KB}  79.81% size change
041/asset-old.tracy (0.4.1) {100205 KB} -> 042/asset-old.tracy (0.4.2) {80688 KB}  80.52% size change
041/big.tracy (0.4.1) {2246014 KB} -> 042/big.tracy (0.4.2) {943083 KB}  41.99% size change
041/crash.tracy (0.4.1) {143 KB} -> 042/crash.tracy (0.4.2) {131 KB}  91.39% size change
041/crash2.tracy (0.4.1) {3411 KB} -> 042/crash2.tracy (0.4.2) {1425 KB}  41.80% size change
041/darkrl.tracy (0.4.1) {31818 KB} -> 042/darkrl.tracy (0.4.2) {15897 KB}  49.96% size change
041/darkrl2.tracy (0.4.1) {18778 KB} -> 042/darkrl2.tracy (0.4.2) {8002 KB}  42.62% size change
041/darkrl-old.tracy (0.4.1) {151346 KB} -> 042/darkrl-old.tracy (0.4.2) {67945 KB}  44.89% size change
041/deadlock.tracy (0.4.1) {53 KB} -> 042/deadlock.tracy (0.4.2) {52 KB}  98.55% size change
041/gn-opengl.tracy (0.4.1) {45860 KB} -> 042/gn-opengl.tracy (0.4.2) {30983 KB}  67.56% size change
041/gn-vulkan.tracy (0.4.1) {45618 KB} -> 042/gn-vulkan.tracy (0.4.2) {31349 KB}  68.72% size change
041/long.tracy (0.4.1) {1583550 KB} -> 042/long.tracy (0.4.2) {1225316 KB}  77.38% size change
041/mem.tracy (0.4.1) {1243058 KB} -> 042/mem.tracy (0.4.2) {1369291 KB}  110.15% size change
041/multi.tracy (0.4.1) {14519 KB} -> 042/multi.tracy (0.4.2) {8110 KB}  55.86% size change
041/new.tracy (0.4.1) {1439 KB} -> 042/new.tracy (0.4.2) {1108 KB}  77.01% size change
041/q3bsp-mt.tracy (0.4.1) {1414323 KB} -> 042/q3bsp-mt.tracy (0.4.2) {949855 KB}  67.16% size change
041/q3bsp-st.tracy (0.4.1) {301334 KB} -> 042/q3bsp-st.tracy (0.4.2) {240347 KB}  79.76% size change
041/selfprofile.tracy (0.4.1) {399648 KB} -> 042/selfprofile.tracy (0.4.2) {197713 KB}  49.47% size change
041/tbrowser.tracy (0.4.1) {13052 KB} -> 042/tbrowser.tracy (0.4.2) {9503 KB}  72.81% size change
041/test.tracy (0.4.1) {60309 KB} -> 042/test.tracy (0.4.2) {40700 KB}  67.49% size change
041/virtualfile_hc.tracy (0.4.1) {108967 KB} -> 042/virtualfile_hc.tracy (0.4.2) {72839 KB}  66.85% size change
041/zfile_hc.tracy (0.4.1) {58814 KB} -> 042/zfile_hc.tracy (0.4.2) {39608 KB}  67.35% size change
2018-12-30 23:42:17 +01:00
Bartosz Taudul
ea396354d0 ^F opens find zone menu and focuses on the input box. 2018-12-22 17:39:22 +01:00
Bartosz Taudul
2d143ce516 Add support for handling keyboard shortcuts. 2018-12-22 17:36:20 +01:00
Bartosz Taudul
4bb4a568ca Move initialization of View values to header. 2018-12-22 17:22:26 +01:00
Bartosz Taudul
cd8d86edf3 Allow hiding "[unknown frames]" entries. 2018-12-21 21:10:29 +01:00
Bartosz Taudul
8c5670489c Freeing nullptr is valid. 2018-12-20 17:03:09 +01:00
Bartosz Taudul
407fb61a30 Display maximum number of waiting threads for a lock. 2018-12-19 18:34:53 +01:00
Bartosz Taudul
0f2b61cf24 Display wait and hold times of locks. 2018-12-19 18:28:48 +01:00
Bartosz Taudul
df1a125fc0 Mirror find zone menu changes in compare menu. 2018-12-18 16:56:19 +01:00
Bartosz Taudul
a220f38fbd Add support for matching source locations ignoring case. 2018-12-18 16:52:29 +01:00
Bartosz Taudul
acddcbd9bf Add case-ignoring string matcher. 2018-12-18 16:52:05 +01:00
Bartosz Taudul
24235406a0 Enter key in find zone menu acts the same as pressing "find". 2018-12-18 16:40:23 +01:00
Bartosz Taudul
7fc03736f2 Add "ignore case" toggle to find zone menu. 2018-12-18 16:38:55 +01:00
Bartosz Taudul
a740074da6 Color tweaks. 2018-12-18 16:30:13 +01:00
Bartosz Taudul
b60d5b892a Unify coloring of highlighted buttons. 2018-12-18 16:30:13 +01:00
Bartosz Taudul
c2485fbcb0 Add visual notification of an active toggle. 2018-12-18 16:30:13 +01:00
Bartosz Taudul
9e18db01c9 Menu bar buttons are now toggles. 2018-12-18 16:30:13 +01:00
Bartosz Taudul
79eb6a5836 Right click on lock in options to open info window. 2018-12-16 21:14:15 +01:00
Bartosz Taudul
9a7689c65d Display lock announce, terminate and life time. 2018-12-16 21:09:37 +01:00
Bartosz Taudul
7376ec65b0 Store lock announce and terminate time in trace dump. 2018-12-16 21:09:37 +01:00
Bartosz Taudul
9360df89b1 Store announce and terminate time of locks. 2018-12-16 21:07:26 +01:00
Bartosz Taudul
f42d52923a No-op processing of lock terminate events. 2018-12-16 20:46:33 +01:00
Bartosz Taudul
91171a6674 Draw zig-zag pattern over collapsed locks. 2018-12-16 20:20:27 +01:00
Bartosz Taudul
abad5574f3 Middle click on lock event to zoom to it. 2018-12-16 20:04:45 +01:00
Bartosz Taudul
8f6f54e412 Clicking on a lock event also opens lock info window. 2018-12-16 20:01:40 +01:00
Bartosz Taudul
444d5e20f0 Add basic lock info window. 2018-12-16 19:58:11 +01:00
Bartosz Taudul
ff8c9ab6dc Properly terminate source file data. 2018-12-16 19:48:34 +01:00
Bartosz Taudul
1235a5aa0a Allow discarding active trace. 2018-11-25 19:31:26 +01:00
Bartosz Taudul
fec0017bb6 Add third state (stopped) to the pause/resume button. 2018-11-25 19:15:16 +01:00
Bartosz Taudul
63f0dd72a5 Allow cancelling pending connection. 2018-10-23 19:49:57 +02:00
Bartosz Taudul
54baec9e7e Fix drawing last collapsed non-contiguous frame. 2018-10-21 17:46:24 +02:00
Bartosz Taudul
556b3e8efe Add "go to frame" functionality. 2018-10-21 17:36:27 +02:00
Bartosz Taudul
793e955480 Fix crash when loading a trace with unresolved strings.
Unresolved strings ("???") are not saved, but the internal string
pointers are saved. Resolving such string pointers caused a crash.
2018-10-21 16:38:20 +02:00
Bartosz Taudul
9342ba0e71 Don't track last frames in offline mode. 2018-10-21 16:03:21 +02:00
Bartosz Taudul
5280d6586b Switching active frame set by clicking on a frame. 2018-10-21 15:46:02 +02:00