Bartosz Taudul
|
cd5ca3e754
|
Don't use hash table to store 256 pointers.
|
2018-06-22 15:14:44 +02:00 |
|
Bartosz Taudul
|
3a885bb8fd
|
Support callstack collection for OpenGL GPU zones.
|
2018-06-22 02:13:35 +02:00 |
|
Bartosz Taudul
|
35dc2f796e
|
Process GpuZoneBeginCallstack queue event.
|
2018-06-22 01:56:32 +02:00 |
|
Bartosz Taudul
|
4992ae6b39
|
Take callstack field in ZoneEvent into account in save/load.
|
2018-06-22 01:30:08 +02:00 |
|
Bartosz Taudul
|
5e01a8ead9
|
Process callstack queue event.
|
2018-06-22 01:15:49 +02:00 |
|
Bartosz Taudul
|
205a4e4ca2
|
Add callstack index to ZoneEvent.
|
2018-06-22 01:11:03 +02:00 |
|
Bartosz Taudul
|
978e168cbd
|
Handle ZoneBeginCallstack queue event.
This is identical to ZoneBegin handling, but requires some additional
bookkeeping to account for the incoming callstack information.
|
2018-06-22 01:07:25 +02:00 |
|
Bartosz Taudul
|
973eab2b4a
|
Fix typo.
|
2018-06-20 23:42:00 +02:00 |
|
Bartosz Taudul
|
2a618c90d5
|
Properly save compressed thread in GPU events.
|
2018-06-20 23:12:49 +02:00 |
|
Bartosz Taudul
|
7912807133
|
Wait for transfer of pending callback frames.
|
2018-06-20 14:57:48 +02:00 |
|
Bartosz Taudul
|
60395c85e0
|
Wait for pending callstacks.
|
2018-06-20 14:54:08 +02:00 |
|
Bartosz Taudul
|
9a5329b97d
|
Save and load callstack frames.
|
2018-06-20 01:59:25 +02:00 |
|
Bartosz Taudul
|
e56ee377f4
|
Fix off-by-one.
|
2018-06-20 01:54:27 +02:00 |
|
Bartosz Taudul
|
88b1955a5a
|
Filename in callstack frame is not a persistent pointer.
|
2018-06-20 01:26:05 +02:00 |
|
Bartosz Taudul
|
4000f27e15
|
Stack frame accessor.
|
2018-06-20 01:18:59 +02:00 |
|
Bartosz Taudul
|
0c0afa5ac7
|
Process callstack frames.
|
2018-06-20 01:07:09 +02:00 |
|
Bartosz Taudul
|
203744cdd9
|
Callstack frame queries.
|
2018-06-20 00:25:26 +02:00 |
|
Bartosz Taudul
|
06f34052a5
|
Have to track callstacks of both alloc and free.
|
2018-06-19 22:08:47 +02:00 |
|
Bartosz Taudul
|
0de279005b
|
Load saved callstack payload.
|
2018-06-19 22:05:15 +02:00 |
|
Bartosz Taudul
|
14b71e988b
|
Properly skip memory event data.
|
2018-06-19 22:05:15 +02:00 |
|
Bartosz Taudul
|
4033d74479
|
Callstack payload index 0 is invalid.
|
2018-06-19 22:05:15 +02:00 |
|
Bartosz Taudul
|
b6e71dd909
|
Load memory event callstack index.
|
2018-06-19 21:51:06 +02:00 |
|
Bartosz Taudul
|
7c1333ce2f
|
Save callstack payload.
|
2018-06-19 21:39:52 +02:00 |
|
Bartosz Taudul
|
2940230fcf
|
Save callstack index in memory events.
|
2018-06-19 21:39:42 +02:00 |
|
Bartosz Taudul
|
77db91253b
|
Assign callstack idx to memory event.
|
2018-06-19 21:34:36 +02:00 |
|
Bartosz Taudul
|
c28465aa7c
|
Store unique callstack payloads.
|
2018-06-19 21:16:02 +02:00 |
|
Bartosz Taudul
|
cbc9ede3ca
|
No-op callstack payload handling.
|
2018-06-19 19:31:16 +02:00 |
|
Bartosz Taudul
|
6a63d09a49
|
Don't check for each type, if range check is possible.
|
2018-06-19 19:31:16 +02:00 |
|
Bartosz Taudul
|
e51eef3dcd
|
Process memory events with callstack.
|
2018-06-19 18:52:45 +02:00 |
|
Bartosz Taudul
|
59dc55002b
|
Callstack ptr in server data structures.
Will be probably reduced to 32-bit index later on.
|
2018-06-19 18:52:10 +02:00 |
|
Bartosz Taudul
|
bb0631585c
|
Store thread id of GPU events.
|
2018-06-17 19:07:07 +02:00 |
|
Bartosz Taudul
|
cfd7ac3957
|
Map compressed thread id 0 to real thread id 0.
|
2018-06-17 19:03:06 +02:00 |
|
Bartosz Taudul
|
d5a4c693d8
|
Take GPU timestamp period into account.
|
2018-06-17 18:49:56 +02:00 |
|
Bartosz Taudul
|
dcd6cac078
|
Save GPU timestamp period.
Bump file version to 0.3.2.
|
2018-06-17 18:27:42 +02:00 |
|
Bartosz Taudul
|
2be1d1d2b2
|
Use proper type.
|
2018-06-07 13:30:46 +02:00 |
|
Bartosz Taudul
|
b7930f67da
|
Calculate total self time of zones.
|
2018-06-06 00:39:22 +02:00 |
|
Bartosz Taudul
|
53aea660c8
|
Store thread id in MessageData.
|
2018-05-25 21:10:38 +02:00 |
|
Bartosz Taudul
|
bb0246730f
|
Don't save MessageData padding.
This requires file version bump to 0.3.1.
|
2018-05-25 21:10:38 +02:00 |
|
Bartosz Taudul
|
312c20b0bc
|
Fallback to pdqsort if parallel STL is not available.
|
2018-05-12 22:41:18 +02:00 |
|
Bartosz Taudul
|
920bfc8c82
|
Parallelize (big) sorts in worker.
|
2018-05-08 01:40:22 +02:00 |
|
Bartosz Taudul
|
dbc963d55c
|
Drop template argument from std::lock_guard.
|
2018-05-08 01:25:16 +02:00 |
|
Bartosz Taudul
|
3768ed5dd7
|
Don't reconstruct mem plot if there's no mem event data.
|
2018-05-04 16:08:16 +02:00 |
|
Bartosz Taudul
|
e7ffe288e6
|
One less FileWrite::Write() call.
|
2018-05-04 15:11:19 +02:00 |
|
Bartosz Taudul
|
e058bb34c1
|
CompressThread body must be available.
|
2018-05-03 18:43:51 +02:00 |
|
Bartosz Taudul
|
b18841aa75
|
Store ordered list of memory frees.
|
2018-05-02 17:59:50 +02:00 |
|
Bartosz Taudul
|
754e79b443
|
Setup memory plot pointer on dump load.
|
2018-05-02 17:18:52 +02:00 |
|
Bartosz Taudul
|
7266a979c3
|
Omit stack.
|
2018-05-01 02:13:49 +02:00 |
|
Bartosz Taudul
|
8beb1c1a39
|
Add thread compression cache.
Observation: calls to CompressThread() are likely to be repeated with
the same value. Exploit that by storing last query and its result.
|
2018-05-01 01:29:25 +02:00 |
|
Bartosz Taudul
|
ec58aa4ce1
|
Don't increase vector size in each iteration.
|
2018-04-30 13:57:12 +02:00 |
|
Bartosz Taudul
|
553e3ca38b
|
Optimize mem plot reconstruction loop.
|
2018-04-30 13:45:36 +02:00 |
|
Bartosz Taudul
|
76f0c8fafe
|
Sort source location zones on a separate thread.
|
2018-04-30 03:54:09 +02:00 |
|
Bartosz Taudul
|
63e4f6fa04
|
Directly store values.
|
2018-04-30 03:30:19 +02:00 |
|
Bartosz Taudul
|
e5cb241c19
|
Optimize creation of vector of frees.
|
2018-04-29 13:40:47 +02:00 |
|
Bartosz Taudul
|
3eb73b8d43
|
Move memory plot reconstruction to a background thread.
|
2018-04-29 13:40:04 +02:00 |
|
Bartosz Taudul
|
bc84ebc338
|
Read/write LockEvent data in one go.
|
2018-04-29 03:41:58 +02:00 |
|
Bartosz Taudul
|
c5133e0b4e
|
Walk lockmap timeline pointer.
|
2018-04-29 03:41:58 +02:00 |
|
Bartosz Taudul
|
9769cc4d7d
|
Read/write most of MemEvent in one go.
|
2018-04-29 03:41:58 +02:00 |
|
Bartosz Taudul
|
d5f0f0939d
|
No need to track min memory usage.
At least if client instrumentation was not broken and the data makes
sense.
|
2018-04-29 02:57:20 +02:00 |
|
Bartosz Taudul
|
7fdc6f5453
|
Zero as initial max value is fine too.
|
2018-04-29 02:56:23 +02:00 |
|
Bartosz Taudul
|
723f98d24b
|
Overflow checks are not needed.
|
2018-04-29 02:47:25 +02:00 |
|
Bartosz Taudul
|
b06f445de9
|
Don't use stack to write two values...
|
2018-04-29 02:32:20 +02:00 |
|
Bartosz Taudul
|
333d3a92c8
|
Perform memory usage calculation on doubles.
|
2018-04-29 02:29:06 +02:00 |
|
Bartosz Taudul
|
aceaed25b9
|
Walk plot data pointer.
|
2018-04-29 02:11:47 +02:00 |
|
Bartosz Taudul
|
868fbace5a
|
Don't compress thread twice, if it's the same.
|
2018-04-29 02:04:51 +02:00 |
|
Bartosz Taudul
|
fdaebc2bd8
|
No need to perform space check here.
|
2018-04-29 01:38:54 +02:00 |
|
Bartosz Taudul
|
d64f0390da
|
Don't use std::sort.
|
2018-04-29 01:23:30 +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
|
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
|
1fb47899b2
|
Fix skipping lock data with new dump version.
|
2018-04-22 01:26:51 +02:00 |
|
Bartosz Taudul
|
436cd2b6cf
|
Drop '###Profiler' from capture name.
|
2018-04-21 23:29:28 +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
|
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
|
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
|
d9fd1ce74a
|
Add dump file header.
|
2018-04-21 13:45:48 +02:00 |
|
Bartosz Taudul
|
84fd351fba
|
Allow partial load of data from dump.
|
2018-04-20 16:03:09 +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
|
4e1dbb3973
|
Fix lock announce processing.
|
2018-04-09 14:28:40 +02:00 |
|
Bartosz Taudul
|
bf99bff87d
|
Store MemEvents directly in the vector.
|
2018-04-03 14:17:51 +02:00 |
|
Bartosz Taudul
|
821b08fbe4
|
Thread compression state is not preserved.
|
2018-04-02 14:52:36 +02:00 |
|
Bartosz Taudul
|
1fa943d109
|
Save/load memory data.
|
2018-04-02 02:05:39 +02:00 |
|
Bartosz Taudul
|
52f59c90bf
|
Track memory usage.
|
2018-04-02 00:00:49 +02:00 |
|
Bartosz Taudul
|
a574f98f0c
|
Memory events are now serialized.
|
2018-04-01 20:13:01 +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
|
225423bd21
|
Cosmetics.
|
2018-03-24 14:42: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
|
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
|
69b49f527d
|
Inline GetZoneEndDirect().
|
2018-03-23 02:06:44 +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
|
d8f7903a97
|
Use flat hash map for ptr mapping during data load.
|
2018-03-20 15:44:13 +01:00 |
|