Bartosz Taudul
e9395cd988
Reconstruct source location payload map on data load.
2018-03-04 17:22:34 +01:00
Bartosz Taudul
a374114358
Use proper encoding of source location.
2018-03-04 17:17:37 +01:00
Bartosz Taudul
9170cfd943
First entry in sourceLocationExpand is special.
2018-03-04 16:57:57 +01:00
Bartosz Taudul
80da271a2c
Don't match source location on a per-zone basis.
2018-03-04 16:53:13 +01:00
Bartosz Taudul
b48602f5d1
Implement search for matching source locations.
2018-03-04 16:52:45 +01:00
Bartosz Taudul
f8c5f28372
Use Vector for source location expand storage.
2018-03-04 16:32:51 +01:00
Bartosz Taudul
f99c6eec78
Simplify code.
2018-03-04 16:23:28 +01:00
Bartosz Taudul
b09bae07c4
Change default find parameters to unlimited.
2018-03-04 16:07:10 +01:00
Bartosz Taudul
87cfd98b69
No need for fractional time part on graph ticks.
2018-02-28 15:38:32 +01:00
Bartosz Taudul
2891ecc526
Logarithmic scale histogram ticks.
2018-02-28 15:20:52 +01:00
Bartosz Szreder
0fb35b42f8
Merged in bartosz_szreder/tracy (pull request #3 )
...
Split data handling code from the view.
2018-02-23 14:12:01 +00:00
Bartosz Szreder
3b9639a9de
Tweak included header files in View and Worker.
2018-02-23 15:08:20 +01:00
Bartosz Taudul
6406df6f45
Display total time.
2018-02-22 12:44:55 +01:00
Bartosz Taudul
ffb28a3d0d
More concise time range display.
2018-02-22 12:38:43 +01:00
Bartosz Szreder
bae1c02ad0
Worker thread will take care of itself.
2018-02-21 16:41:37 +01:00
Bartosz Szreder
9e3f18a62a
Split data handling code from the view.
2018-02-21 16:41:37 +01:00
Bartosz Taudul
fbaf59c9a6
Ignore zero-time zones in search.
2018-02-21 15:25:28 +01:00
Bartosz Taudul
785ab2927b
Calculate proper label offsets.
2018-02-21 15:18:30 +01:00
Bartosz Taudul
d9988c8a06
Histogram time labels prototype.
2018-02-20 16:01:33 +01:00
Bartosz Taudul
118d4b497f
Time Stamp Counter to time conversion function.
2018-02-20 12:40:12 +01:00
Bartosz Taudul
6a65ceb71a
Display maximum number of counts in bins.
2018-02-16 16:19:31 +01:00
Bartosz Taudul
4611bc355f
Optional log time scale in histogram.
2018-02-16 15:34:22 +01:00
Bartosz Taudul
6e8bb9e490
Display bin times.
2018-02-16 14:42:16 +01:00
Bartosz Taudul
f6cc360c69
Basic histogram introspection.
2018-02-16 14:31:57 +01:00
Bartosz Taudul
fbe1af80b5
Cosmetics.
2018-02-16 14:31:53 +01:00
Bartosz Taudul
9678cc8afc
Support logarithmic scaling of values on search histogram.
2018-02-16 13:28:40 +01:00
Bartosz Taudul
508b699252
Fix crash.
2018-02-16 13:09:24 +01:00
Bartosz Taudul
5bc145f719
Search results histogram.
2018-02-15 17:25:16 +01:00
Bartosz Taudul
ea4863d4bd
Fix help strings.
2018-02-15 16:32:36 +01:00
Bartosz Taudul
e20bb2fe66
Add separators to zone count.
2018-02-15 16:31:47 +01:00
Bartosz Taudul
cc38988045
Cleanup.
2018-02-15 16:24:01 +01:00
Bartosz Taudul
d1d54db7b6
Display number of found zones.
2018-02-15 16:17:16 +01:00
Bartosz Szreder
d5fe006e2d
Add missing include charutil::hash()
2018-02-12 19:07:55 +01:00
Kamil Klimek
cb08990eff
"Find Zone" feature
...
- Simple text search with some limiting options
- Grouping by threads
- Easy access to "Zone Info" from search results
2018-01-18 12:35:30 +01:00
Bartosz Taudul
961a907e09
Remove obsolete window flag.
2018-01-13 13:56:02 +01:00
Bartosz Taudul
5915683587
Shared lockable tooltips.
2017-12-17 19:40:45 +01:00
Bartosz Taudul
d0d3bb1141
Store shared lock bits only for shared locks.
2017-12-17 18:44:31 +01:00
Bartosz Taudul
b3b8088881
Separate processing of Lockable and SharedLockable.
2017-12-17 18:00:15 +01:00
Bartosz Taudul
6f1a99e270
Combine wait lists.
2017-12-10 23:33:39 +01:00
Bartosz Taudul
340506406e
Shared lock state machine.
2017-12-10 23:30:13 +01:00
Bartosz Taudul
b07718ab9e
Track list of shared locks.
2017-12-10 22:42:39 +01:00
Bartosz Taudul
4d9ae83abd
Fix assert.
2017-12-10 22:42:25 +01:00
Bartosz Taudul
398eecbb94
Store LockEvent type as an enum class.
2017-12-10 22:37:56 +01:00
Bartosz Taudul
bcf2bf1c5c
Shared lock events (still using old functionality).
2017-12-10 22:04:49 +01:00
Bartosz Taudul
782231b048
Shared lockable skeleton.
2017-12-10 21:49:45 +01:00
Bartosz Taudul
bc27bbde37
Display mutex type.
2017-12-10 21:49:23 +01:00
Bartosz Taudul
3567d7edd8
Reintroduce lock announce events.
2017-12-10 21:40:48 +01:00
Bartosz Taudul
ea604d484d
Don't show mutex as blocked, if there are no locks held.
2017-12-10 21:40:48 +01:00
Bartosz Taudul
0f2d41413f
Include plots, msgs, gpu zones, locks in last time calculation.
2017-12-09 20:10:32 +01:00
Bartosz Taudul
6942f84a99
Last time is now cached, not calculated.
2017-12-09 20:05:34 +01:00
Bartosz Taudul
86006e8416
Simplify GetNextLockEvent().
2017-12-09 19:28:12 +01:00
Bartosz Taudul
b67989ab54
No need for nextState variable.
2017-12-09 19:24:35 +01:00
Bartosz Taudul
981bbfe42d
Reorder LockEvent fields.
2017-12-09 19:13:59 +01:00
Bartosz Taudul
cf5ee65604
Vectorize loop.
2017-12-09 00:15:10 +01:00
Bartosz Taudul
d0dfa62f43
Force inline internal pdqsort functions.
2017-12-08 23:25:48 +01:00
Bartosz Taudul
86c5dcced9
__cplusplus check won't work on MSVC.
2017-12-08 23:14:55 +01:00
Bartosz Taudul
0da09bc62b
Use pdqsort.
2017-12-08 23:14:55 +01:00
Bartosz Taudul
2c4eaf162d
Add pdqsort.
...
https://github.com/orlp/pdqsort.git
979c0a05f3e78977dc1f5218d13234d7ee89d1e7
2017-12-08 23:02:48 +01:00
Bartosz Taudul
48678b3bd7
Drop bitfield usage.
2017-12-05 22:34:48 +01:00
Bartosz Taudul
5407676f1f
Microoptimize thread bit operations.
2017-12-05 22:22:07 +01:00
Bartosz Taudul
52df06d478
Calculate and use thread bit.
2017-12-05 22:09:53 +01:00
Bartosz Taudul
b578554223
Reserve lockmap timeline.
2017-12-05 21:55:00 +01:00
Bartosz Taudul
081087b9ce
Drop an indirection level in plots.
2017-12-05 21:24:09 +01:00
Bartosz Taudul
702f235c1b
Reserve-and-use functionality in Vector.
2017-12-05 21:23:51 +01:00
Bartosz Taudul
c58f1b09d1
Allow RW access to Vector's data.
2017-12-05 21:23:39 +01:00
Bartosz Taudul
a33e70567b
Add GUI for GPU context hiding.
2017-11-30 15:34:52 +01:00
Bartosz Taudul
5246098c79
GPU context hiding plumbing.
2017-11-30 15:31:31 +01:00
Bartosz Taudul
dd8694350e
Add zoom-to-range animation.
2017-11-27 22:41:30 +01:00
Bartosz Taudul
ba80b0c16a
Use one common function for zooming to range.
2017-11-27 22:12:26 +01:00
Bartosz Taudul
eeca0676df
Even simpler lock state combining.
2017-11-26 21:37:57 +01:00
Bartosz Taudul
50795cdf43
Declare buffer at function start.
2017-11-26 17:27:51 +01:00
Bartosz Taudul
b82434d7c3
No need for lambda in sort.
2017-11-26 17:13:24 +01:00
Bartosz Taudul
91758423cd
Optimize lock state combining.
...
There are four possible lock states:
1. Nothing
2. HasLock
3. HasBlockingLock
4. WaitLock
The previous switch was implementing the following state transition:
s\n| 1 | 2 | 3 | 4
---+---+---+---+---
1 | 1 | 2 | 3 | 4
---+---+---+---+---
2 | 2 | 2 | 3 | 4
---+---+---+---+---
3 | 3 | 3 | 3 | 4
---+---+---+---+---
4 | 4 | 4 | 4 | 4
As can be seen, the switch effectively searches for the highest state
possible. This change implements it as such.
2017-11-26 16:42:50 +01:00
Bartosz Taudul
c044884dd9
Fix signed/unsigned mismatch.
2017-11-26 02:36:38 +01:00
Bartosz Taudul
6bbed5db82
Increase plot min/max value legibility.
2017-11-26 02:32:00 +01:00
Bartosz Taudul
4b548156b1
Proper display of negative time.
2017-11-26 02:24:13 +01:00
Bartosz Taudul
b2b3e7d739
Draw timescale.
2017-11-26 02:18:17 +01:00
Bartosz Taudul
e495cb959e
Fix StringRef initialization.
2017-11-26 01:43:08 +01:00
Bartosz Taudul
d40488ccf1
Add more numeric separators.
2017-11-25 15:48:41 +01:00
Bartosz Taudul
cd26a6f8ff
Improve text legibility by drawing text shadow.
2017-11-25 15:45:16 +01:00
Bartosz Taudul
2f9a3f7046
Colors are always in RGB order.
2017-11-25 15:33:10 +01:00
Bartosz Taudul
4d99560f7c
Add some more numeric separators.
2017-11-25 13:50:41 +01:00
Bartosz Taudul
2e88f30e15
Display number of lock events in tooltip.
2017-11-25 13:48:03 +01:00
Bartosz Taudul
a515bf8878
Perform GPU to CPU resynchronization on each collect event.
2017-11-25 13:33:57 +01:00
Bartosz Taudul
0100266234
Use consistent names.
2017-11-25 13:14:16 +01:00
Bartosz Taudul
f2a19c4593
Use flat_hash_map for source location payload map.
2017-11-24 01:10:12 +01:00
Bartosz Taudul
7a13892754
Split srcloc check and creation.
2017-11-24 01:05:42 +01:00
Bartosz Taudul
184039d500
One check in CheckSourceLocation.
2017-11-24 00:53:04 +01:00
Bartosz Taudul
ccb39ad4bd
Just one early exit check in CheckString/CheckThreadString.
2017-11-24 00:45:55 +01:00
Bartosz Taudul
79dec4eafe
Display compression ratio and uncompressed data throughput.
2017-11-23 01:23:40 +01:00
Bartosz Taudul
7f74d35955
Workaround MSVC inlining bugs.
...
The previous code was not inlineable.
2017-11-22 01:54:50 +01:00
Bartosz Taudul
5d7fd5805a
Don't hash pointers and such.
2017-11-22 00:23:43 +01:00
Bartosz Taudul
48624f29f7
Optimize searches.
2017-11-21 02:28:46 +01:00
Bartosz Taudul
a7e85c5b76
No need to populate string map when loading dump.
2017-11-21 02:16:58 +01:00
Bartosz Taudul
d5ea8a86a4
Remove GPU context indirection.
2017-11-21 02:10:41 +01:00
Bartosz Taudul
63c070228c
Remove indirection in plot storage.
2017-11-21 02:06:17 +01:00
Bartosz Taudul
dca6cf0aa5
Use push_back_non_empty where appropriate.
2017-11-20 02:14:18 +01:00
Bartosz Taudul
7bf6bbbb94
Use back_and_pop in GPU zone processing.
2017-11-20 02:04:45 +01:00
Bartosz Taudul
43ed934204
Force inline file read and write functions.
2017-11-19 22:02:04 +01:00
Bartosz Taudul
59c7cf2bcd
Force inline functions that have single path of execution.
2017-11-19 20:01:39 +01:00
Bartosz Taudul
47c23c9066
Force inline NewZone.
2017-11-19 19:39:25 +01:00
Bartosz Taudul
19db1a3f1f
Optimize UpdateLockCount.
2017-11-19 19:35:16 +01:00
Bartosz Taudul
c1a79c0622
Force inline checker functions.
2017-11-19 19:23:07 +01:00
Bartosz Taudul
94bd563753
Back-and-pop operation on Vector.
2017-11-19 19:17:54 +01:00
Bartosz Taudul
a4e909a740
Fix braino.
2017-11-19 19:13:43 +01:00
Bartosz Taudul
7a4c6b3d68
Split heavy used functions into check and add parts.
2017-11-19 17:58:56 +01:00
Bartosz Taudul
89448b473e
Don't check for nullptr, if already know there isn't one.
2017-11-19 17:28:12 +01:00
Bartosz Taudul
1e6707c609
Add no-nullptr-check push_back to Vector.
2017-11-19 17:27:51 +01:00
Bartosz Taudul
8c30f75b4d
Prevent inlining of vector reallocation function.
2017-11-19 17:15:24 +01:00
Bartosz Taudul
ff35f2960a
Remove a level of indirection.
2017-11-19 16:27:23 +01:00
Bartosz Taudul
08b8c6ec1b
Optimize slab initializing allocation.
2017-11-19 13:53:39 +01:00
Bartosz Taudul
ca5d35e6cd
Slab offset can be 32 bit.
...
This reduces memory system pressure.
2017-11-19 13:38:55 +01:00
Bartosz Taudul
0fe4232015
Optimize string wrappers initialization.
2017-11-19 13:36:03 +01:00
Bartosz Taudul
0770ed8ee6
Optimize ptr walking.
2017-11-19 13:22:08 +01:00
Bartosz Taudul
b3e0d2660d
Properly use zone stack when inserting new zones.
...
CPU zones stack was also moved to thread data struct.
2017-11-19 01:16:21 +01:00
Bartosz Taudul
17fdd2bcbf
Zone tooltip cosmetics.
2017-11-18 13:47:05 +01:00
Bartosz Taudul
ac68cde9f3
Render zero nanosecond zones.
2017-11-18 13:40:49 +01:00
Bartosz Taudul
68f8bb906e
New context events are not serialized.
2017-11-18 01:49:44 +01:00
Bartosz Taudul
f73e8aaa59
Display thread zone counts.
2017-11-18 01:14:55 +01:00
Bartosz Taudul
429b44ca54
Add separators to GPU zone counts.
2017-11-18 01:14:50 +01:00
Bartosz Taudul
123de74fca
Thread thread zone count.
2017-11-18 01:14:16 +01:00
Bartosz Taudul
cc3d18d51d
Count GPU zones.
2017-11-18 01:07:28 +01:00
Bartosz Taudul
cd275fee9d
Thread information window.
2017-11-18 01:03:40 +01:00
Bartosz Taudul
b6079f8c9a
Display number of top-level zones.
2017-11-18 01:03:32 +01:00
Bartosz Taudul
4ba40016ce
Display GPU context appearance info.
2017-11-18 00:56:05 +01:00
Bartosz Taudul
82edca301f
Tooltip cosmetics.
2017-11-18 00:51:04 +01:00
Bartosz Taudul
18252feeeb
Display GPU context information tooltip.
2017-11-18 00:34:16 +01:00
Bartosz Taudul
1a4889116e
Store GPU accuracy bits info.
2017-11-18 00:34:16 +01:00
Bartosz Taudul
515443605d
memset on non-POD data is UB.
2017-11-16 02:19:52 +01:00
Bartosz Taudul
e579374504
Remove unused variable.
2017-11-16 00:35:04 +01:00
Bartosz Taudul
c4ca6f8205
Proper initialization order.
2017-11-16 00:33:10 +01:00
Bartosz Taudul
abd0676cea
Use flat_hash_map.
2017-11-15 23:15:59 +01:00
Bartosz Taudul
0d7ba57fa4
Move flat_hash_map to tracy namespace.
2017-11-15 23:04:07 +01:00
Bartosz Taudul
3bc483bd9e
Add flat_hash_map.
...
https://github.com/skarupke/flat_hash_map.git
2ceada9f7fb5c6d808e33546882fc63662e10e79
2017-11-15 23:02:35 +01:00
Bartosz Taudul
3f5603ad96
Use global lock for processing of incoming events.
2017-11-15 22:33:11 +01:00
Bartosz Taudul
a3ba188af5
Manual initialization of GpuEvents.
2017-11-15 22:21:02 +01:00
Bartosz Taudul
54c5cfce66
No funny links to licenses.
2017-11-15 22:18:45 +01:00
Bartosz Taudul
afa9eec5dd
Manual ZoneEvent vector initialization.
2017-11-15 22:13:23 +01:00
Bartosz Taudul
13d8d9255e
Use benaphore instead of mutex.
2017-11-15 21:49:41 +01:00
Bartosz Taudul
6cc2ea8d0e
Don't need recursive version.
2017-11-15 21:44:55 +01:00
Bartosz Taudul
100b814069
Wrap benaphore in tracy namespace, etc.
2017-11-15 21:42:55 +01:00
Bartosz Taudul
f85facf2af
Add Preshing's benaphore implementation.
...
https://github.com/preshing/cpp11-on-multicore.git
41ac9c73dfa32e2fbc0af6668358092fafdfcae4
2017-11-15 21:40:46 +01:00
Bartosz Taudul
3a60a28a71
Don't allocate unneeded memory.
2017-11-15 21:26:58 +01:00
Bartosz Taudul
1445341068
Don't try to draw GPU zones with no timing data.
2017-11-15 10:56:28 +01:00
Bartosz Taudul
334224dd36
Support transfer of zone name in source location payload.
2017-11-15 10:56:28 +01:00
Bartosz Taudul
7187e1e5f5
Some strings are always indices.
...
This saves 4 bytes.
2017-11-15 10:56:27 +01:00
Bartosz Taudul
7da59a55cc
Don't search for string in map, if it's known there's nothing there.
2017-11-15 10:56:27 +01:00
Bartosz Taudul
8b2af369ad
Store zone text in StringRef. Use name from source location.
2017-11-15 10:56:27 +01:00
Bartosz Taudul
c43eb29ce0
Don't send source location pointer in query reply.
...
Since reply order is the same as the query order, the server already
knows what source location it receives. This observation allows placing
zone name into the source location struct.
2017-11-14 23:06:45 +01:00
Bartosz Taudul
5c872b2137
Simplify GPU context handling.
2017-11-14 00:48:26 +01:00