Bartosz Taudul
d9e97ce772
Add postponed ghost zones when frame data becomes available.
2020-05-31 14:31:39 +02:00
Bartosz Taudul
1154343a20
Don't add ghost zones if full callstack data isn't available.
2020-05-31 14:17:54 +02:00
Bartosz Taudul
de5f8df9d3
UpdateSampleStatistics() returns if all samples were processed.
...
This effectively is a check if all frames in a callstack are available.
2020-05-31 14:05:16 +02:00
Bartosz Taudul
7ceb4005cd
Don't use alloca in inlined functions inside a loop.
2020-05-24 16:17:54 +02:00
Bartosz Taudul
2b304581cf
Implement transfer of integral values for zones.
2020-05-24 16:13:09 +02:00
Bartosz Taudul
2f35c785ee
Save/load cached source files.
2020-05-23 15:44:19 +02:00
Bartosz Taudul
d470202bca
Cached source files accessor.
2020-05-23 15:44:19 +02:00
Bartosz Taudul
97a5957adc
Display source file cache stats.
2020-05-23 15:44:19 +02:00
Bartosz Taudul
ae1155852a
Source file cache plumbing.
2020-05-23 15:44:18 +02:00
Bartosz Taudul
f38464cf55
Rename SymbolCodeData to MemoryBlock.
2020-05-23 14:54:16 +02:00
Bartosz Taudul
670a292416
Report whether string is available, or if a query was dispatched.
2020-05-23 13:08:57 +02:00
Bartosz Taudul
8e11cd5ebb
Add support for custom text in ImportEventTimeline.
2020-05-12 11:44:36 +02:00
Bartosz Taudul
e9f93f5bc7
Send lean frame images.
2020-05-10 20:16:08 +02:00
Bartosz Taudul
03b5dfacd6
Send lean callstack samples.
2020-05-10 20:00:51 +02:00
Bartosz Taudul
09388f3c99
Send lean callstack allocs.
2020-05-10 19:56:36 +02:00
Bartosz Taudul
5a774c82cc
Send lean callstacks.
2020-05-10 19:43:12 +02:00
Bartosz Taudul
f0ade07be8
Send lean memory callstacks.
2020-05-10 19:28:08 +02:00
Bartosz Taudul
2dc07fca0b
Send lean allocated source locations.
2020-05-10 19:20:59 +02:00
Bartosz Taudul
2f8e817e16
Make PackPointer() part of worker's interface.
2020-05-10 16:56:13 +02:00
Bartosz Taudul
eab3adfa1d
Display CPU info.
2020-05-06 19:18:17 +02:00
Bartosz Taudul
6fda74e281
Save/load cpu id.
2020-05-06 19:18:17 +02:00
Bartosz Taudul
b74caae685
Handle ending a zone twice.
2020-04-30 19:05:13 +02:00
Bartosz Taudul
8fa0a4dc9e
Update mbps data block after terminating connection.
2020-04-29 02:36:38 +02:00
Bartosz Taudul
02e1a7669c
Add offset-less GetSymbolForAddress().
2020-04-08 16:55:49 +02:00
Bartosz Taudul
f59f4f266e
Add inline symbols list accessor.
2020-04-08 15:34:14 +02:00
Bartosz Taudul
1da1d31e1c
Store list of inline symbols.
2020-04-08 12:44:12 +02:00
Bartosz Taudul
2b8cf5d132
Add addressess accessor.
2020-04-02 02:17:22 +02:00
Bartosz Taudul
e7f4f58886
StringIdx search from string.
2020-04-02 02:08:00 +02:00
Bartosz Taudul
387fdb30b0
Map source location to assembly instructions.
2020-04-02 02:01:58 +02:00
Bartosz Taudul
d204742bb8
Accessor for getting source file, line from address.
2020-04-02 00:31:53 +02:00
Bartosz Taudul
c8d1f4d3d6
Add code locations size accessor.
2020-04-01 22:38:47 +02:00
Bartosz Taudul
0ec89e9aae
Store code address -> source file+line mapping.
2020-04-01 22:37:19 +02:00
Bartosz Taudul
30771bf7cb
Gather failure data before terminating connection.
2020-03-29 23:01:57 +02:00
Bartosz Taudul
48e4d33bea
Support call stacks longer than 255 entries.
2020-03-28 18:04:33 +01:00
Bartosz Taudul
992f4c8c2d
Implement search for symbol base from address.
2020-03-27 17:39:42 +01:00
Bartosz Taudul
4c381e13e9
Store list of symbol locations.
2020-03-27 17:34:51 +01:00
Bartosz Taudul
51bae7855d
Display number of in-flight queries.
2020-03-27 02:00:26 +01:00
Bartosz Taudul
79db7f4457
Add symbol code accessor.
2020-03-25 22:15:22 +01:00
Bartosz Taudul
53d0b91f26
CPU architecture accessor.
2020-03-25 22:12:18 +01:00
Bartosz Taudul
39da6c7c19
Store CPU architecture.
2020-03-25 21:48:24 +01:00
Bartosz Taudul
033433b883
Save/load symbol code.
2020-03-25 20:52:59 +01:00
Bartosz Taudul
582e46005e
Display symbols code size.
2020-03-25 20:08:39 +01:00
Bartosz Taudul
f114ec3f80
Add code transfer from client to server.
2020-03-25 20:04:55 +01:00
Bartosz Taudul
3e0e120222
Add extra parameter to server queries.
2020-03-25 20:04:01 +01:00
Bartosz Taudul
c999a74d34
Symbol length transfer.
2020-03-25 18:32:36 +01:00
Bartosz Taudul
c603eaa1b6
Add symbol instruction pointers map accessor.
2020-03-25 01:08:29 +01:00
Bartosz Taudul
4068ab30e8
Build sampled instruction pointers map for symbols.
2020-03-24 23:54:30 +01:00
Bartosz Taudul
92e2597192
Fix ghost children times.
2020-03-19 00:35:18 +01:00
Bartosz Taudul
ac84e77333
Ghost zones display prototype.
2020-03-19 00:35:18 +01:00
Bartosz Taudul
adb45ed5df
Allow checking if ghost zones are ready.
2020-03-17 00:16:39 +01:00
Bartosz Taudul
b89874850f
Pack frame identifiers in ghost zones.
2020-03-16 23:05:07 +01:00
Bartosz Taudul
452341059b
Build ghost zones tree.
2020-03-16 23:05:06 +01:00
Bartosz Taudul
b8cc3f59d6
Count number of input and compressed frame image bytes.
2020-03-14 14:35:57 +01:00
Bartosz Taudul
e7240cb77d
Custom lock name transfer.
2020-03-08 13:47:38 +01:00
Bartosz Taudul
d25614d50f
Allow address/port retrieval from View.
2020-03-06 22:11:00 +01:00
Bartosz Taudul
aa0bf47ec3
Extract texture compression functionality.
2020-03-02 02:00:35 +01:00
Bartosz Taudul
d1ff99d6e3
Callstack frame map must not be touched by statistics.
2020-02-29 19:49:33 +01:00
Bartosz Taudul
8d5755521e
Fix no statistics build.
2020-02-29 19:31:51 +01:00
Bartosz Taudul
39361f71a1
Allow GetSymbolStats() to fail gracefully.
2020-02-29 18:59:01 +01:00
Bartosz Taudul
2589b45af0
Add accessors for new data.
2020-02-29 18:39:45 +01:00
Bartosz Taudul
90f5ae536c
Display count of parent call stacks and frames.
2020-02-29 16:32:33 +01:00
Bartosz Taudul
6cc4de8d28
Construct parent call stacks for sampled stack traces.
2020-02-29 16:24:15 +01:00
Bartosz Taudul
bdc86f5338
Process postponed samples when new frame data is available.
2020-02-29 14:12:04 +01:00
Bartosz Taudul
3412d2232f
Postpone processing incomplete sampled callstacks.
2020-02-29 13:45:50 +01:00
Bartosz Taudul
c5e8739435
Live update of sample statistics data.
2020-02-27 16:48:50 +01:00
Bartosz Taudul
8aa70211c0
Display inline functions.
2020-02-27 15:28:58 +01:00
Bartosz Taudul
7dd929a39e
Preserve symbol call location.
2020-02-27 15:07:29 +01:00
Bartosz Taudul
be5793987e
Don't send symbol name.
2020-02-27 12:49:48 +01:00
Bartosz Taudul
9d718eb1e8
Preserve inlined symbol names.
2020-02-27 12:39:05 +01:00
Bartosz Taudul
27466fc56b
Add callstack sampling statistics.
2020-02-27 02:08:20 +01:00
Bartosz Taudul
852e37c8dd
Calculate callstack sample data on trace load.
2020-02-27 01:22:36 +01:00
Bartosz Taudul
8288f7c6b7
No need to pack ZoneThreadData.
2020-02-27 01:00:41 +01:00
Bartosz Taudul
c99537c402
Provide default value for sourceLocationZonesReady.
2020-02-27 00:26:58 +01:00
Bartosz Taudul
75312c7bb6
Display count of symbols.
2020-02-26 23:02:39 +01:00
Bartosz Taudul
847069a59d
Expose symbol source location data.
2020-02-26 22:46:02 +01:00
Bartosz Taudul
26cee8acf0
Perform symbol information queries.
2020-02-26 22:35:15 +01:00
Bartosz Taudul
af58649113
Store symbol addresses.
2020-02-25 23:42:59 +01:00
Bartosz Taudul
ca894be51d
Store sampling period on server.
2020-02-25 23:13:28 +01:00
Bartosz Taudul
4273939cf5
Local threads must have at least one zone captured.
2020-02-22 18:52:38 +01:00
Bartosz Taudul
597911e5a8
Save/load callstack samples.
2020-02-22 18:52:38 +01:00
Bartosz Taudul
ca39c9877e
Display number of callstack samples.
2020-02-22 18:52:37 +01:00
Bartosz Taudul
437771ea85
Process callstack sample data.
2020-02-22 18:52:37 +01:00
Bartosz Taudul
ecc9369da2
Return zone extra during allocation.
2020-02-20 23:39:40 +01:00
Bartosz Taudul
4bf0af321f
Wrapper for allocation and retrieval of zone extra.
2020-02-20 23:37:55 +01:00
Bartosz Taudul
8e825d91e0
Keep refTime in a register.
2020-02-12 20:59:36 +01:00
Bartosz Taudul
e88df069bd
Load zone child number along with zone data.
2020-02-12 02:14:21 +01:00
Bartosz Taudul
53e5eb749d
Compress frame images using zstd.
...
Memory usage and trace load times:
!comp 587 MB, 439 ms -> 541 MB, 523 ms (92%, 119%)
android-vk 197 MB, 136 ms -> 188 MB, 178 ms (95%, 130%)
big2 4463 MB, 2.93 s -> 4198 MB, 3.65 s (94%, 124%)
fi 483 MB, 346 ms -> 416 MB, 409 ms (86%, 118%)
fi-big 3307 MB, 3.15 s -> 2985 MB, 3.53 s (90%, 112%)
large 19.74 GB, 10.05 s -> 19.28 GB, 11.16 s (97%, 110%)
2020-02-09 21:22:12 +01:00
Bartosz Taudul
7425cd7112
Also display non-user plot data count.
2020-02-05 23:41:53 +01:00
Bartosz Taudul
022528bb47
Use Martin Ankerl's robin hood unordered map.
...
ska::flat_hash_map has bugs and its development is dead.
2020-01-28 21:49:36 +01:00
Bartosz Taudul
1915a9e5f6
Display extra zone data count.
2020-01-26 17:28:37 +01:00
Bartosz Taudul
3e45e4abd9
Store zone children counts as uint32, not uint64.
...
This, along with the previous change has the following effect on trace
file sizes:
old/0.tracy (0.6.2) {6512 KB} -> new/0.tracy (0.6.3) {6518 KB} 100.10% size change
old/android.tracy (0.6.2) {488901 KB} -> new/android.tracy (0.6.3) {489710 KB} 100.17% size change
old/android-vk.tracy (0.6.2) {78049 KB} -> new/android-vk.tracy (0.6.3) {76570 KB} 98.10% size change
old/asset-new.tracy (0.6.2) {74224 KB} -> new/asset-new.tracy (0.6.3) {74181 KB} 99.94% size change
old/asset-new-id.tracy (0.6.2) {79900 KB} -> new/asset-new-id.tracy (0.6.3) {79875 KB} 99.97% size change
old/asset-old.tracy (0.6.2) {76245 KB} -> new/asset-old.tracy (0.6.3) {76420 KB} 100.23% size change
old/big.tracy (0.6.2) {922594 KB} -> new/big.tracy (0.6.3) {860068 KB} 93.22% size change
old/big2.tracy (0.6.2) {2028646 KB} -> new/big2.tracy (0.6.3) {1990121 KB} 98.10% size change
old/callstack.tracy (0.6.2) {14343 KB} -> new/callstack.tracy (0.6.3) {17707 KB} 123.45% size change
old/callstack-bsd.tracy (0.6.2) {14551 KB} -> new/callstack-bsd.tracy (0.6.3) {12652 KB} 86.94% size change
old/callstack-linux.tracy (0.6.2) {6953 KB} -> new/callstack-linux.tracy (0.6.3) {7012 KB} 100.86% size change
old/callstack-lua.tracy (0.6.2) {20439 KB} -> new/callstack-lua.tracy (0.6.3) {25889 KB} 126.66% size change
old/chicken.tracy (0.6.2) {311549 KB} -> new/chicken.tracy (0.6.3) {293828 KB} 94.31% size change
old/color.tracy (0.6.2) {865 KB} -> new/color.tracy (0.6.3) {866 KB} 100.13% size change
old/crash.tracy (0.6.2) {130 KB} -> new/crash.tracy (0.6.3) {130 KB} 99.85% size change
old/crash2.tracy (0.6.2) {1403 KB} -> new/crash2.tracy (0.6.3) {1327 KB} 94.56% size change
old/ctx.tracy (0.6.2) {3207 KB} -> new/ctx.tracy (0.6.3) {3203 KB} 99.89% size change
old/ctx-android.tracy (0.6.2) {88240 KB} -> new/ctx-android.tracy (0.6.3) {86209 KB} 97.70% size change
old/ctx-big.tracy (0.6.2) {88702 KB} -> new/ctx-big.tracy (0.6.3) {87038 KB} 98.12% size change
old/darkrl.tracy (0.6.2) {15458 KB} -> new/darkrl.tracy (0.6.3) {14560 KB} 94.19% size change
old/darkrl2.tracy (0.6.2) {7824 KB} -> new/darkrl2.tracy (0.6.3) {7435 KB} 95.02% size change
old/darkrl-light-big.tracy (0.6.2) {259652 KB} -> new/darkrl-light-big.tracy (0.6.3) {234625 KB} 90.36% size change
old/darkrl-old.tracy (0.6.2) {66299 KB} -> new/darkrl-old.tracy (0.6.3) {61883 KB} 93.34% size change
old/dxtc-bad.tracy (0.6.2) {7078 KB} -> new/dxtc-bad.tracy (0.6.3) {7048 KB} 99.57% size change
old/frameimages.tracy (0.6.2) {206425 KB} -> new/frameimages.tracy (0.6.3) {203537 KB} 98.60% size change
old/frameimages-big.tracy (0.6.2) {1177638 KB} -> new/frameimages-big.tracy (0.6.3) {1150496 KB} 97.70% size change
old/gn-opengl.tracy (0.6.2) {28587 KB} -> new/gn-opengl.tracy (0.6.3) {27355 KB} 95.69% size change
old/gn-vulkan.tracy (0.6.2) {28553 KB} -> new/gn-vulkan.tracy (0.6.3) {27050 KB} 94.74% size change
old/long.tracy (0.6.2) {1152078 KB} -> new/long.tracy (0.6.3) {1124731 KB} 97.63% size change
old/mem.tracy (0.6.2) {1187810 KB} -> new/mem.tracy (0.6.3) {1187668 KB} 99.99% size change
old/messages-callstack.tracy (0.6.2) {8743 KB} -> new/messages-callstack.tracy (0.6.3) {8608 KB} 98.46% size change
old/multi.tracy (0.6.2) {7735 KB} -> new/multi.tracy (0.6.3) {7304 KB} 94.43% size change
old/new.tracy (0.6.2) {1101 KB} -> new/new.tracy (0.6.3) {1076 KB} 97.79% size change
old/q3bsp-mt.tracy (0.6.2) {912230 KB} -> new/q3bsp-mt.tracy (0.6.3) {849329 KB} 93.10% size change
old/q3bsp-st.tracy (0.6.2) {227162 KB} -> new/q3bsp-st.tracy (0.6.3) {221594 KB} 97.55% size change
old/raytracer.tracy (0.6.2) {1105411 KB} -> new/raytracer.tracy (0.6.3) {977307 KB} 88.41% size change
old/selfprofile.tracy (0.6.2) {196894 KB} -> new/selfprofile.tracy (0.6.3) {184351 KB} 93.63% size change
old/tbrowser.tracy (0.6.2) {8776 KB} -> new/tbrowser.tracy (0.6.3) {7997 KB} 91.13% size change
old/test.tracy (0.6.2) {40498 KB} -> new/test.tracy (0.6.3) {39751 KB} 98.15% size change
old/topology.tracy (0.6.2) {3733 KB} -> new/topology.tracy (0.6.3) {3739 KB} 100.16% size change
old/topology-android.tracy (0.6.2) {5292 KB} -> new/topology-android.tracy (0.6.3) {5177 KB} 97.82% size change
old/tracy-dynamic.tracy (0.6.2) {672684 KB} -> new/tracy-dynamic.tracy (0.6.3) {608221 KB} 90.42% size change
old/tracy-static.tracy (0.6.2) {2310589 KB} -> new/tracy-static.tracy (0.6.3) {2136791 KB} 92.48% size change
old/virtualfile_hc.tracy (0.6.2) {72169 KB} -> new/virtualfile_hc.tracy (0.6.3) {72142 KB} 99.96% size change
old/vk-mt.tracy (0.6.2) {10815 KB} -> new/vk-mt.tracy (0.6.3) {10714 KB} 99.07% size change
old/zfile_hc.tracy (0.6.2) {39065 KB} -> new/zfile_hc.tracy (0.6.3) {39063 KB} 100.00% size change
2020-01-26 17:16:46 +01:00
Bartosz Taudul
f2a226407f
Store extra zone data separately.
...
Extra zone data consists of:
- custom zone name,
- zone text,
- zone callstack index.
If neither of these data values is stored in zone, 5 bytes are saved. If
any one of them is required, extra 4 bytes are added, for an index into
extra data array.
Memory savings:
android 2371 MB -> 2324 MB
big 7593 MB -> 6747 MB
chicken 1687 MB -> 1501 MB
drl-l-b 1119 MB -> 1013 MB
long 4289 MB -> 4190 MB
q3bsp-mt 4399 MB -> 3918 MB
q3bsp-st 1067 MB -> 1027 MB
raytracer 6057 MB -> 5342 MB
selfprofile 1177 MB -> 1079 MB
tracy-dynamic 4489 MB -> 4013 MB
tracy-static 16.2 GB -> 14.3 GB
2020-01-26 16:19:07 +01:00
Bartosz Taudul
23601904cd
Replace one more end validity check.
2020-01-23 18:50:13 +01:00
Bartosz Taudul
0137404449
Invalid source location should be 0, not UINT16_MAX (?).
2019-12-16 19:11:23 +01:00
Bartosz Taudul
ced47f227c
Add "import data" constructor to Worker.
2019-12-16 18:55:02 +01:00
Bartosz Taudul
db3e802643
Build reverse CPU topology map.
2019-11-29 22:46:57 +01:00
Bartosz Taudul
712403e9fd
Transfer, display, save CPU topology data.
2019-11-29 22:41:41 +01:00
Bartosz Taudul
4551553eb4
Implement setting client parameters from server.
2019-11-25 23:59:48 +01:00
Bartosz Taudul
fb6a92380d
Drop support for pre-v0.5 traces.
2019-11-21 21:48:35 +01:00
Bartosz Taudul
49945c7198
Process message callstacks.
2019-11-15 01:22:26 +01:00