Commit Graph

223 Commits

Author SHA1 Message Date
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
8f862b3271 Reserve memory for loaded data. 2017-10-01 01:54:40 +02:00
Bartosz Taudul
616f501a97 Set nullptrs where necessary. 2017-09-30 19:21:51 +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
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
8ecb5de062 Store pointers to ThreadData.
This prevents moves of Vector<>.
2017-09-28 21:05:51 +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
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
Bartosz Taudul
27e1952cc5 Display total zone count. 2017-09-25 23:38:49 +02:00
Bartosz Taudul
d797099076 Don't merge zones of different color. 2017-09-25 23:17:33 +02:00
Bartosz Taudul
fb970170e0 Increase zone zoom in/out speed. 2017-09-25 23:15:00 +02:00
Bartosz Taudul
b33b9fd4ed Do not draw test window. 2017-09-25 22:54:54 +02:00
Bartosz Taudul
519cb8dff3 Allow adding custom colors to zones. 2017-09-25 22:46:14 +02:00
Bartosz Taudul
93fc85a639 Try to always display zone text. 2017-09-25 22:05:13 +02:00
Bartosz Taudul
0d24a2739d Missed one valid case. 2017-09-25 01:52:42 +02:00
Bartosz Taudul
71b6e81500 Don't reverse item order. 2017-09-25 01:37:03 +02:00
Bartosz Taudul
3aeea69eba No dragons here. 2017-09-25 01:31:54 +02:00
Bartosz Taudul
192493a2c3 Store proper children in edge-case code. 2017-09-25 01:20:22 +02:00
Bartosz Taudul
d427e937d3 Zone can begin right after another one.
This happens when the timer has not enough precision.
2017-09-24 23:52:08 +02:00
Bartosz Taudul
61b7496cef Display number of collapsed small zones. 2017-09-24 16:56:57 +02:00
Bartosz Taudul
a835e0f121 Display execution time minus profiling delay. 2017-09-24 16:45:22 +02:00
Bartosz Taudul
29d5b8d4e9 Support formatting of negative time. 2017-09-24 16:45:08 +02:00
Bartosz Taudul
36ffaec1df Display profiling delay on zone chart. 2017-09-24 16:40:16 +02:00
Bartosz Taudul
86b1e4fd64 Group small zones together. 2017-09-24 16:25:07 +02:00
Bartosz Taudul
7683da5f74 Send initial configuration as a single message. 2017-09-24 16:10:28 +02:00
Bartosz Taudul
9a46cbeb84 Clamp rect coordinates to prevent bad rendering. 2017-09-24 03:44:52 +02:00
Bartosz Taudul
d98e08b37a Implement zone update code. 2017-09-24 03:39:30 +02:00
Bartosz Taudul
6419cd5062 Parent vector retrieval. 2017-09-24 03:39:29 +02:00
Bartosz Taudul
1005fa0c91 Implement rest of zone insertion code. 2017-09-24 03:29:48 +02:00
Bartosz Taudul
060cd90c81 Draw nested zones. 2017-09-24 00:12:26 +02:00
Bartosz Taudul
c9a982360f Move drawing of a single zone line to a separate function. 2017-09-24 00:07:06 +02:00
Bartosz Taudul
73df330dd5 Recursive, incomplete zone insertion into timeline. 2017-09-23 23:59:56 +02:00
Bartosz Taudul
a68b0921b1 Add parent pointer to Event. 2017-09-23 15:41:26 +02:00
Bartosz Taudul
cdab2297ef Non-recursive version of GetZoneEnd. 2017-09-23 15:41:10 +02:00
Bartosz Taudul
3d6e85db4a Take children into account when determining zone end. 2017-09-23 15:39:39 +02:00
Bartosz Taudul
3f765002c1 Proper drawing of zones without valid end time. 2017-09-23 14:51:30 +02:00
Bartosz Taudul
84cb8ab9cc Properly track events if there are no frame marks. 2017-09-23 14:45:38 +02:00
Bartosz Taudul
7ffa987857 Fix last time retrieval. 2017-09-23 14:43:05 +02:00
Bartosz Taudul
a41db80ff2 Separate thread names from zones in zone view. 2017-09-23 01:29:27 +02:00
Bartosz Taudul
1116ef33c5 No emplace_back in custom vector. 2017-09-23 01:11:06 +02:00
Bartosz Taudul
34aecee1f9 Zone span selection in frame view. 2017-09-23 00:46:15 +02:00
Bartosz Taudul
5ba0fa8617 Text string is not a format string. 2017-09-22 22:23:06 +02:00
Bartosz Taudul
081e9eed7d Explicitly specify type. 2017-09-22 22:16:18 +02:00
Bartosz Taudul
7d5ed99f0f Use proper type in printf. 2017-09-22 22:16:18 +02:00
Bartosz Taudul
21fd14397d Accumulate drag offset if time delta is less than 1 ns. 2017-09-22 21:39:14 +02:00
Bartosz Taudul
7b3a0057ca Fix double precision issues. 2017-09-22 21:35:06 +02:00
Bartosz Taudul
8d67d59ff3 Remove unused enum. 2017-09-22 21:15:57 +02:00
Bartosz Taudul
3ea18dcbfd Always display threads in their original appearance order. 2017-09-22 02:02:43 +02:00
Bartosz Taudul
3141d17988 Temporary display of thread name. 2017-09-22 01:59:44 +02:00
Bartosz Taudul
2610004fa5 Store thread id in thread data. 2017-09-22 01:59:44 +02:00
Bartosz Taudul
6525e1b3c1 Thread name queries. 2017-09-22 01:59:44 +02:00
Bartosz Taudul
70ad3407c0 Rework client handling of server requests. 2017-09-22 01:54:04 +02:00
Bartosz Taudul
3032745cce Thread names boilerplate. 2017-09-22 01:30:57 +02:00
Bartosz Taudul
d610b9d1a2 Fix typo. 2017-09-22 01:30:43 +02:00
Bartosz Taudul
55fdc47418 Each thread has its own timeline. 2017-09-22 01:15:58 +02:00
Bartosz Taudul
8a30e1c937 Properly clip function names in zones. 2017-09-21 22:12:19 +02:00
Bartosz Taudul
e3f85d6d74 Display zone source location data. 2017-09-21 22:01:18 +02:00
Bartosz Taudul
5065743bf0 Store zone source location. 2017-09-21 21:57:40 +02:00