Bartosz Taudul
|
c93170cd42
|
Move saving trace dump to a separate thread.
|
2019-05-28 19:56:18 +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
|
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
|
a7886cf82c
|
Replace linear search with hash lookup.
|
2019-04-03 16:24:16 +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
|
e957590350
|
Mirror thread data in a reorderable vector.
|
2019-03-24 13:37:43 +01:00 |
|
Bartosz Taudul
|
fa556d2d65
|
Use common access-and-insert pattern for VisData.
|
2019-03-19 22:12:24 +01:00 |
|
Bartosz Taudul
|
02db5f52d1
|
Pass nspx to zone drawing functions.
|
2019-03-18 18:40:03 +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
|
016f7ac4b6
|
Allow retrieval of zone's thread data.
|
2019-03-17 16:17:47 +01:00 |
|
Bartosz Taudul
|
0748655797
|
Allow opening source file view from statistics menu.
|
2019-03-09 00:15:23 +01:00 |
|
Bartosz Taudul
|
422ed1f452
|
Special mode for callstack grouping in find zone menu.
|
2019-02-27 20:37:38 +01:00 |
|
Bartosz Taudul
|
851ae9077b
|
Make small callstack button tooltip optional.
|
2019-02-27 19:59:49 +01:00 |
|
Bartosz Taudul
|
c78aedae62
|
Zoom-to-range for lock labels.
|
2019-02-24 17:30:58 +01:00 |
|
Bartosz Taudul
|
af3eb93e4a
|
Hide tracks that don't have anything to display.
|
2019-02-23 01:28:12 +01:00 |
|
Bartosz Taudul
|
d0c1b9bf67
|
Proper formatting of plot values.
|
2019-02-21 23:07:32 +01:00 |
|
Bartosz Taudul
|
f1dd4ef3d9
|
Animate thread position and height.
|
2019-02-21 21:18:41 +01:00 |
|
Bartosz Taudul
|
e945902f40
|
Merge visibility and show full options into one struct.
|
2019-02-21 20:24:08 +01:00 |
|
Bartosz Taudul
|
bc713463d8
|
Improve zooming animation.
|
2019-02-21 20:00:29 +01:00 |
|
Bartosz Taudul
|
1e32821097
|
Move drawing lock header to a separate function.
|
2019-02-17 16:49:03 +01:00 |
|
Bartosz Taudul
|
ea4f4ebb3a
|
Highlight selected/hovered lock.
|
2019-02-17 16:20:56 +01:00 |
|
Bartosz Taudul
|
f06609eb61
|
GPU child zones time getter.
|
2019-02-14 01:28:12 +01:00 |
|
Bartosz Taudul
|
740486a0ce
|
Add children locations grouping button.
|
2019-02-10 16:14:13 +01:00 |
|
Dedmen Miller
|
59ae188a7f
|
Cleanup
|
2019-02-07 14:51:34 +01:00 |
|
Dedmen Miller
|
92c872dfc0
|
Added sorting for findZone zonelist
|
2019-02-07 12:25:05 +01:00 |
|
Bartosz Taudul
|
0e6350d95e
|
Grouping by function names is a more sane default.
|
2019-02-06 23:09:38 +01:00 |
|
Bartosz Taudul
|
044b7e1522
|
Add function name grouping controls.
|
2019-02-06 21:45:26 +01:00 |
|
Bartosz Taudul
|
c2e9c00a38
|
Add top-down call stack memory tree.
|
2019-02-06 13:53:14 +01:00 |
|
Bartosz Taudul
|
c689a494da
|
Move call stack paths calculation to a separate function.
|
2019-02-06 13:46:50 +01:00 |
|
Bartosz Taudul
|
b0d319890b
|
Allow sorting find zone groups by mean time per call.
|
2019-01-30 01:54:18 +01:00 |
|
Bartosz Taudul
|
92766430d9
|
Add "self time" checkbox to find zone menu.
|
2019-01-23 14:25:28 +01:00 |
|
Bartosz Taudul
|
118fab1561
|
Fast version of zone child time getter.
This one can only be used when all child zones are properly ended.
|
2019-01-23 13:59:14 +01:00 |
|
Bartosz Taudul
|
06292f1a3f
|
Add zone child time getter.
|
2019-01-23 13:39:44 +01:00 |
|
Bartosz Taudul
|
cb50cf9de6
|
Last time is stored in worker.
|
2019-01-08 15:44:29 +01:00 |
|
Bartosz Taudul
|
77c9a8c407
|
Add support for notification text in View.
|
2019-01-06 19:14:24 +01:00 |
|
Bartosz Taudul
|
2d143ce516
|
Add support for handling keyboard shortcuts.
|
2018-12-22 17:36:20 +01:00 |
|
Bartosz Taudul
|
4bb4a568ca
|
Move initialization of View values to header.
|
2018-12-22 17:22:26 +01:00 |
|
Bartosz Taudul
|
cd8d86edf3
|
Allow hiding "[unknown frames]" entries.
|
2018-12-21 21:10:29 +01:00 |
|
Bartosz Taudul
|
df1a125fc0
|
Mirror find zone menu changes in compare menu.
|
2018-12-18 16:56:19 +01:00 |
|
Bartosz Taudul
|
7fc03736f2
|
Add "ignore case" toggle to find zone menu.
|
2018-12-18 16:38:55 +01:00 |
|
Bartosz Taudul
|
444d5e20f0
|
Add basic lock info window.
|
2018-12-16 19:58:11 +01:00 |
|
Bartosz Taudul
|
1235a5aa0a
|
Allow discarding active trace.
|
2018-11-25 19:31:26 +01:00 |
|
Bartosz Taudul
|
556b3e8efe
|
Add "go to frame" functionality.
|
2018-10-21 17:36:27 +02:00 |
|
Bartosz Taudul
|
9342ba0e71
|
Don't track last frames in offline mode.
|
2018-10-21 16:03:21 +02:00 |
|
Bartosz Taudul
|
428b7da1cc
|
The underlying vector might be reallocated.
|
2018-09-27 23:19:20 +02:00 |
|
Bartosz Taudul
|
6cfd53b274
|
Add allocations list window.
|
2018-09-27 23:19:20 +02:00 |
|
Bartosz Taudul
|
01e0bbb5f9
|
Build list of allocations in a given call stack tree entry.
|
2018-09-27 23:19:20 +02:00 |
|
Bartosz Taudul
|
06eec51ed9
|
Display locks source locations in options locks list.
|
2018-09-18 16:14:32 +02:00 |
|
Bartosz Taudul
|
fc40c7bbf6
|
Calculate compare traces average, median.
|
2018-09-03 20:34:07 +02:00 |
|
Bartosz Taudul
|
e8b4f71f4a
|
Properly initialize sortedNum in find zone.
|
2018-09-03 20:21:28 +02:00 |
|
Bartosz Taudul
|
a02121d78a
|
Allow disabling average, median markers on frame set histogram.
|
2018-09-02 13:37:36 +02:00 |
|
Bartosz Taudul
|
0b0fa919d3
|
Find zone groups are now by default sorted by count.
|
2018-09-02 13:34:00 +02:00 |
|
Bartosz Taudul
|
fb013c0df5
|
Properly reset state when switching matched source locations.
|
2018-09-02 13:25:17 +02:00 |
|
Bartosz Taudul
|
08729c2b42
|
Allow disabling average and median time markers.
|
2018-09-02 13:06:09 +02:00 |
|
Bartosz Taudul
|
2d3ce1bf25
|
Calculate group average and median times.
|
2018-09-02 13:00:21 +02:00 |
|
Bartosz Taudul
|
5733b420a1
|
Use the same algorithm for selection group binning.
|
2018-09-02 03:46:16 +02:00 |
|
Bartosz Taudul
|
854210a7e3
|
Fix find zone histogram selection start/end.
|
2018-09-02 02:09:29 +02:00 |
|
Bartosz Taudul
|
f43b875b83
|
Display average and median zone time in find zone histogram.
|
2018-09-02 00:28:57 +02:00 |
|
Bartosz Taudul
|
f66ed00d71
|
Calculate sorted zone times for find zone histogram.
|
2018-09-02 00:19:15 +02:00 |
|
Bartosz Taudul
|
98b5363ebc
|
Add frame set histogram.
|
2018-09-01 01:48:00 +02:00 |
|
Bartosz Taudul
|
9b8a0a8364
|
Display total frame set time.
|
2018-09-01 01:48:00 +02:00 |
|
Bartosz Taudul
|
27a2d8595d
|
Time is int64_t.
|
2018-09-01 01:48:00 +02:00 |
|
Bartosz Taudul
|
230ee71368
|
Do not recalculate frame stats, if frame data didn't change.
|
2018-08-31 18:51:00 +02:00 |
|
Bartosz Taudul
|
6ad184447a
|
Call stack window may now display frame addresses.
|
2018-08-21 17:55:59 +02:00 |
|
Bartosz Taudul
|
42636cfe89
|
Allow viewing source files from within find zone menu.
|
2018-08-18 20:35:25 +02:00 |
|
Bartosz Taudul
|
a4df805746
|
Allow filtering messages by thread.
|
2018-08-18 19:57:36 +02:00 |
|
Bartosz Taudul
|
410616f7f8
|
Allow viewing source from zone trace.
|
2018-08-18 14:26:10 +02:00 |
|
Bartosz Taudul
|
4c393a2b8d
|
Allow opening source files from withing call stack tree.
|
2018-08-17 22:51:26 +02:00 |
|
Bartosz Taudul
|
4e23ce9a24
|
Shared index for all call stack tree nodes.
|
2018-08-17 22:31:55 +02:00 |
|
Bartosz Taudul
|
07d2aaa1ad
|
Play a little animation when source file cannot be opened.
|
2018-08-17 22:23:16 +02:00 |
|
Bartosz Taudul
|
2b3490e6f7
|
Handle window title setter callback in View.
|
2018-08-17 17:24:18 +02:00 |
|
Bartosz Taudul
|
df7db3bd2b
|
Notify profiler about root window size.
|
2018-08-17 16:54:56 +02:00 |
|
Bartosz Taudul
|
facae0b9e1
|
Draw text editor with potential source code.
|
2018-08-17 15:33:12 +02:00 |
|
Bartosz Taudul
|
5cd61c4b07
|
Text editor needs fixed-width font.
|
2018-08-17 15:18:09 +02:00 |
|
Bartosz Taudul
|
5bd35eb34e
|
Open file preview in text editor.
|
2018-08-17 14:54:28 +02:00 |
|
Bartosz Taudul
|
9dbc56beb6
|
Initialize text editor.
|
2018-08-17 14:44:41 +02:00 |
|
Bartosz Taudul
|
df14cf5330
|
Implement callstack tree of memory allocations.
|
2018-08-14 18:37:06 +02:00 |
|
Bartosz Taudul
|
29c6498890
|
Add minimal trace info window.
|
2018-08-08 19:25:13 +02:00 |
|
Bartosz Taudul
|
2a08687afe
|
Left click on message marker displays it on the msg list.
|
2018-08-05 16:57:21 +02:00 |
|
Bartosz Taudul
|
1d0203ac17
|
Abstracted away one-frame-decay values.
|
2018-08-05 16:45:34 +02:00 |
|
Bartosz Taudul
|
44e027ad11
|
Highlight message markers on timeline.
|
2018-08-05 16:37:51 +02:00 |
|
Bartosz Taudul
|
1ea1cd57b3
|
Use proper frame names.
|
2018-08-04 21:19:24 +02:00 |
|
Bartosz Taudul
|
aad3e941e5
|
Draw multiple frame sets.
|
2018-08-04 21:10:45 +02:00 |
|
Bartosz Taudul
|
23dfc2e3fc
|
Multiple frame sets support.
|
2018-08-04 21:10:45 +02:00 |
|
Bartosz Taudul
|
b4f4fcfde9
|
Add zoom-to-middle-mouse-button-selection-range.
|
2018-07-29 20:15:49 +02:00 |
|
Bartosz Taudul
|
8ddf32bc6b
|
Highlight zones with the same srcloc on hover.
|
2018-07-28 19:53:11 +02:00 |
|
Bartosz Taudul
|
6a3a9c0bc5
|
Load second trace on a separate thread.
|
2018-07-28 18:47:33 +02:00 |
|
Bartosz Taudul
|
d1cef20c0b
|
Allow sorting groups by time.
|
2018-07-21 23:58:50 +02:00 |
|
Bartosz Taudul
|
cacbac8915
|
Calculate and display group times.
|
2018-07-21 23:53:11 +02:00 |
|
Bartosz Taudul
|
d03356c1f5
|
Rename "threads" to "groups" in find zone data structs.
|
2018-07-21 23:41:50 +02:00 |
|
Bartosz Taudul
|
9291a88020
|
Zones can be now also grouped by call stack.
|
2018-07-21 20:26:13 +02:00 |
|
Bartosz Taudul
|
389e0facd3
|
Draw memory allocation range on mouse hover on mem event.
|
2018-07-19 15:43:45 +02:00 |
|
Bartosz Taudul
|
cf3bf4378b
|
No need to return MemEvent ptr from DrawAddress().
|
2018-07-17 23:13:56 +02:00 |
|
Bartosz Taudul
|
0889334462
|
Add memory allocation info window.
|
2018-07-17 23:03:03 +02:00 |
|
Bartosz Taudul
|
6485a090ed
|
Separate small callstack button setup.
|
2018-07-17 22:53:38 +02:00 |
|
Bartosz Taudul
|
561d2dc360
|
Use the fastest mutex available.
The selection is based on the following test results:
MSVC:
=== Lock test, 6 threads ===
=> NonRecursiveBenaphore
No contention: 11.641 ns/iter
2 thread contention: 141.559 ns/iter
3 thread contention: 242.733 ns/iter
4 thread contention: 409.807 ns/iter
5 thread contention: 561.544 ns/iter
6 thread contention: 785.845 ns/iter
=> std::mutex
No contention: 19.190 ns/iter
2 thread contention: 39.305 ns/iter
3 thread contention: 58.999 ns/iter
4 thread contention: 59.532 ns/iter
5 thread contention: 103.539 ns/iter
6 thread contention: 110.314 ns/iter
=> std::shared_timed_mutex
No contention: 45.487 ns/iter
2 thread contention: 96.351 ns/iter
3 thread contention: 142.871 ns/iter
4 thread contention: 184.999 ns/iter
5 thread contention: 336.608 ns/iter
6 thread contention: 542.551 ns/iter
=> std::shared_mutex
No contention: 10.861 ns/iter
2 thread contention: 17.495 ns/iter
3 thread contention: 31.126 ns/iter
4 thread contention: 40.468 ns/iter
5 thread contention: 15.677 ns/iter
6 thread contention: 64.505 ns/iter
Cygwin (clang):
=== Lock test, 6 threads ===
=> NonRecursiveBenaphore
No contention: 11.536 ns/iter
2 thread contention: 121.082 ns/iter
3 thread contention: 396.430 ns/iter
4 thread contention: 672.555 ns/iter
5 thread contention: 1327.761 ns/iter
6 thread contention: 14151.955 ns/iter
=> std::mutex
No contention: 62.583 ns/iter
2 thread contention: 3990.464 ns/iter
3 thread contention: 7161.189 ns/iter
4 thread contention: 9870.820 ns/iter
5 thread contention: 12355.178 ns/iter
6 thread contention: 14694.903 ns/iter
=> std::shared_timed_mutex
No contention: 91.687 ns/iter
2 thread contention: 1115.037 ns/iter
3 thread contention: 4183.792 ns/iter
4 thread contention: 15283.491 ns/iter
5 thread contention: 27812.477 ns/iter
6 thread contention: 35028.140 ns/iter
=> std::shared_mutex
No contention: 91.764 ns/iter
2 thread contention: 1051.826 ns/iter
3 thread contention: 5574.720 ns/iter
4 thread contention: 15721.416 ns/iter
5 thread contention: 27721.487 ns/iter
6 thread contention: 35420.404 ns/iter
Linux (x64):
=== Lock test, 6 threads ===
=> NonRecursiveBenaphore
No contention: 13.487 ns/iter
2 thread contention: 210.317 ns/iter
3 thread contention: 430.855 ns/iter
4 thread contention: 510.533 ns/iter
5 thread contention: 1003.609 ns/iter
6 thread contention: 1787.683 ns/iter
=> std::mutex
No contention: 12.403 ns/iter
2 thread contention: 157.122 ns/iter
3 thread contention: 186.791 ns/iter
4 thread contention: 265.073 ns/iter
5 thread contention: 283.778 ns/iter
6 thread contention: 270.687 ns/iter
=> std::shared_timed_mutex
No contention: 21.509 ns/iter
2 thread contention: 150.179 ns/iter
3 thread contention: 256.574 ns/iter
4 thread contention: 415.351 ns/iter
5 thread contention: 611.532 ns/iter
6 thread contention: 944.695 ns/iter
=> std::shared_mutex
No contention: 20.805 ns/iter
2 thread contention: 157.034 ns/iter
3 thread contention: 244.025 ns/iter
4 thread contention: 406.269 ns/iter
5 thread contention: 387.985 ns/iter
6 thread contention: 468.550 ns/iter
Linux (arm64):
=== Lock test, 6 threads ===
=> NonRecursiveBenaphore
No contention: 20.891 ns/iter
2 thread contention: 211.037 ns/iter
3 thread contention: 409.962 ns/iter
4 thread contention: 657.441 ns/iter
5 thread contention: 828.405 ns/iter
6 thread contention: 1131.827 ns/iter
=> std::mutex
No contention: 50.884 ns/iter
2 thread contention: 103.620 ns/iter
3 thread contention: 332.429 ns/iter
4 thread contention: 620.802 ns/iter
5 thread contention: 783.943 ns/iter
6 thread contention: 834.002 ns/iter
=> std::shared_timed_mutex
No contention: 64.948 ns/iter
2 thread contention: 173.191 ns/iter
3 thread contention: 490.352 ns/iter
4 thread contention: 660.668 ns/iter
5 thread contention: 1014.546 ns/iter
6 thread contention: 1451.553 ns/iter
=> std::shared_mutex
No contention: 64.521 ns/iter
2 thread contention: 195.222 ns/iter
3 thread contention: 490.819 ns/iter
4 thread contention: 654.786 ns/iter
5 thread contention: 955.759 ns/iter
6 thread contention: 1282.544 ns/iter
|
2018-07-14 00:39:01 +02:00 |
|