Bartosz Taudul
21bebc1695
Display lock subzone time.
2017-10-05 23:57:27 +02:00
Bartosz Taudul
b965a1c936
Show which threads are blocking/blocked.
2017-10-05 23:47:51 +02:00
Bartosz Taudul
182f6533f3
Fix detection of blocking lock before viewport start.
2017-10-05 23:40:08 +02:00
Bartosz Taudul
e572c655c1
Add tooltips for locks.
2017-10-05 23:35:21 +02:00
Bartosz Taudul
efb7f0a31c
Show blocking locks.
...
A blocking lock is when a thread has lock, but other thread is waiting
for that lock.
2017-10-05 23:25:25 +02:00
Bartosz Taudul
9689d8014f
Proper lock visualization.
2017-10-05 23:18:24 +02:00
Bartosz Taudul
78067eb35e
Calculate lock wait counts.
2017-10-05 14:02:08 +02:00
Bartosz Taudul
2582f04977
Remove code leftovers.
2017-10-05 12:52:57 +02:00
Bartosz Taudul
4accd9ae8f
There can be many locks with the same name, print id.
2017-10-05 02:46:35 +02:00
Bartosz Taudul
956bcb9b17
Save lock source location.
2017-10-04 21:38:25 +02:00
Bartosz Taudul
d93c4bc271
Very crude drawing of lock events.
2017-10-04 21:27:06 +02:00
Bartosz Taudul
486f0999a7
Save/load lock events.
2017-10-04 20:10:54 +02:00
Bartosz Taudul
87ae5eccde
No need for id in LockMap.
2017-10-04 20:10:54 +02:00
Bartosz Taudul
a99fc01707
Store which threads access any given lock.
2017-10-04 19:57:06 +02:00
Bartosz Taudul
4c8e9f7d5d
Track number of held locks.
2017-10-04 19:42:44 +02:00
Bartosz Taudul
39bb9a3ad1
Insert lock events into timeline.
2017-10-04 19:24:24 +02:00
Bartosz Taudul
9904ebb4b6
Lock time correction.
2017-10-04 19:24:06 +02:00
Bartosz Taudul
54735bacea
Lock events dispatch.
2017-10-04 18:51:50 +02:00
Bartosz Taudul
110e5971d1
Store pending lock events, if lock was not yet announced.
2017-10-04 18:32:53 +02:00
Bartosz Taudul
c2bccf7126
Move towards proper data structures.
2017-10-04 18:32:53 +02:00
Bartosz Taudul
4fad4be816
Pack event structures.
2017-10-04 18:12:11 +02:00
Bartosz Taudul
8c90eab044
Let's not worry about lock memory reuse.
2017-10-04 16:51:51 +02:00
Bartosz Taudul
0011573fa9
Send lock events.
2017-10-04 16:45:46 +02:00
Bartosz Taudul
78f8425dc7
Announce lock creation.
2017-10-04 16:16:40 +02:00
Bartosz Taudul
ff21b74e7a
Add missing locks.
2017-10-04 16:07:20 +02:00
Bartosz Taudul
2f14704143
Save and load capture name.
2017-10-03 23:29:48 +02:00
Bartosz Taudul
b2252de9c8
Send and display program execution date.
2017-10-03 23:26:41 +02:00
Bartosz Taudul
7526ac83b5
Display program name in profiler window title.
2017-10-03 23:18:07 +02:00
Bartosz Taudul
d1edd30ca6
Zone ids are unnecessary.
2017-10-03 16:41:32 +02:00
Bartosz Taudul
3fcf39ec58
More dead code removal.
2017-10-03 16:26:58 +02:00
Bartosz Taudul
e61e2718cb
Remove dead timeline reconstruction code.
...
Queue items from a single producer are always FIFO. There's no need to
account for an impossible use case.
2017-10-03 15:53:49 +02:00
Bartosz Taudul
f74a313d12
Fix thread spacing.
2017-10-01 20:37:35 +02:00
Bartosz Taudul
621b6a8c49
Don't clip text vertically.
2017-10-01 20:16:02 +02:00
Bartosz Taudul
65e89e6e80
Fix collapsed zones height.
2017-10-01 20:00:53 +02:00
Bartosz Taudul
4227d34599
Indicate zones with thread migration across CPU cores.
2017-10-01 19:58:53 +02:00
Bartosz Taudul
dc72010bd5
Increase separation of zones.
2017-10-01 19:47:22 +02:00
Bartosz Taudul
35562ed6e2
Make zone highlight color a derivative of zone color.
2017-10-01 19:38:45 +02:00
Bartosz Taudul
79073383b4
No transparency in zone colors.
2017-10-01 19:32:20 +02:00
Bartosz Taudul
7365461ef4
Add function to get zone color.
2017-10-01 19:31:22 +02:00
Bartosz Taudul
3dc4fc4796
Display CPU id in zone tooltips.
2017-10-01 19:21:25 +02:00
Bartosz Taudul
91fd171b60
Store CPU id in zones.
2017-10-01 19:17:29 +02:00
Bartosz Taudul
777e499f76
Missing includes.
2017-10-01 02:23:30 +02:00
Bartosz Taudul
7e0eac78e1
Fast read path.
2017-10-01 01:59:07 +02:00
Bartosz Taudul
8f862b3271
Reserve memory for loaded data.
2017-10-01 01:54:40 +02:00
Bartosz Taudul
a96f58c3de
Implement resize() in tracy::Vector.
2017-10-01 01:51:29 +02:00
Bartosz Taudul
a8b41faaf4
Compress saved traces using LZ4.
2017-09-30 19:25:24 +02:00
Bartosz Taudul
616f501a97
Set nullptrs where necessary.
2017-09-30 19:21:51 +02:00
Bartosz Taudul
ddf2453cca
Buffer reads.
2017-09-30 18:43:57 +02:00
Bartosz Taudul
1c29367a54
Buffer writes.
2017-09-30 18:43:56 +02:00
Bartosz Taudul
fc8cd12088
Do not copy string map (DOH!).
2017-09-30 17:09:00 +02:00
Bartosz Taudul
f387a16e61
Count read zones.
2017-09-30 16:59:03 +02:00
Bartosz Taudul
06949e2f99
Reading saved trace.
2017-09-30 16:58:02 +02:00
Bartosz Taudul
f9ee2b853c
Writing traces.
2017-09-30 16:20:08 +02:00
Bartosz Taudul
2021b7460a
Add file wrappers.
2017-09-30 16:19:50 +02:00
Bartosz Taudul
e2cd3106ae
Add direct data accessor to tracy::Vector.
2017-09-30 16:18:06 +02:00
Bartosz Taudul
e4c5e5c097
Save trace file selector.
2017-09-30 14:56:23 +02:00
Bartosz Taudul
0de755124d
Small cleanup.
2017-09-30 14:56:23 +02:00
Bartosz Taudul
d7bd8885fe
Make zone highlight more visible.
2017-09-30 13:45:02 +02:00
Bartosz Taudul
077585ba4d
Allow switching to zone parent.
2017-09-30 13:41:03 +02:00
Bartosz Taudul
e6a32c1af5
Add zoom-to-frame.
2017-09-29 23:08:10 +02:00
Bartosz Taudul
dd0c283a3b
More condensed child zone time graph.
2017-09-29 22:59:11 +02:00
Bartosz Taudul
9864ef70c9
Show child zone info popups.
2017-09-29 22:57:22 +02:00
Bartosz Taudul
852e163b72
Use correct variable.
2017-09-29 22:56:12 +02:00
Bartosz Taudul
3ac65a7524
Separate tooltip showing function.
2017-09-29 22:55:24 +02:00
Bartosz Taudul
5dc5500065
Display child zone times graphically.
2017-09-29 22:50:25 +02:00
Bartosz Taudul
366da56d99
Add interaction with displayed child nodes.
2017-09-29 22:40:49 +02:00
Bartosz Taudul
2c0d4d2817
Display child zone times.
2017-09-29 22:40:45 +02:00
Bartosz Taudul
1cd86cb30f
Display exclusive zone time.
2017-09-29 22:13:22 +02:00
Bartosz Taudul
d4d28e841a
Display basic timing info.
2017-09-29 22:06:31 +02:00
Bartosz Taudul
fb80ac9488
Allow zooming to zone from zone info window.
2017-09-29 22:01:30 +02:00
Bartosz Taudul
b386e51edc
Highlight selected zone.
2017-09-29 21:57:00 +02:00
Bartosz Taudul
c5f6ca9656
Add basic zone info window.
2017-09-29 21:49:14 +02:00
Bartosz Taudul
a8c219dd88
Display number of collapsed zones.
2017-09-29 19:13:53 +02:00
Bartosz Taudul
23c71116e3
Draw timer resolution uncertainty.
2017-09-29 18:55:21 +02:00
Bartosz Taudul
7a992517e1
Print queue delay and timer resolution.
2017-09-29 18:46:08 +02:00
Bartosz Taudul
3f9143d491
Double the TimeToString buffer pool.
2017-09-29 18:44:42 +02:00
Bartosz Taudul
28912ca2e6
Display delay caused by zone name and zone text events.
2017-09-29 18:40:55 +02:00
Bartosz Taudul
efda50acb1
Send timer resolution to server.
2017-09-29 18:32:07 +02:00
Bartosz Taudul
b9aa10913a
Rename internal enum to avoid #define conflicts.
2017-09-28 21:20:33 +02:00
Bartosz Taudul
599a9be37c
Try to conserve as much memory as possible.
2017-09-28 21:08:36 +02:00
Bartosz Taudul
8ecb5de062
Store pointers to ThreadData.
...
This prevents moves of Vector<>.
2017-09-28 21:05:51 +02:00
Bartosz Taudul
556e085f2c
memcpy source can't be null.
2017-09-28 20:47:57 +02:00
Bartosz Taudul
608cb912a1
Enable custom vector.
2017-09-28 20:20:10 +02:00
Bartosz Taudul
2161c23eee
Display custom zone names.
2017-09-28 19:31:27 +02:00
Bartosz Taudul
8c1c395cec
Allow sending custom zone names.
2017-09-28 19:28:24 +02:00
Bartosz Taudul
91e6210e34
Store zone text data in a separate structure.
2017-09-28 19:06:39 +02:00
Bartosz Taudul
7f865f3517
Use common function to send server query.
2017-09-27 02:44:16 +02:00
Bartosz Taudul
e683a59360
Use color to display custom zone text.
2017-09-27 02:40:24 +02:00
Bartosz Taudul
c2926f2a0d
Store custom strings as const char*, not std::string.
...
It would seem that std::string is not moved, but copied, thus
invalidating the pointer.
2017-09-27 02:36:14 +02:00
Bartosz Taudul
537542f682
Add character utilities.
2017-09-27 02:35:59 +02:00
Bartosz Taudul
d65d957272
Display zone text.
2017-09-27 02:21:51 +02:00
Bartosz Taudul
d1bbb731fc
Zone text (custom string) transfer.
2017-09-27 02:18:17 +02:00
Bartosz Taudul
ffa5930a23
Don't draw frame separator lines, if too close together.
2017-09-26 22:17:10 +02:00
Bartosz Taudul
1fa778891c
Allow zooming to collapsed zones.
2017-09-26 22:08:58 +02:00
Bartosz Taudul
6cf1ebec04
Pause zone view after zooming to zone.
2017-09-26 22:08:31 +02:00
Bartosz Taudul
8ad7ba1dd0
Middle click to zoom to zone.
2017-09-26 21:49:50 +02:00
Bartosz Taudul
e90a86e06e
Store zone color in source location struct.
2017-09-26 18:54:48 +02:00
Bartosz Taudul
7424077d70
Store source location in a single object.
...
Source file, function name and line number are now stored in a const
static container object. This has the following benefits:
- Slightly lighter profiling workload (3 instructions less).
- Profiling queue event size is significantly reduced, by 12 bytes. This
has an effect on all queue event types.
- Source location grouping has now no cost, as it's performed at the
compilation stage. This allows simplification of server code.
The downside is that the full source location resolution is now
performed in two steps, as the server has to query both source location
container and strings contained within. This has almost no real impact
on profiler operation.
2017-09-26 02:39:08 +02:00
Bartosz Taudul
9cb12a05b3
Silence warning.
2017-09-26 02:38:07 +02:00
Bartosz Taudul
11a790a18f
Offload TSC -> time conversion to server.
2017-09-26 00:13:24 +02:00