Commit Graph

788 Commits

Author SHA1 Message Date
Bartosz Taudul
cd7a1cffe8 Don't draw off-screen locks. 2018-04-20 22:53:31 +02:00
Bartosz Taudul
723fad84a7 Don't draw off-screen zone timeline labels. 2018-04-20 22:45:29 +02:00
Bartosz Taudul
84fd351fba Allow partial load of data from dump. 2018-04-20 16:03:09 +02:00
Bartosz Taudul
cc65e52663 Allow skipping data when reading file. 2018-04-20 14:27:20 +02:00
Bartosz Taudul
6120b3e922 Change -1 comparisons to "0" comparisons. 2018-04-14 16:50:04 +02:00
Bartosz Taudul
d0d5528e99 Disable histogram highlight using right mouse button. 2018-04-14 15:21:22 +02:00
Bartosz Taudul
3df7c70f99 Optimize mem alloc processing. 2018-04-10 16:06:01 +02:00
Bartosz Taudul
be50fb26b5 Remove useless assert. 2018-04-10 14:37:17 +02:00
Bartosz Taudul
fd41b4927a Allow selecting/unselecting all locks for display. 2018-04-09 16:15:40 +02:00
Bartosz Taudul
4e1dbb3973 Fix lock announce processing. 2018-04-09 14:28:40 +02:00
Bartosz Taudul
d4bfbc2797 Allow displaying global statistics of a zone. 2018-04-05 19:31:04 +02:00
Bartosz Taudul
093787b3e8 Move find zone setup to a dedicated function. 2018-04-05 19:30:32 +02:00
Bartosz Taudul
0f95d7fd21 Use lookup table to get memory decay color. 2018-04-05 12:14:26 +02:00
Bartosz Taudul
bb299a5074 Desaturate older allocations on memory map. 2018-04-03 20:38:50 +02:00
Bartosz Taudul
189a4a2e32 Page chunk mask is not needed anymore. 2018-04-03 19:41:11 +02:00
Bartosz Taudul
1182a3fcb8 Stop processing allocations if already at time end. 2018-04-03 19:40:06 +02:00
Bartosz Taudul
b78dc70b70 No need to split address into page and chunk. 2018-04-03 19:39:19 +02:00
Bartosz Taudul
22bd2923eb Keep mem.low in a register. 2018-04-03 19:35:43 +02:00
Bartosz Taudul
a3dd90529c Rearrange memory reads. 2018-04-03 19:35:28 +02:00
Bartosz Taudul
197e513727 Add a separate time restriction code path. 2018-04-03 19:34:48 +02:00
Bartosz Taudul
f0573d68bd Store memory pages in a contiguous memory area. 2018-04-03 19:17:32 +02:00
Bartosz Taudul
5ce3e44c77 Calculate chunks in one place in code. 2018-04-03 18:27:50 +02:00
Bartosz Taudul
bf99bff87d Store MemEvents directly in the vector. 2018-04-03 14:17:51 +02:00
Bartosz Taudul
bc27c99a1e Move page init to a non-inlined function. 2018-04-03 13:30:56 +02:00
Bartosz Taudul
6d40502068 Execute direct write to memory, if only one byte. 2018-04-03 13:23:53 +02:00
Bartosz Taudul
81c84025a2 Fix calculation of lines. 2018-04-02 20:11:55 +02:00
Bartosz Taudul
1bb1cf9e6c Display memory map information. 2018-04-02 20:00:05 +02:00
Bartosz Taudul
78ebf37039 Use proper values for page map calculation. 2018-04-02 19:57:46 +02:00
Bartosz Taudul
a2a6386491 Allow time restricting memory map. 2018-04-02 18:57:24 +02:00
Bartosz Taudul
1c441824fd Display memory map. 2018-04-02 18:51:32 +02:00
Bartosz Taudul
78cd86dd69 Memory pages bitmap calculation. 2018-04-02 18:51:32 +02:00
Bartosz Taudul
bf249de266 Display memory usage by active allocations. 2018-04-02 16:30:03 +02:00
Bartosz Taudul
670744f852 Move alloc cutoff to middle of timeline. 2018-04-02 16:21:24 +02:00
Bartosz Taudul
7b194d2349 Don't use std::sort. 2018-04-02 16:09:44 +02:00
Bartosz Taudul
e80891e36d Allow restricting displayed allocs by time. 2018-04-02 16:07:33 +02:00
Bartosz Taudul
c1aaec32d6 Sort active allocations by appearance time. 2018-04-02 15:45:11 +02:00
Bartosz Taudul
38edf308fa Display memory span. 2018-04-02 14:58:40 +02:00
Bartosz Taudul
821b08fbe4 Thread compression state is not preserved. 2018-04-02 14:52:36 +02:00
Bartosz Taudul
aa8980aacc Put memory allocations list into a child area. 2018-04-02 14:44:45 +02:00
Bartosz Taudul
8cc446b578 Highlight zones with opened zone info window. 2018-04-02 14:38:08 +02:00
Bartosz Taudul
50eb5c4b84 Highlight same zone alloc+free. 2018-04-02 14:36:07 +02:00
Bartosz Taudul
f7ce3e795f Display zone if which allocation was freed. 2018-04-02 14:29:56 +02:00
Bartosz Taudul
e1682c7675 Draw active allocations list. 2018-04-02 02:39:12 +02:00
Bartosz Taudul
c4a36398f6 Move memory allocations table drawing to a separate function. 2018-04-02 02:39:12 +02:00
Bartosz Taudul
1fa943d109 Save/load memory data. 2018-04-02 02:05:39 +02:00
Bartosz Taudul
68acc30bdd Add support for determining FileRead EOF. 2018-04-02 02:05:39 +02:00
Bartosz Taudul
5824b47a66 Display memory usage. 2018-04-02 00:02:45 +02:00
Bartosz Taudul
52f59c90bf Track memory usage. 2018-04-02 00:00:49 +02:00
Bartosz Taudul
e3509b6eee Display total number of allocations. 2018-04-01 23:57:18 +02:00
Bartosz Taudul
8efc0a0a71 Display proper hex value. 2018-04-01 22:00:57 +02:00
Bartosz Taudul
3f7abd478e Display zone in which memory allocation took place. 2018-04-01 21:50:35 +02:00
Bartosz Taudul
912cfdbc5e Search for zone present in given thread at given time. 2018-04-01 21:47:08 +02:00
Bartosz Taudul
20824a200c Implement search for memory address. 2018-04-01 21:24:30 +02:00
Bartosz Taudul
c686b86464 Add rudimentary memory information window. 2018-04-01 20:34:58 +02:00
Bartosz Taudul
2d00d95743 Missing initializer. 2018-04-01 20:34:58 +02:00
Bartosz Taudul
cd3bba8063 Memory data accessor. 2018-04-01 20:34:58 +02:00
Bartosz Taudul
a574f98f0c Memory events are now serialized. 2018-04-01 20:13:01 +02:00
Bartosz Taudul
16a98c8c17 Move benaphore to common directory. 2018-04-01 18:59:55 +02:00
Bartosz Taudul
b12375815c Broken memory events processing. 2018-04-01 02:03:34 +02:00
Bartosz Taudul
991fc6bd95 Memory allocations tracker. 2018-03-31 21:56:05 +02:00
Bartosz Taudul
c7a5e25c87 Display parent times. 2018-03-28 19:35:33 +02:00
Bartosz Taudul
9d798789a9 Fix broken behavior on duplicate names in zone info window. 2018-03-28 01:57:53 +02:00
Bartosz Taudul
d6bf19a762 Standard zone list behavior in zone trace. 2018-03-28 01:53:59 +02:00
Bartosz Taudul
bf52b3bc98 Add zone trace. 2018-03-28 01:47:28 +02:00
Bartosz Taudul
4d0396fa06 No auto-expand of child zones. 2018-03-28 01:47:20 +02:00
Bartosz Taudul
aebbefde2a Rename exclusive time to self time. 2018-03-28 01:47:08 +02:00
Bartosz Taudul
f6d4728494 Move child zones into an expandable tree. 2018-03-28 01:34:12 +02:00
Bartosz Taudul
871633cbaf Adapt button size to font size. 2018-03-25 00:10:31 +01:00
Bartosz Taudul
3567089278 Provide default size for main profiler window.
This prevents a crash when loading saved trace with plot.
2018-03-24 22:07:41 +01:00
Bartosz Taudul
1219b72577 Check if match table has content. 2018-03-24 17:32:27 +01:00
Bartosz Taudul
d559da932f Highlight source location displayed in find zone window. 2018-03-24 17:29:25 +01:00
Bartosz Taudul
ae274d8e37 Different ways of sorting of statistics data. 2018-03-24 17:28:10 +01:00
Bartosz Taudul
b65824d116 Show source location details when one is selected. 2018-03-24 15:20:39 +01:00
Bartosz Taudul
3012817da4 Source location statistics. 2018-03-24 15:16:43 +01:00
Bartosz Taudul
27c66c3765 Remove unused variable. 2018-03-24 15:04:44 +01:00
Bartosz Taudul
aa9d9575e0 Allow raw access to source location zones data. 2018-03-24 14:48:52 +01:00
Bartosz Taudul
cb4c1dac24 Don't show pause/resume button if data is static. 2018-03-24 14:45:01 +01:00
Bartosz Taudul
d8ac7dee83 Expose worker data state (static/dynamic). 2018-03-24 14:43:57 +01:00
Bartosz Taudul
225423bd21 Cosmetics. 2018-03-24 14:42:48 +01:00
Bartosz Taudul
3a49e9a4be Statistics window shell. 2018-03-24 14:40:48 +01:00
Bartosz Taudul
a9e1a9bddb Calculate total time spent in source location.
This simple solution doesn't handle recursion at all.
2018-03-24 14:24:30 +01:00
Bartosz Taudul
40a14292b3 Matched source locations and histogram default to open. 2018-03-24 02:45:24 +01:00
Bartosz Taudul
fea0234a60 Change zone end "-1" comparisons to "0" comparisons. 2018-03-24 02:00:20 +01:00
Bartosz Taudul
6a4e58b545 Force inline compress/decompress thread id. 2018-03-24 01:31:58 +01:00
Bartosz Taudul
c0577fd5b2 Unordered map is no longer used. 2018-03-23 21:18:52 +01:00
Bartosz Taudul
f4b88b9c05 Use flat hash map for reverse plot lookup. 2018-03-23 21:18:00 +01:00
Bartosz Taudul
6cb2fec48e Use flat hash map for string map. 2018-03-23 21:12:29 +01:00
Bartosz Taudul
69b49f527d Inline GetZoneEndDirect(). 2018-03-23 02:06:44 +01:00
Bartosz Taudul
910ce8b8ef Display number of matched source locations. 2018-03-20 20:18:23 +01:00
Bartosz Taudul
6e6addfa81 Use pdqsort. 2018-03-20 19:19:07 +01:00
Bartosz Taudul
ae55360a6d Don't sort zones if statistics are disabled. 2018-03-20 19:12:42 +01:00
Bartosz Taudul
4837ce31ff Allow sorting zone groups by count. 2018-03-20 17:19:48 +01:00
Bartosz Taudul
64f3c55ba5 Display zone group time. 2018-03-20 16:56:11 +01:00
Bartosz Taudul
e6d5f3f5fc Store common variables in registers to prevent aliasing. 2018-03-20 16:49:29 +01:00
Bartosz Taudul
d8f7903a97 Use flat hash map for ptr mapping during data load. 2018-03-20 15:44:13 +01:00
Bartosz Taudul
720e5a0468 First check if valid, then search in map. 2018-03-20 15:41:06 +01:00
Bartosz Taudul
fe6c753f12 Store lock thread map in flat hash map. 2018-03-20 15:40:25 +01:00
Bartosz Taudul
765a1ececf Move nohash<> from TracyWorker to flat hash map. 2018-03-20 15:40:11 +01:00
Bartosz Taudul
37808ec4c7 Fix the horribly inefficient Visible() and ShowFull() methods. 2018-03-20 15:33:38 +01:00
Bartosz Taudul
ceeae3c2cf Restore ordering of source location zones after load. 2018-03-20 14:56:42 +01:00