Commit Graph

392 Commits

Author SHA1 Message Date
Bartosz Taudul
e5865cb23e Optimize drawing messages. 2017-10-28 12:37:34 +02:00
Bartosz Taudul
3163563a27 Fix crash on unended lock highlight. 2017-10-26 02:06:30 +02:00
Bartosz Taudul
db48cd6c1f Display threads that have acquired a lock. 2017-10-26 00:42:16 +02:00
Bartosz Taudul
f3bac060a6 Same thing for contended locks. 2017-10-25 23:45:53 +02:00
Bartosz Taudul
016048a761 Properly detect and show recursive lock release. 2017-10-25 23:39:56 +02:00
Bartosz Taudul
f013dfe706 Properly label recursive lock wait sections. 2017-10-25 23:37:10 +02:00
Bartosz Taudul
01b2e64985 Properly show recursive lock wait sections. 2017-10-25 23:36:08 +02:00
Bartosz Taudul
e16f784617 Proper handling of recursive mutices. 2017-10-25 23:30:51 +02:00
Bartosz Taudul
742e4e2893 Use proper type. 2017-10-25 22:56:02 +02:00
Bartosz Taudul
011253ac47 Display lock and wait counts. 2017-10-25 22:35:12 +02:00
Bartosz Taudul
339c177ee8 Sort lock map.
It is displayed in UI, so order is important.
2017-10-24 22:30:43 +02:00
Bartosz Taudul
8f814b2537 Optimize drawing zone frames. 2017-10-22 17:48:01 +02:00
Bartosz Taudul
73d23320ee Move string helper functions out of tracy::View. 2017-10-22 17:47:40 +02:00
Bartosz Taudul
262dfa53e9 Display lock number on lock list in options. 2017-10-22 17:30:02 +02:00
Bartosz Taudul
1967ce871a Fix getting parent of not ended zone. 2017-10-22 17:09:33 +02:00
Bartosz Taudul
cc8683a399 Store TextData pointer as an index in array.
This further reduces ZoneEvent size by 4 bytes.
2017-10-22 16:40:15 +02:00
Bartosz Taudul
2e6350877d Remove parent pointer from ZoneEvent. 2017-10-22 16:15:27 +02:00
Bartosz Taudul
b72d4b05de Remove dead code. 2017-10-22 15:40:56 +02:00
Bartosz Taudul
7345ca5aa6 Rename Event to ZoneEvent. 2017-10-22 15:37:24 +02:00
Bartosz Taudul
97b3cccb1a 64MB slab size. 2017-10-22 15:36:22 +02:00
Bartosz Taudul
eff6015aad Fix combo list. 2017-10-22 15:27:07 +02:00
Bartosz Taudul
5b20f0008f Optional namespace shortening. 2017-10-22 13:56:05 +02:00
Bartosz Taudul
caec31731f Add ability to hide uncontended locks. 2017-10-22 13:32:27 +02:00
Bartosz Taudul
92a38a43d5 Add ability to hide individual locks. 2017-10-22 13:26:11 +02:00
Bartosz Taudul
ba5312f429 Ability to completely hide plots. 2017-10-22 13:17:34 +02:00
Bartosz Taudul
133db4c68e Ability to completely hide threads. 2017-10-22 13:13:26 +02:00
Bartosz Taudul
bd8d423d16 Use small temporary buffer instead of growing one. 2017-10-21 14:27:38 +02:00
Bartosz Taudul
31dec96d0c Don't calculate min-max range of a large point quantity. 2017-10-21 14:27:38 +02:00
Bartosz Taudul
5f7dad1889 Don't do unnecessary hover checks. 2017-10-21 14:27:38 +02:00
Bartosz Taudul
c28b3a420f Delay insertion of postponed plot items.
This further reduces number of memmoves that need to be performed on a
vector, which results in net increased throughput.
2017-10-21 13:32:51 +02:00
Bartosz Taudul
75e3dd175a One function for adding threads. 2017-10-21 13:14:20 +02:00
Bartosz Taudul
fa985940f7 Check thread name when adding messages. 2017-10-21 13:05:37 +02:00
Bartosz Taudul
807d3c42be Use slab allocator for server allocations. 2017-10-21 13:01:57 +02:00
Bartosz Taudul
07cb693cbb Separate slab init/noinit allocation functions. 2017-10-21 12:54:12 +02:00
Bartosz Taudul
ad338a7cfd Fix message literals. 2017-10-21 12:39:26 +02:00
Bartosz Taudul
b7800be627 Perform bulk insertion of plot points. 2017-10-19 23:26:21 +02:00
Bartosz Taudul
cc1715ae98 Implement Vector::insert( it, begin, end ). 2017-10-19 23:26:02 +02:00
Bartosz Taudul
82476a310c Implement Vector::clear(). 2017-10-19 23:25:49 +02:00
Bartosz Taudul
cf94b1d2e8 Add missing locks. 2017-10-19 23:10:47 +02:00
Bartosz Taudul
476597f5ed Adaptive display compression range. 2017-10-19 21:05:59 +02:00
Bartosz Taudul
44cc0827d4 Store pointers to PlotItems. 2017-10-19 21:04:11 +02:00
Bartosz Taudul
7329eb6e99 Display plot points count with separators. 2017-10-19 20:34:48 +02:00
Bartosz Taudul
026a27aa05 Implement front() in custom vector. 2017-10-19 20:34:07 +02:00
Bartosz Taudul
6e4343c043 Use custom vector to store plot items. 2017-10-19 20:14:31 +02:00
Bartosz Taudul
0519df4dfc Reduce accuracy to decrease memory load. 2017-10-19 19:56:13 +02:00
Bartosz Taudul
5278bb29e6 Don't sort all values in a compressed range. 2017-10-19 19:43:27 +02:00
Bartosz Taudul
fd22fed773 Manually manage temporary plot buffer. 2017-10-19 19:09:40 +02:00
Bartosz Taudul
6e5ccf8391 Store values, not pointers to PlotItems. 2017-10-19 18:28:11 +02:00
Bartosz Taudul
8958780b18 Time must be signed. 2017-10-18 23:36:50 +02:00
Bartosz Taudul
c5eef172f1 Adapt "recording" circle size to font size. 2017-10-18 23:25:35 +02:00
Bartosz Taudul
4f3a64be9d Optimize drawing plots. 2017-10-18 22:29:59 +02:00
Bartosz Taudul
58ef271356 Add separator to zone count. 2017-10-18 20:35:01 +02:00
Bartosz Taudul
ac71622c0c Add separators to printed values. 2017-10-18 20:33:49 +02:00
Bartosz Taudul
cdde2ea2a3 Cut off trailing zeros when printing floating point values. 2017-10-18 20:18:33 +02:00
Bartosz Taudul
7c47edc64f Terminate connection handshake. 2017-10-18 18:48:51 +02:00
Bartosz Taudul
6d48404934 4KB is too small for some messages. Use 64KB buffer.
OpenGL extensions list bites in the ass again.
2017-10-17 01:21:00 +02:00
Bartosz Taudul
c0e5dd0369 Visual differentiation of tracy init from other frames. 2017-10-17 01:17:55 +02:00
Bartosz Taudul
1e3476cf36 Transfer profiler initialization time. 2017-10-17 01:10:38 +02:00
Bartosz Taudul
acc1d9d834 Measurement of time period by LMB dragging. 2017-10-15 16:42:56 +02:00
Bartosz Taudul
84abfadc72 Horizontal zone view dragging with RMB. 2017-10-15 16:20:45 +02:00
Bartosz Taudul
5b9fcddfb3 String literal message transfer. 2017-10-15 13:06:49 +02:00
Bartosz Taudul
eb95d65622 Fix types in std::max. 2017-10-14 18:48:44 +02:00
Bartosz Taudul
ad95813ba0 Message highlighting. 2017-10-14 15:47:06 +02:00
Bartosz Taudul
bf8f369e33 Increase plot point active hover area. 2017-10-14 15:29:04 +02:00
Bartosz Taudul
503ef8bcbc Save message data. 2017-10-14 15:26:02 +02:00
Bartosz Taudul
bd7f8111a6 Lock id size changed in data dump. 2017-10-14 15:21:15 +02:00
Bartosz Taudul
30fd899a90 Display messages in threads. 2017-10-14 15:03:28 +02:00
Bartosz Taudul
317b23c7c3 Assign messages to threads. 2017-10-14 14:46:03 +02:00
Bartosz Taudul
3ba349565a Message list window. 2017-10-14 14:36:30 +02:00
Bartosz Taudul
fa8030009f Store messages. 2017-10-14 14:28:04 +02:00
Bartosz Taudul
1aaab3c5e4 Use 32 bits to store lock id.
This makes queue item size 32 bytes. Queue operations can now be faster,
because multiplication by 33 is replaced by shift by 5.
2017-10-13 20:05:38 +02:00
Bartosz Taudul
ec789d60e8 Store source location color in 24 bits. 2017-10-13 19:59:18 +02:00
Bartosz Taudul
ed55fbfacb Save/load plot data. 2017-10-13 16:04:20 +02:00
Bartosz Taudul
348661c9df Display number of plot points per second. 2017-10-13 15:55:09 +02:00
Bartosz Taudul
e3abc8b52a Fix min, max value setting. 2017-10-13 15:46:00 +02:00
Bartosz Taudul
4066b9ae30 Add plot information tooltip. 2017-10-13 15:44:24 +02:00
Bartosz Taudul
40d7a26b37 Allow hiding plots. 2017-10-13 15:41:20 +02:00
Bartosz Taudul
4ed905ca88 Plot can't be empty. 2017-10-13 15:36:16 +02:00
Bartosz Taudul
591fbdf75a Store min, max values in plot. 2017-10-13 15:32:59 +02:00
Bartosz Taudul
5deb1c51dd Can't modify both variables. 2017-10-13 15:31:38 +02:00
Bartosz Taudul
d1c43ef917 Draw vertical line on mouse position in zone view. 2017-10-13 15:26:18 +02:00
Bartosz Taudul
b217e6ab30 Add lousy plot values tooltip. 2017-10-13 15:15:57 +02:00
Bartosz Taudul
f32114cb35 Draw plot points in a separate function. 2017-10-13 15:09:01 +02:00
Bartosz Taudul
d05827135d Draw plots. 2017-10-13 14:54:32 +02:00
Bartosz Taudul
ee60fc6885 Allow disabling zone/lock drawing. 2017-10-13 13:32:23 +02:00
Bartosz Taudul
fe0366c792 Receive plot data. 2017-10-13 03:36:59 +02:00
Bartosz Taudul
d9feeb3486 Disable scroll bar on profiler window. 2017-10-12 23:44:35 +02:00
Bartosz Taudul
97360c0c4c Always save dumps with .tracy extension. 2017-10-12 22:38:11 +02:00
Bartosz Taudul
1b4a9379cc Vertical scrolling of zone area. 2017-10-12 22:27:17 +02:00
Bartosz Taudul
737671adbf Remove lock announce message.
This removes problem with static initialization order of mutices vs
tracy.

Lock source location is now transferred in lock wait message.
2017-10-12 20:14:17 +02:00
Bartosz Taudul
8634c48c9f Check for thread existence when adding a lock. 2017-10-12 19:52:18 +02:00
Bartosz Taudul
3df0abd164 Only check thread string when adding a new thread. 2017-10-12 19:52:06 +02:00
Bartosz Taudul
6fc0bc881c Allow hiding threads. 2017-10-12 19:47:56 +02:00
Bartosz Taudul
c1090a3116 Fix zone depth calculation. 2017-10-12 19:14:03 +02:00
Bartosz Taudul
cc8b357f09 Avoid excessive stack operations for cpu query. 2017-10-10 23:21:30 +02:00
Bartosz Taudul
75457c1465 Remove +x flag from files. 2017-10-10 21:56:15 +02:00
Bartosz Taudul
a6c5993401 Fix locks with more than two threads. 2017-10-08 23:03:38 +02:00
Bartosz Taudul
45cb4b144f Add bit counter. 2017-10-08 21:02:09 +02:00
Bartosz Taudul
fbe7e59319 Allow zooming to zones without end. 2017-10-08 11:38:03 +02:00
Bartosz Taudul
42595014a1 Fix issue with missing lock display.
This was caused by a logic error concerning a lock state when thread t1
was waiting for a lock, thread t2 released the lock and thread t1 didn't
yet acquire a lock. High zoom level was needed.

(Threads are performing Wait, Obtain, Release operations on locks.)

t1     W      |O R
t2 WO        R|
--------------+----> t
              ↑
           Problem

In the region marked by the problem line the lock count was 0, which
didn't trigger the appropriate code branch.
2017-10-06 18:58:54 +02:00