Commit Graph

826 Commits

Author SHA1 Message Date
Bartosz Taudul
dc1396012e Add assert checking that there's space. 2018-04-29 01:38:35 +02:00
Bartosz Taudul
d64f0390da Don't use std::sort. 2018-04-29 01:23:30 +02:00
Bartosz Taudul
925b6c2617 Display y-range of plots. 2018-04-28 16:44:36 +02:00
Bartosz Taudul
7df7bf1745 Begin memory plot with no memory usage. 2018-04-28 16:26:45 +02:00
Bartosz Taudul
a0b8ed2e50 Restore memory plot when loading data dump. 2018-04-28 16:26:45 +02:00
Bartosz Taudul
afa432a087 Non-user plots must have predefined names. 2018-04-28 16:26:45 +02:00
Bartosz Taudul
d8bfe7de2e Create memory plot based on memory alloc/free events. 2018-04-28 15:49:12 +02:00
Bartosz Taudul
cd34ed6968 Two plot types: user and memory.
Only user plots are saved in a dump file.
2018-04-28 15:48:05 +02:00
Bartosz Taudul
2a427ba87a Fix typo. 2018-04-22 02:24:34 +02:00
Bartosz Taudul
ecabf24c4e Optional normalization of compared data. 2018-04-22 02:19:22 +02:00
Bartosz Taudul
d06890b55d Add missing tree pop. 2018-04-22 01:28:55 +02:00
Bartosz Taudul
1fb47899b2 Fix skipping lock data with new dump version. 2018-04-22 01:26:51 +02:00
Bartosz Taudul
470bfb5c02 Don't load unneeded data. 2018-04-22 01:00:17 +02:00
Bartosz Taudul
41738469f1 Add trace compare window. 2018-04-22 00:52:33 +02:00
Bartosz Taudul
436cd2b6cf Drop '###Profiler' from capture name. 2018-04-21 23:29:28 +02:00
Bartosz Taudul
28380f2d25 Move bad version dialogs to a separate file. 2018-04-21 23:19:48 +02:00
Bartosz Taudul
ea2be1bce9 Fix custom ImVec2 operators. 2018-04-21 23:19:13 +02:00
Bartosz Taudul
1d044b494b Don't enforce main window buttons width. 2018-04-21 22:42:32 +02:00
Bartosz Taudul
880eb7cbdd Don't display zone names in find zone menu zones list. 2018-04-21 22:34:19 +02:00
Bartosz Taudul
2ef9fe0743 Enable log time in find zone menu by default. 2018-04-21 22:21:15 +02:00
Bartosz Taudul
d1e185e176 Cleanup message data. 2018-04-21 20:36:33 +02:00
Bartosz Taudul
4cd9cf5dd9 Cleanup zone data. 2018-04-21 20:34:29 +02:00
Bartosz Taudul
0de5bcacaf Free plot data. 2018-04-21 20:12:16 +02:00
Bartosz Taudul
dda25cf66a Cosmetics. 2018-04-21 20:11:59 +02:00
Bartosz Taudul
adf8a126c6 More space for text on main window buttons. 2018-04-21 19:30:49 +02:00
Bartosz Taudul
a4e1bb05f3 Use proper format strings. 2018-04-21 19:26:55 +02:00
Bartosz Taudul
ade97b7ab6 Add hours to time-to-string conversion. 2018-04-21 17:01:10 +02:00
Bartosz Taudul
ad91b9b002 Expand maximum view span from 1 minute to 1 hour. 2018-04-21 16:53:17 +02:00
Bartosz Taudul
cb298893e7 Fix skipping lock data. 2018-04-21 16:02:36 +02:00
Bartosz Taudul
121cced681 Don't save unneeded lock data.
Store only the minimal lock information required and calculate lock
counts, wait lists, etc. at load time.
2018-04-21 15:42:08 +02:00
Bartosz Taudul
764792d8db Try to not crash when opening invalid files.
Tracy will now perform a number of checks when trying to read a dump
file:
1. The file must have at least 4 bytes of data.
2. There should be a 4 byte header to indicate the file was saved by
   tracy. This is a breaking change in file format.
3. Old header-less files are still supported, but there's a new check
   for data validity. The first 4 bytes of file (as an uint32) must be
   less or equal to max LZ4 data packet size. This requires the first
   two bytes to be 00 00 or 00 01, which should catch most invalid
   files.
2018-04-21 14:53:40 +02:00
Bartosz Taudul
a63f214964 Use static assert where static assert is due. 2018-04-21 14:47:15 +02:00
Bartosz Taudul
36efe96e9d Throw exception when trying to open unsupported dump version. 2018-04-21 14:18:42 +02:00
Bartosz Taudul
3793a37b2b Use small buttons in statistics window. 2018-04-21 14:17:42 +02:00
Bartosz Taudul
d9fd1ce74a Add dump file header. 2018-04-21 13:45:48 +02:00
Bartosz Taudul
6c2d7628ee Don't draw off-screen gpu zones. 2018-04-20 23:28:19 +02:00
Bartosz Taudul
a2779eccaf Don't draw off-screen zones. 2018-04-20 23:19:04 +02:00
Bartosz Taudul
9fc14d2faf Don't draw off-screen plots. 2018-04-20 23:00:26 +02:00
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