Commit Graph

1609 Commits

Author SHA1 Message Date
Bartosz Taudul
4f5286a860 Add unformatted colored text extension function. 2019-06-03 01:35:53 +02:00
Bartosz Taudul
ff6768986e Move imgui extension function to an appropriate place. 2019-06-03 01:35:32 +02:00
Bartosz Taudul
c433e76c7a Use TextUnformatted in TextCentered. 2019-06-03 01:28:45 +02:00
Bartosz Taudul
42fefde161 Protect against plot range equal zero. 2019-06-03 01:19:01 +02:00
Bartosz Taudul
79215ea73e Implement linked selection in compare menu. 2019-06-02 15:40:19 +02:00
Bartosz Taudul
c05766e637 Display notification about worker background tasks. 2019-06-02 15:00:50 +02:00
Bartosz Taudul
5681096486 Track status of worker background tasks. 2019-06-02 15:00:38 +02:00
Bartosz Taudul
96b1df67b9 Get proper yMin, yMax values. 2019-06-02 13:58:30 +02:00
Bartosz Taudul
9bbaab8897 Draw on a correct window. 2019-06-02 13:40:35 +02:00
Bartosz Taudul
3a561b4eed Save thread state should be atomic. 2019-06-02 13:15:55 +02:00
Bartosz Taudul
0059cb3ab0 Switch default namespace display to "short". 2019-06-02 12:57:42 +02:00
Bartosz Taudul
7aca6b72d1 Don't block worker when in save file dialog. 2019-05-28 19:57:18 +02:00
Bartosz Taudul
c93170cd42 Move saving trace dump to a separate thread. 2019-05-28 19:56:18 +02:00
Bartosz Taudul
845f3a2ddf Use std::shared_mutex for locking worker access. 2019-05-28 19:21:53 +02:00
Bartosz Taudul
145ca30df9 There's no __popcnt64 in 32 bit winapi. 2019-05-28 18:18:54 +02:00
Bartosz Taudul
b3812146cb Fix atomics initialization. 2019-05-27 14:09:55 +02:00
Bartosz Taudul
61d775ecc8 Calculate end point before loop. 2019-05-19 16:26:59 +02:00
Bartosz Taudul
8f85a0da2c Don't check twice for the same thing. 2019-05-19 16:23:19 +02:00
Bartosz Taudul
007e434a05 Force inline FillPages(). 2019-05-19 13:46:53 +02:00
Bartosz Taudul
9122d3516c Force inline GetPage(). 2019-05-19 13:45:02 +02:00
Bartosz Taudul
30c398cd96 Don't allocate memory for empty pages in memory map. 2019-05-19 13:15:54 +02:00
Bartosz Taudul
952e466287 Rearrange code. 2019-05-19 12:47:45 +02:00
Bartosz Taudul
b95d834891 Split contended and uncontended locks in lock list. 2019-05-12 16:26:19 +02:00
Bartosz Taudul
0da1e8551f Track lock contention status. 2019-05-12 16:17:17 +02:00
Bartosz Taudul
a714cd4369 Typo. 2019-05-12 15:59:53 +02:00
Bartosz Taudul
63066cf6a5 Fix logic error. 2019-05-12 15:48:25 +02:00
Bartosz Taudul
e612cef6c2 Optimize drawing frames. 2019-05-11 13:47:06 +02:00
Bartosz Taudul
7cc5149355 Improve timeline message tooltips. 2019-05-10 20:36:06 +02:00
Bartosz Taudul
74575250a5 Save message color data in trace dumps. 2019-05-10 20:32:47 +02:00
Bartosz Taudul
8cbd83c752 Use message color on message lists. 2019-05-10 20:26:27 +02:00
Bartosz Taudul
4850e19ebd Store color in message data. 2019-05-10 20:26:27 +02:00
Bartosz Taudul
797ebd3caf Cosmetics. 2019-05-10 20:20:08 +02:00
Bartosz Taudul
efc54babe3 Transfer of colored messages. 2019-05-10 20:17:44 +02:00
Bartosz Taudul
6a09229ae7 Remove error bars and collection cost from GPU zone display.
There's no way to know how much this takes on a GPU.
2019-05-10 02:31:23 +02:00
Bartosz Taudul
721a818dcc Visual transition of error bars and collection cost markers. 2019-05-10 02:27:42 +02:00
Bartosz Taudul
54c8a882c9 Allow restricting call stack frame tree to active allocations. 2019-05-09 13:37:28 +02:00
Bartosz Taudul
a18a6869bc Allow limiting frame stats to visible frames. 2019-04-26 23:19:31 +02:00
Bartosz Taudul
fdd96fe251 Allow changing frame set from trace info window. 2019-04-26 22:49:36 +02:00
Bartosz Taudul
26aa3a23fb Display number of visible data points on a plot. 2019-04-23 17:17:25 +02:00
Bartosz Taudul
a7886cf82c Replace linear search with hash lookup. 2019-04-03 16:24:16 +02:00
Bartosz Taudul
78e8d4aefe Display query backlog. 2019-04-01 19:55:54 +02:00
Bartosz Taudul
20e6813461 Store send queue size in mbps block. 2019-04-01 19:55:37 +02:00
Bartosz Taudul
9010b2c142 Put queries into queue if send buffer is full. 2019-04-01 19:47:29 +02:00
Bartosz Taudul
deeea0ee70 Track space left in send buffer. 2019-04-01 19:37:39 +02:00
Bartosz Taudul
57dff0abc9 Add server query queue. 2019-04-01 19:26:50 +02:00
Bartosz Taudul
c07c6d11b7 Define server query packet. 2019-04-01 19:21:53 +02:00
Bartosz Taudul
45750a05a1 Only smooth zoom now. 2019-04-01 18:39:09 +02:00
Bartosz Taudul
cd774b9e96 Store two entries in zone self time cache.
This accounts for situation when zone information window is open and a
tooltip for another zone is displayed.
2019-03-30 00:54:22 +01:00
Bartosz Taudul
48a07bf4f8 Cache zone self times. 2019-03-30 00:52:25 +01:00
Bartosz Taudul
fef417f286 Store total number of CPU and GPU zones in trace. 2019-03-27 01:46:54 +01:00
Bartosz Taudul
2e6ac050f4 Use custom vector swap. 2019-03-26 23:02:39 +01:00
Bartosz Taudul
6c5efbfdce Implement custom vector swap. 2019-03-26 23:02:32 +01:00
Bartosz Taudul
a632d9e2a3 Add zone vector cache.
Zone children will be now collected in staging vectors. When the zone is
ended (and no children can be added anymore to it), a size-fitted vector
is allocated using slab allocation. The over-allocated vector is then
put into cache for use in future zones.

This is only active for vectors <= 8192 elements, or 64 KB (chosen
arbitrarily), to reduce time spent on copying memory.

Overall, this change should have the following effects:
- System memory allocation pressure reduction, due to re-usage of
  vectors, which eliminates the need for constant growth.
- Reduction of memory usage, because children vectors are now fitted to
  required size.
- Slight increase of zone processing time, due to memory copying?
2019-03-26 22:06:00 +01:00
Bartosz Taudul
11f4dcbf1e Consistent variable naming. 2019-03-26 21:41:44 +01:00
Bartosz Taudul
52f76a45ed Display separators for bin counts in compare menu. 2019-03-26 20:27:28 +01:00
Bartosz Taudul
99fca9e069 Fix loading old traces when skipping locks. 2019-03-26 20:25:29 +01:00
Bartosz Taudul
fe675b91be Ditto for frame counts. 2019-03-26 20:19:56 +01:00
Bartosz Taudul
021368fb59 Display bin counts with separators. 2019-03-26 20:18:20 +01:00
Bartosz Taudul
df3e8597c4 Focusing timeline on crash from trace info window. 2019-03-24 23:55:38 +01:00
Bartosz Taudul
7792963e31 Interaction with crash label in options menu. 2019-03-24 23:52:36 +01:00
Bartosz Taudul
2f397c892b Middle click on crash label to center view on it. 2019-03-24 23:50:33 +01:00
Bartosz Taudul
1c495f077b Allow changing display order of threads. 2019-03-24 13:54:36 +01:00
Bartosz Taudul
f7eca24e18 Use ordered thread vector in message list. 2019-03-24 13:41:14 +01:00
Bartosz Taudul
a633c50991 Use ordered threads vector in options. 2019-03-24 13:41:02 +01:00
Bartosz Taudul
e957590350 Mirror thread data in a reorderable vector. 2019-03-24 13:37:43 +01:00
Bartosz Taudul
6ad820a76a Display tooltip for plot point over limits. 2019-03-23 02:24:45 +01:00
Bartosz Taudul
532bf19efa Don't draw many illegible plot points. 2019-03-22 20:11:24 +01:00
Bartosz Taudul
e6baee2bf9 Reduce number of max plot probes per column. 2019-03-22 20:11:10 +01:00
Bartosz Taudul
3ccb831efb Fix calculation of frame histogram data. 2019-03-21 21:30:08 +01:00
Bartosz Taudul
e79fa04a8b Don't fail when timer accuracy is low. 2019-03-21 21:24:07 +01:00
Bartosz Taudul
fa556d2d65 Use common access-and-insert pattern for VisData. 2019-03-19 22:12:24 +01:00
Bartosz Taudul
fddba168c6 Track next time to search for. 2019-03-18 19:39:37 +01:00
Bartosz Taudul
f530dfb0e9 Apply the same optimization for GPU zones. 2019-03-18 18:48:27 +01:00
Bartosz Taudul
94a1957338 Optimize zone skipping. 2019-03-18 18:42:58 +01:00
Bartosz Taudul
02db5f52d1 Pass nspx to zone drawing functions. 2019-03-18 18:40:03 +01:00
Bartosz Taudul
2931c83442 Lookup further at the beginning of the collapsed zones area. 2019-03-18 18:32:45 +01:00
Bartosz Taudul
e19f2f26e1 Optimize drawing collapsed CPU zones. 2019-03-18 18:24:27 +01:00
Bartosz Taudul
b5fce70f25 Fix rapid advancing to next frames. 2019-03-17 20:51:54 +01:00
Bartosz Taudul
e034eabeb8 Animate plot ranges. 2019-03-17 17:21:30 +01:00
Bartosz Taudul
b6ccb9d686 Allocation times may be displayed relative to zone start. 2019-03-17 16:53:09 +01:00
Bartosz Taudul
d2cca5dc3f Allow custom time offset in memory allocation list. 2019-03-17 16:47:44 +01:00
Bartosz Taudul
f0aadfe066 Don't push the same zone on zone info stack multiple times. 2019-03-17 16:43:20 +01:00
Bartosz Taudul
06421cf5ca Always auto-resize memory allocation info window. 2019-03-17 16:39:27 +01:00
Bartosz Taudul
4914ef6b14 Display zone messages in zone info window. 2019-03-17 16:33:18 +01:00
Bartosz Taudul
016f7ac4b6 Allow retrieval of zone's thread data. 2019-03-17 16:17:47 +01:00
Bartosz Taudul
b4bfdb7872 Dim information about no memory events. 2019-03-17 02:56:26 +01:00
Bartosz Taudul
17718b4d25 Fix asserts. 2019-03-16 20:36:06 +01:00
Bartosz Taudul
28dfa21fda Move conditional out of loop. 2019-03-16 14:46:21 +01:00
Bartosz Taudul
7e6a8135df Remove double indirection in GetNextLockEvent(). 2019-03-16 14:18:43 +01:00
Bartosz Taudul
6db1a9ccd4 Use lock thread ranges in lock tooltips. 2019-03-16 02:50:51 +01:00
Bartosz Taudul
833151b868 Don't search for lock events outside of thread range. 2019-03-16 02:50:51 +01:00
Bartosz Taudul
200621f952 Use lock ranges for early exclusion test. 2019-03-16 02:50:51 +01:00
Bartosz Taudul
67f14be6aa Update lock ranges when loading trace. 2019-03-16 02:50:51 +01:00
Bartosz Taudul
8ced8a457c Update thread time range on lock event insert. 2019-03-16 02:50:51 +01:00
Bartosz Taudul
dc981550a1 Load lock event time to a variable. 2019-03-16 02:50:51 +01:00
Bartosz Taudul
4d66317bc3 Add per-thread time ranges to lock maps. 2019-03-16 02:50:51 +01:00
Bartosz Taudul
71e20e7e7f Store lock map as flat_hash_map with pointer values. 2019-03-16 02:50:51 +01:00
Bartosz Taudul
5fbc14c487 Fix skipping plots in version >= 0.4.5. 2019-03-15 15:27:37 +01:00
Bartosz Taudul
b43d962194 Set labels for input text fields. 2019-03-15 02:35:27 +01:00
Bartosz Taudul
6a36bb2fc2 Add hints to input text fields. 2019-03-15 01:31:06 +01:00