Commit Graph

1520 Commits

Author SHA1 Message Date
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
Bartosz Taudul
5f92b08b0d Bump version to 0.4.0. 2018-10-09 19:29:06 +02:00
Bartosz Taudul
05c9325018 Highlight zones selected in the find zone menu. 2018-10-09 15:54:28 +02:00
Bartosz Taudul
4ca4c85976 Fix an edge case in zone drawing.
If the last zone on a track was not ended, and in the view's past
(beyond the left edge of the view) it was still included in calculation
of track height.
2018-10-06 12:58:38 +02:00
Bartosz Taudul
75ab9147d0 Reduce amount of information in "menu" bar.
Zone count, queue delay and timer resolution were moved to the trace
information window.

Time span and View span are now displayed as icons.
2018-10-05 23:02:23 +02:00
Bartosz Taudul
9e94dcd320 Fix zoom-to-allocation not working on selected allocations. 2018-10-05 21:13:31 +02:00
Bartosz Taudul
1a8b184d10 Mute inactive frame sets. 2018-10-05 21:10:37 +02:00
Bartosz Taudul
286a6cfe0a Move check out of loop. 2018-10-05 21:03:04 +02:00
Bartosz Taudul
0d8b79f6c9 Don't miss frame separators. 2018-10-05 20:59:00 +02:00
Bartosz Taudul
81cf024498 Highlight message marker even if it's collapsed. 2018-10-05 20:40:10 +02:00
Bartosz Taudul
b7d2a690d9 Zoom to allocation range when middle clicking on address. 2018-09-28 11:43:45 +02:00
Bartosz Taudul
4960e691d4 Added ability to zoom to allocation range in allocation window. 2018-09-28 11:40:22 +02:00
Bartosz Taudul
428b7da1cc The underlying vector might be reallocated. 2018-09-27 23:19:20 +02:00
Bartosz Taudul
6cfd53b274 Add allocations list window. 2018-09-27 23:19:20 +02:00
Bartosz Taudul
01e0bbb5f9 Build list of allocations in a given call stack tree entry. 2018-09-27 23:19:20 +02:00
Bartosz Taudul
9301986bae Collect callstacks for each entry in call stack tree. 2018-09-27 22:56:44 +02:00
Bartosz Taudul
44fae53583 Display lock source location in tooltip. 2018-09-18 16:29:02 +02:00
Bartosz Taudul
06eec51ed9 Display locks source locations in options locks list. 2018-09-18 16:14:32 +02:00
Bartosz Taudul
5ddfda9170 Initialize capacity in vector, as it's checked by asserts. 2018-09-10 11:28:12 +02:00
Bartosz Taudul
9211ce42da Non-on-demand client is only able to handle one connection. 2018-09-09 19:42:06 +02:00
Bartosz Taudul
984a711666 Send protocol version to verify handshake. 2018-09-09 19:28:53 +02:00
Bartosz Taudul
270072b09e Require shibboleth match at start of connection. 2018-09-09 18:26:53 +02:00
Bartosz Taudul
806c8de463 Only one outgoing server connection is supported. 2018-09-09 17:47:20 +02:00
Bartosz Taudul
4471329661 Display time savings in the compare traces menu. 2018-09-08 20:23:49 +02:00
Bartosz Taudul
19f3c5f5ff Ignore frames with 0 time. 2018-09-08 19:04:38 +02:00
Bartosz Taudul
2c43e1337f Fast log10 is no longer needed. 2018-09-08 19:01:51 +02:00
Bartosz Taudul
2f9d0aa9eb Use improved algorithm in compare trace histogram. 2018-09-03 21:26:50 +02:00
Bartosz Taudul
384a42cc47 Display average and median times in compare traces. 2018-09-03 20:45:51 +02:00
Bartosz Taudul
29d649216e In compare traces put both total times in the same line. 2018-09-03 20:39:34 +02:00
Bartosz Taudul
9fb26b3622 If there's no group selected, dim group selection legend. 2018-09-03 20:36:40 +02:00
Bartosz Taudul
fc40c7bbf6 Calculate compare traces average, median. 2018-09-03 20:34:07 +02:00
Bartosz Taudul
b485aad2a3 Cosmetics. 2018-09-03 20:34:00 +02:00
Bartosz Taudul
e8b4f71f4a Properly initialize sortedNum in find zone. 2018-09-03 20:21:28 +02:00
Bartosz Taudul
a02121d78a Allow disabling average, median markers on frame set histogram. 2018-09-02 13:37:36 +02:00
Bartosz Taudul
0b0fa919d3 Find zone groups are now by default sorted by count. 2018-09-02 13:34:00 +02:00
Bartosz Taudul
fb013c0df5 Properly reset state when switching matched source locations. 2018-09-02 13:25:17 +02:00
Bartosz Taudul
08729c2b42 Allow disabling average and median time markers. 2018-09-02 13:06:09 +02:00
Bartosz Taudul
1bff8a7997 Draw group average and median times on histogram. 2018-09-02 13:00:21 +02:00
Bartosz Taudul
c3c48117d4 Display group average and median times. 2018-09-02 13:00:21 +02:00
Bartosz Taudul
2d3ce1bf25 Calculate group average and median times. 2018-09-02 13:00:21 +02:00
Bartosz Taudul
5733b420a1 Use the same algorithm for selection group binning. 2018-09-02 03:46:16 +02:00
Bartosz Taudul
c1630936d4 Use the improved method in find zone histogram. 2018-09-02 02:58:15 +02:00
Bartosz Taudul
854210a7e3 Fix find zone histogram selection start/end. 2018-09-02 02:09:29 +02:00
Bartosz Taudul
8152e213f8 Collapse separate find zone histogram paths into one. 2018-09-02 01:31:09 +02:00
Bartosz Taudul
f43b875b83 Display average and median zone time in find zone histogram. 2018-09-02 00:28:57 +02:00
Bartosz Taudul
f66ed00d71 Calculate sorted zone times for find zone histogram. 2018-09-02 00:19:15 +02:00
Bartosz Taudul
e81218ddaf Radically improve frame set histogram performance.
This change exploits the fact that frame set data is sorted, and the
histogram bins can be calculated as distances in the frame-time vectors.
2018-09-01 14:50:38 +02:00
Bartosz Taudul
1bef4b45b7 Display continuous/discontinuous info about frame sets. 2018-09-01 14:04:23 +02:00
Bartosz Taudul
213b33a4fa No need to check for zero value in a sorted set. 2018-09-01 13:55:25 +02:00
Bartosz Taudul
0c086e3a30 In-place merge new frames instead of re-sorting the whole set. 2018-09-01 13:34:02 +02:00
Bartosz Taudul
9f4d6692dc Proper way to get full frame count. 2018-09-01 12:38:12 +02:00
Bartosz Taudul
faea036c16 Ignore last, probably unfinished frame. 2018-09-01 02:07:52 +02:00
Bartosz Taudul
c8a0bfd9be Merge average and median lines, if they overlap. 2018-09-01 01:48:00 +02:00
Bartosz Taudul
8211eb1371 Display FPS ranges. 2018-09-01 01:48:00 +02:00
Bartosz Taudul
0825c40938 Display average and median frame times. 2018-09-01 01:48:00 +02:00
Bartosz Taudul
8df82278a5 Display frame set time as a percentage of profile time. 2018-09-01 01:48:00 +02:00
Bartosz Taudul
98b5363ebc Add frame set histogram. 2018-09-01 01:48:00 +02:00
Bartosz Taudul
9b8a0a8364 Display total frame set time. 2018-09-01 01:48:00 +02:00
Bartosz Taudul
27a2d8595d Time is int64_t. 2018-09-01 01:48:00 +02:00
Bartosz Taudul
cb47ac6165 Actually mark the data as used. 2018-09-01 01:01:41 +02:00
Bartosz Taudul
907da3265d Fix string handling. 2018-08-31 20:08:04 +02:00
Bartosz Taudul
9da3364c77 Display non-rounded FPS in a tooltip. 2018-08-31 18:58:39 +02:00
Bartosz Taudul
230ee71368 Do not recalculate frame stats, if frame data didn't change. 2018-08-31 18:51:00 +02:00
Bartosz Taudul
4ee8e7c372 Also display frames per second for average and median frame times. 2018-08-31 18:43:25 +02:00
Bartosz Taudul
0d6d296e94 Display average and median frame times. 2018-08-31 15:32:30 +02:00
Bartosz Taudul
d977fa004d Enable keyboard navigation. 2018-08-30 02:08:08 +02:00
Bartosz Taudul
0f5ee69668 Add missing include. 2018-08-29 23:25:42 +02:00
Bartosz Taudul
204cc019ea Add file storage helpers. 2018-08-29 23:22:44 +02:00
Bartosz Taudul
81655816f0 Display captured program name and capture time. 2018-08-29 01:02:29 +02:00
Bartosz Taudul
8f1acf2571 Store explicit program name and capture time. 2018-08-29 01:02:29 +02:00
Bartosz Taudul
bc6a553a3a Fetch thread names in memory events. 2018-08-28 01:48:19 +02:00
Bartosz Taudul
a5b99b54c8 Allow specifying FileWrite compression level.
Note that extreme compression level is not exposed in the update
utility.

% time update.exe long.tracy out.tracy
long.tracy (0.3.201) -> out.tracy (0.3.204)
update.exe long.tracy   0,00s user 0,00s system 0% cpu 13,464 total
% time update.exe --hc long.tracy outhc.tracy
long.tracy (0.3.201) -> outhc.tracy (0.3.204)
update.exe --hc long.trac  0,00s user 0,00s system 0% cpu 3:46,23 total
% ls -l long.tracy out*
-rw-r--r-- 1 wolf Brak 1621546031 07-30 22:51 long.tracy
-rw-r--r-- 1 wolf Brak 1621579467 08-26 16:44 out.tracy
-rw-r--r-- 1 wolf Brak 1397610127 08-26 16:48 outhc.tracy
2018-08-26 16:49:27 +02:00
Bartosz Taudul
b3b12f76f3 Add LZ4HC support to FileWrite. 2018-08-26 16:25:43 +02:00
Bartosz Taudul
d835d4da2a Remove display of found allocations count. 2018-08-25 15:07:23 +02:00
Bartosz Taudul
256d905ed5 Hide memory address search in "allocations" section. 2018-08-25 15:05:22 +02:00
Bartosz Taudul
6ad184447a Call stack window may now display frame addresses. 2018-08-21 17:55:59 +02:00
Bartosz Taudul
def6c674b2 Add crash notification to thread tooltip. 2018-08-20 14:37:14 +02:00
Bartosz Taudul
ebcdebaa69 Display crash marker on timeline. 2018-08-20 03:00:45 +02:00
Bartosz Taudul
5fa4cf6e5d Display crash information on visible threads lists. 2018-08-20 02:41:11 +02:00
Bartosz Taudul
b1227cf9fd Display crashed thread in red color. 2018-08-20 02:36:58 +02:00
Bartosz Taudul
99b7a39c52 Save/load crash information. 2018-08-20 02:27:24 +02:00
Bartosz Taudul
619fba41ab Display crash information in info window. 2018-08-20 02:23:55 +02:00
Bartosz Taudul
2a696418cd Cosmetics. 2018-08-20 02:23:55 +02:00
Bartosz Taudul
3b526b074e Send crash report. 2018-08-20 02:23:55 +02:00
Bartosz Taudul
366ea35593 Allow crash event reporting.
When crash happens there's no longer anything to profile -- don't wait
for unfinished zones to finish before sending client terminate
confirmation.
2018-08-20 01:03:16 +02:00
Bartosz Taudul
e0a4b9c56a Save/load host info. 2018-08-19 18:28:48 +02:00
Bartosz Taudul
71bfd15d9e Display host info. 2018-08-19 18:24:43 +02:00
Bartosz Taudul
203d9b4b85 Store host info. 2018-08-19 18:21:56 +02:00
Bartosz Taudul
6224daf9c9 Greatly simplify call stack tree calculation.
Instead of caching paths, compute accumulated cost of each path and only
then create the tree, going through each path just once.
2018-08-19 16:34:26 +02:00
Bartosz Taudul
e1821e439a Add icons to error pop-ups. 2018-08-19 02:59:12 +02:00
Bartosz Taudul
cb51fdec20 Fix multiple file name retrievals in a row. 2018-08-18 20:38:14 +02:00
Bartosz Taudul
42636cfe89 Allow viewing source files from within find zone menu. 2018-08-18 20:35:25 +02:00
Bartosz Taudul
2445cc72bc Add icons to memory menu. 2018-08-18 20:10:14 +02:00
Bartosz Taudul
235da1eded Use focused text for source locations count. 2018-08-18 20:01:57 +02:00
Bartosz Taudul
4060a59b4f Call stack tree nodes that have no siblings are expanded by default. 2018-08-18 20:00:24 +02:00
Bartosz Taudul
a4df805746 Allow filtering messages by thread. 2018-08-18 19:57:36 +02:00
Bartosz Taudul
59293b1850 Enable support for restrict time in call stack tree. 2018-08-18 19:44:29 +02:00
Bartosz Taudul
1410ba6f01 Increase readability. 2018-08-18 19:34:17 +02:00
Bartosz Taudul
79c437ba7f Let's not search in a map. 2018-08-18 19:29:04 +02:00
Bartosz Taudul
bd96c2ce51 Cache call stack tree paths. 2018-08-18 19:13:46 +02:00
Bartosz Taudul
7f0fb851b4 Force inline GetFrameTreeItem(). 2018-08-18 18:46:16 +02:00
Bartosz Taudul
7ef6944246 Remove compare menu visual aids if extended font is not available. 2018-08-18 16:32:26 +02:00
Bartosz Taudul
410616f7f8 Allow viewing source from zone trace. 2018-08-18 14:26:10 +02:00
Bartosz Taudul
fb876344e3 No need for indentVal outside of scope. 2018-08-18 14:14:33 +02:00
Bartosz Taudul
b9e83871a8 Add visual aids to compare menu. 2018-08-18 14:02:20 +02:00
Bartosz Taudul
2852784f55 Separate global and level indices for call stack tree. 2018-08-18 02:23:55 +02:00
Bartosz Taudul
0757930521 Only display "go to parent" if there is a parent. 2018-08-18 02:12:34 +02:00
Bartosz Taudul
69dd0b72c1 Just accept const char ptr in ImGuiColorTextEdit. 2018-08-18 01:16:15 +02:00
Bartosz Taudul
2c7d457755 Highlight source buttons, if source file is displayed. 2018-08-18 00:28:36 +02:00
Bartosz Taudul
e8da52324d Add memory icon to memory usage plot name. 2018-08-18 00:24:23 +02:00
Bartosz Taudul
07952f0a1f Add icons to options menu. 2018-08-18 00:21:01 +02:00
Bartosz Taudul
8db30a9016 Add icon to statistics menu. 2018-08-18 00:09:23 +02:00
Bartosz Taudul
816c91922e Add icons to memory menu. 2018-08-17 23:58:52 +02:00
Bartosz Taudul
441a5e257c Add wifi icon to "waiting for connection" window. 2018-08-17 23:56:06 +02:00
Bartosz Taudul
b613a60c88 Add icons to compare menu. 2018-08-17 23:54:40 +02:00
Bartosz Taudul
4c228fe862 Add icons to find zone menu. 2018-08-17 23:52:03 +02:00
Bartosz Taudul
350fb6a5b0 Add icons to zone info window buttons. 2018-08-17 23:47:01 +02:00
Bartosz Taudul
cdee1d4ce4 Remove obsolete frame rounding setting. 2018-08-17 23:27:14 +02:00
Bartosz Taudul
0aebf614db Add icons to pause/resume button. 2018-08-17 23:24:25 +02:00
Bartosz Taudul
940dda8fc1 Use helper header for icons. 2018-08-17 23:22:13 +02:00
Bartosz Taudul
e1e0e6e140 Centered text helper. 2018-08-17 23:07:58 +02:00
Bartosz Taudul
4c393a2b8d Allow opening source files from withing call stack tree. 2018-08-17 22:51:26 +02:00
Bartosz Taudul
4e23ce9a24 Shared index for all call stack tree nodes. 2018-08-17 22:31:55 +02:00
Bartosz Taudul
07d2aaa1ad Play a little animation when source file cannot be opened. 2018-08-17 22:23:16 +02:00
Bartosz Taudul
841f18885e Add simple animation controller. 2018-08-17 22:23:04 +02:00
Bartosz Taudul
12f2080387 Right click on call stack file name to view source. 2018-08-17 22:06:59 +02:00
Bartosz Taudul
5752156695 Use "call stack" instead of "callstack". 2018-08-17 22:00:35 +02:00
Bartosz Taudul
0de3e088d9 Use icons in main profiler window buttons. 2018-08-17 19:03:35 +02:00
Bartosz Taudul
92284b65e7 Use save file icon. 2018-08-17 18:36:06 +02:00
Bartosz Taudul
9b1af05472 Use power off icon. 2018-08-17 18:33:56 +02:00
Bartosz Taudul
5125c2487b Use exclamation icon instead of ascii representation. 2018-08-17 17:57:13 +02:00
Bartosz Taudul
2b3490e6f7 Handle window title setter callback in View. 2018-08-17 17:24:18 +02:00
Bartosz Taudul
b7ac41ab1b Make the warning signs stand out more. 2018-08-17 17:08:16 +02:00
Bartosz Taudul
b76707ffa1 Render main profiler view in whole window. 2018-08-17 17:00:56 +02:00
Bartosz Taudul
df7db3bd2b Notify profiler about root window size. 2018-08-17 16:54:56 +02:00
Bartosz Taudul
9416f5bb49 Add close button to loaded traces (not the window close one). 2018-08-17 16:34:58 +02:00
Bartosz Taudul
facae0b9e1 Draw text editor with potential source code. 2018-08-17 15:33:12 +02:00
Bartosz Taudul
d45efbe640 Don't reload source file, if it's already there. 2018-08-17 15:24:52 +02:00
Bartosz Taudul
5dc3d73ad6 Set cursor on proper line. 2018-08-17 15:21:37 +02:00
Bartosz Taudul
5cd61c4b07 Text editor needs fixed-width font. 2018-08-17 15:18:09 +02:00
Bartosz Taudul
5bd35eb34e Open file preview in text editor. 2018-08-17 14:54:28 +02:00
Bartosz Taudul
9dbc56beb6 Initialize text editor. 2018-08-17 14:44:41 +02:00
Bartosz Taudul
6bf7b85260 Add file existence check. 2018-08-17 13:35:33 +02:00
Bartosz Taudul
27b2851291 Declare Vector moves as noexcept. 2018-08-17 13:10:27 +02:00
Bartosz Taudul
8cbb518f28 Display average allocation sizes. 2018-08-14 18:48:29 +02:00
Bartosz Taudul
df14cf5330 Implement callstack tree of memory allocations. 2018-08-14 18:37:06 +02:00
Bartosz Taudul
c2c0f887aa Display srcloc, callstack counts. 2018-08-14 16:41:27 +02:00
Bartosz Taudul
a15a287a6b Don't over-allocate vectors, when exact needed size is known.
This reduces memory usage when loading saved traces. Memory usage
reduction observed on a selected number of traces:

5625.76 MB -> 5330.29 MB
3292.94 MB -> 2978.66 MB
632.77 MB  -> 479.58 MB
681.32 MB  -> 506.27 MB
11.9 GB    -> 11.22 GB
854.21 MB  -> 806.17 MB
10.57 GB   -> 7175.31 MB
67.38 MB   -> 66.63 MB
2026.12 MB -> 1744.2 MB
86.55 MB   -> 85.57 MB
343.64 MB  -> 244.81 MB
201.93 MB  -> 162.25 MB
2018-08-09 19:41:15 +02:00
Bartosz Taudul
a14a6fa8fb Don't shadow variables. 2018-08-09 19:41:15 +02:00
Bartosz Taudul
dbf4de0694 Allow exact size allocations in Vector. 2018-08-09 19:41:15 +02:00
Bartosz Taudul
68dd90cb94 Also display exact memory allocation size. 2018-08-09 02:27:55 +02:00
Bartosz Taudul
92c1685528 Fix shortening of negative memory values. 2018-08-09 02:25:47 +02:00