Bartosz Taudul
ff6ecef5f3
Add source preview to statistics window.
2021-03-27 14:02:52 +01:00
Bartosz Taudul
62ac5544b6
Trim empty lines at top and bottom of source preview.
2021-03-27 13:55:22 +01:00
Bartosz Taudul
a15ba0c7fb
Show source preview tooltip in find zones.
2021-03-27 13:47:20 +01:00
Bartosz Taudul
895a63b41a
Add source preview to call stack window.
2021-03-27 13:43:12 +01:00
Bartosz Taudul
e2be45c0ba
Show preview of lock source locations in options window.
2021-03-27 13:43:12 +01:00
Bartosz Taudul
8f0c5e867e
Source tooltip implementation.
2021-03-27 13:43:11 +01:00
Bartosz Taudul
0b6e55ee87
Store fixed-width font in View.
2021-03-27 13:43:11 +01:00
Bartosz Taudul
d56f7dab09
Remove unneeded forward declarations.
2021-03-27 13:05:59 +01:00
Bartosz Taudul
1cb6c17991
Move syntax color tables to a common header.
2021-03-27 13:03:19 +01:00
Bartosz Taudul
ff5435ff67
Cosmetics.
2021-03-27 13:03:19 +01:00
Bartosz Taudul
0b5a923e91
Display preview of source code for assembly instructions.
2021-03-26 02:42:15 +01:00
Bartosz Taudul
bd4335bace
Move source file parsing logic to a separate file.
2021-03-26 02:42:14 +01:00
Bartosz Taudul
174bb4d2f1
Extract source code tokenizer to a separate file.
2021-03-26 01:53:49 +01:00
Bartosz Taudul
b80899863b
Consistently use "entry call stacks".
2021-03-26 00:40:54 +01:00
Bartosz Taudul
2fe1fb974a
Display number of entry call stacks in a tooltip.
2021-03-26 00:27:23 +01:00
Bartosz Taudul
514acf1bac
Don't copy stats.
2021-03-26 00:21:19 +01:00
Bartosz Taudul
29133431bc
Calculate symbol address for parents earlier.
...
While currently this makes no sense, it will be also used in common code
path.
2021-03-26 00:17:46 +01:00
Bartosz Taudul
ec16182887
Only pack pointer if needed.
2021-03-26 00:14:12 +01:00
Stone Tickle
1918c0ffe6
fix TRACY_NO_FILESELECTOR macro
2021-03-17 08:51:24 +09:00
Bartosz Taudul
8dd92f32af
Handle memory double allocation failure.
2021-03-09 22:19:42 +01:00
Bartosz Taudul
6d5710901c
Fix ZoneColor channel order.
2021-03-09 02:14:57 +01:00
Bartosz Taudul
b51e3fbbc8
Remove unneeded variable.
2021-02-07 21:08:52 +01:00
Bartosz Taudul
9b5cc3352a
Fast search for zone tid in GetZoneThreadData().
2021-02-07 20:27:33 +01:00
Bartosz Taudul
c6c9fec383
Faster search for tid of zone in GetZoneParent().
2021-02-07 20:27:33 +01:00
Bartosz Taudul
35267abc8e
Remove obsolete GetZoneDepth() method.
2021-02-07 19:58:23 +01:00
Bartosz Taudul
02451fecd7
Remove not needed methods from SortedVector.
2021-02-07 19:36:45 +01:00
Bartosz Taudul
18e893752b
Use SortedVector for source location zones.
2021-02-07 19:35:53 +01:00
Bartosz Taudul
0100d0beb4
SortedVector has to provide reserve().
2021-02-07 19:35:23 +01:00
Bartosz Taudul
c220177828
Do postponed work only when needed.
2021-02-07 18:29:29 +01:00
Bartosz Taudul
9bb1d13afa
Revert to non-shared mutex for data lock.
...
The main change here is that the UI will be unresponsive when a trace is being
saved when there's no capture being performed. Note that the UI was always
frozen during saving if the capture was live, due to how starvation is
prevented by the locks.
2021-02-07 18:11:36 +01:00
Bartosz Taudul
417d526581
Use SortedVector for plot data.
2021-02-07 15:52:08 +01:00
Bartosz Taudul
90c873421c
Implement main sorting functionality in SortedVector.
2021-02-07 15:50:27 +01:00
Bartosz Taudul
e2db68e5f0
Comment out unneeded (for now) methods in SortedVector.
2021-02-07 15:49:16 +01:00
Bartosz Taudul
dcd76fc369
Add pass-through sorted vector wrapper.
2021-02-07 14:43:05 +01:00
Bartosz Taudul
3400331de1
Check source file validity against executable time.
2021-02-06 22:59:07 +01:00
Bartosz Taudul
ad2062fb40
Last-resort source code transfer from client to server.
2021-02-04 00:45:00 +01:00
Bartosz Taudul
f97223e394
Rename ParamPingback to more generic AckServerQueryNoop.
2021-02-04 00:03:58 +01:00
Bartosz Taudul
53505373c7
Always show full symbol name in ghost zone popups.
2021-01-31 20:49:49 +01:00
Bartosz Taudul
ab4d7259ea
Display GPU context name in options menu.
2021-01-31 19:15:23 +01:00
Bartosz Taudul
f068a1d31f
Display GPU context name in thread track labels.
2021-01-31 19:15:23 +01:00
Bartosz Taudul
c4a6f3f980
Save/load GPU context names.
2021-01-31 19:15:23 +01:00
Bartosz Taudul
7bb6114270
Process GPU context name messages.
2021-01-31 19:15:23 +01:00
Bartosz Taudul
82a9c3b2c8
Display program build time.
2021-01-31 17:58:33 +01:00
Bartosz Taudul
3ff1692918
Add executable time accessor.
2021-01-31 17:51:55 +01:00
Bartosz Taudul
8d39f91c6e
Save/load executable image mtime.
2021-01-31 17:51:16 +01:00
Bartosz Taudul
6c728f6d23
Cosmetics.
2021-01-31 17:24:41 +01:00
Bartosz Taudul
c08d591bf3
Use proper capstone include path.
2021-01-26 20:35:57 +01:00
Bartosz Taudul
2b3405b9c7
Fix usage of deprecated stat64 on apple.
2021-01-26 20:09:34 +01:00
Bartosz Taudul
81c91a87fc
Search in cache before issuing syscall.
2021-01-26 01:47:00 +01:00
Bartosz Taudul
ccf441176b
Merge pull request #168 from jkriegshauser/improve-import
...
Improve chrome import
2021-01-22 14:57:52 +01:00
joshuakr
c96f01956d
PR feedback: write the name into the tracy file
2021-01-21 18:33:59 -08:00
joshuakr
c5261e42ba
Fix for macOS build
2021-01-21 17:41:55 -08:00
Bartosz Taudul
efc856f842
Fix vertical padding of items in CPU data table.
2021-01-22 02:34:01 +01:00
joshuakr
2920f97911
Imported Chrome traces bring over thread names
2021-01-21 17:26:00 -08:00
joshuakr
25a95d99c0
Imported chrome traces show the file name in the title bar
2021-01-21 17:25:53 -08:00
Bartosz Taudul
239a17deb9
Fix typo.
2021-01-22 02:17:12 +01:00
Bartosz Taudul
e33f8e66d5
Set appropriate flags for CPU data table columns.
2021-01-21 23:26:32 +01:00
Bartosz Taudul
dee6395acf
Update pdqsort.
...
978bc36a9b
2021-01-21 23:26:32 +01:00
Bartosz Taudul
0fc6ebc67d
Another ImGuiTableColumnFlags_WidthAuto fix.
2021-01-21 23:26:32 +01:00
Bartosz Taudul
a4764141c6
Support serial callstacks when processing GPU zones.
2021-01-15 22:11:34 +01:00
Bartosz Taudul
d4c0d4fbb7
Rename CallstackMemory to CallstackSerial.
2021-01-15 20:49:39 +01:00
Bartosz Taudul
c66b2cb536
Process allocated source location GPU zones.
2021-01-15 20:33:45 +01:00
Bartosz Taudul
d827832d4d
Don't operate on short_ptr.
2021-01-15 20:25:07 +01:00
Bartosz Taudul
44020487d2
Keep zone begin implementations together.
2021-01-15 20:20:34 +01:00
Bartosz Taudul
cc5c20db46
Bump ImGui.
2021-01-08 19:33:04 +01:00
Bartosz Taudul
6e715cf346
Use tables for callstack sample parents.
2020-12-16 15:05:35 +01:00
Bartosz Taudul
f1d48b1298
Use tables for call stack view.
2020-12-16 15:01:07 +01:00
Bartosz Taudul
325bcc035a
Use tables to list memory entries.
2020-12-15 15:43:55 +01:00
Bartosz Taudul
6bb77d55a1
Use tables in CPU data view.
2020-12-09 21:53:36 +01:00
Bartosz Taudul
dc6893f419
Use tables for sampled statistics menu.
2020-12-09 21:36:53 +01:00
Bartosz Taudul
63e0170048
Find zones zone list fixes.
2020-12-09 21:18:40 +01:00
Bartosz Taudul
f1a641a838
Use tables for instrumented zones statistics.
2020-12-09 20:55:00 +01:00
Bartosz Taudul
6300f59183
Use tables in find zone zones list.
2020-12-09 02:18:06 +01:00
Bartosz Taudul
c437ecfcf5
Remove unneeded variable.
2020-12-08 19:55:20 +01:00
Bartosz Taudul
a0bae4aa00
Allow hiding columns in some tables.
2020-12-08 19:55:20 +01:00
Bartosz Taudul
b4860bbe4d
Use tables in messages list.
2020-12-08 19:55:20 +01:00
Bartosz Taudul
45078cd99d
Remove table row backgrounds.
2020-12-08 19:55:20 +01:00
Bartosz Taudul
18ac6ee548
Use tables for time distribution.
2020-12-08 19:55:19 +01:00
Bartosz Taudul
34683ceb4d
Use tables in the failure callstack view.
2020-12-08 19:55:19 +01:00
Bartosz Taudul
a0bf2f5605
ImGui::BeginTable() is conditional.
2020-12-08 19:55:19 +01:00
Bartosz Taudul
9a0e7abefa
Use proper identifier.
2020-12-08 19:55:19 +01:00
Bartosz Taudul
c23eb2f7fb
Limit table size to 14 elements.
2020-12-08 19:55:19 +01:00
Bartosz Taudul
d962301124
Use tables for message list in zone info window.
2020-12-08 19:55:19 +01:00
Bartosz Taudul
99c4b9ef5f
Use tables for wait regions.
2020-12-08 19:55:19 +01:00
Bartosz Taudul
a7cdffa736
Use tables for trace parameters.
2020-12-08 19:55:19 +01:00
Bartosz Taudul
3495a5a678
Print Arm machine code as a 4-byte number would be printed.
2020-11-28 13:24:56 +01:00
Ben Vanik
7dfdad2e02
Adding ZoneColor to set a dynamic color override to an existing zone.
2020-11-27 20:12:24 +01:00
Bartosz Taudul
d0acee2a9a
Add missing default no-op to switch.
2020-11-23 22:58:40 +01:00
Bartosz Taudul
34e208368d
Add missing include.
2020-11-23 22:58:12 +01:00
Bartosz Taudul
de69fc9850
Check if plot data values are finite numbers.
2020-11-23 22:48:55 +01:00
Bartosz Taudul
37c9a5807f
Fix statistics image name filter clear button.
2020-11-18 01:30:28 +01:00
Bartosz Taudul
53eacd3dc2
Add lost connection popup.
2020-11-18 01:24:22 +01:00
Bartosz Taudul
78fd523a4b
Don't print "connected to" after disconnection.
2020-11-18 01:24:22 +01:00
Bartosz Taudul
e580dfeed3
Release 0.7.4.
2020-11-15 21:51:34 +01:00
Bartosz Taudul
63e3c236f4
Add Zen 3 to list of uarchs.
2020-11-15 21:29:59 +01:00
Bartosz Taudul
31e20cba68
Add Zen 3 uarch measurements.
2020-11-15 21:23:15 +01:00
Bartosz Taudul
af4c9b7cdc
Draw frame targets.
2020-11-15 16:16:36 +01:00
Bartosz Taudul
8a1d8e4bac
Add frame target UI.
2020-11-15 15:46:23 +01:00
Bartosz Taudul
81dcd2c767
Optional namespace shortening for ghost zones.
2020-11-14 16:23:35 +01:00
Bartosz Taudul
2ac7048248
Support source location dynamic colors for ghost zones.
2020-11-14 16:18:27 +01:00
Bartosz Taudul
2f77885fd9
Show if an matching microarchitecture is selected.
2020-11-13 17:37:53 +01:00
Bartosz Taudul
dcddf8898b
Display memory usage also as a percentage.
2020-11-13 17:22:10 +01:00
Bartosz Taudul
2bf00b5eab
Get available physical memory size in viewer.
2020-11-13 17:09:57 +01:00
Bartosz Taudul
d7059eca63
Prepare for Zen 3.
...
0xA20F10 is Vermeer.
2020-11-07 00:26:45 +01:00
Bartosz Taudul
30b4eafa22
Add Zen 2 CPU ids.
...
0x860F81 is Lucienne.
0x890F00 is VanGogh.
2020-11-07 00:26:00 +01:00
Bartosz Taudul
b36e821cc7
Add cascade lake CPU ids.
2020-11-07 00:20:55 +01:00
Bartosz Taudul
02c90db2e4
Display op description, if available.
2020-11-07 00:16:10 +01:00
Bartosz Taudul
322cc3bf12
Add missing op description list definition.
2020-11-07 00:15:58 +01:00
Bartosz Taudul
a5fd6662be
Add CLX to list of uarchs.
2020-11-07 00:07:20 +01:00
Bartosz Taudul
c08d081f9a
Update uops.info data to 05.11.2020.
2020-11-06 23:59:57 +01:00
Bartosz Taudul
e5967bdc52
Fix context switch + samples offset logic.
2020-11-06 00:20:26 +01:00
Bartosz Taudul
a48d540854
Cache statistics range-limited data.
2020-11-01 16:24:08 +01:00
Bartosz Taudul
87c3796e84
Fix division by zero if no sampling data is present.
2020-11-01 14:45:26 +01:00
Bartosz Taudul
7791654896
Allow copying callstack to clipboard.
2020-10-30 18:27:52 +01:00
Bartosz Taudul
0c48956410
Fix parsing of source files that do not end in newline.
2020-10-28 21:43:03 +01:00
Bartosz Taudul
651cfd5c21
Now apple has to be stupid.
...
Remove this when they get their shit together with parallel execution.
2020-10-28 21:16:26 +01:00
Bartosz Taudul
3976408550
Adapt to non-obsolete ImGuiListClipper interface.
2020-10-18 22:51:59 +02:00
Bartosz Taudul
00c9dd24dc
Use last range mode if no frames are available.
...
If during the first 5 seconds of the trace there are no frames being reported,
the profiler will switch to following last 5 seconds of the trace, instead of
displaying three last frames.
2020-10-06 18:46:36 +02:00
Bartosz Taudul
98e3822c88
C arrays are so much fun!
2020-10-06 14:58:42 +02:00
Bartosz Taudul
c9b64ef5c5
Move list of Tracy stack frames to a separate file.
2020-10-06 14:37:39 +02:00
Bartosz Taudul
e613c458dd
Fix vertical alignment.
2020-10-06 01:38:40 +02:00
Bartosz Taudul
5af7f6ea0b
Add memory pool selector to zone info window.
2020-10-06 01:32:03 +02:00
Bartosz Taudul
07fe1266b0
Fix string iteration condition.
2020-10-02 19:31:42 +02:00
Bartosz Taudul
a2f0f7754d
Fix integer types.
2020-10-02 19:30:01 +02:00
Bartosz Taudul
b6724bec3a
Ports are uint16_t.
2020-10-02 18:51:54 +02:00
Bartosz Taudul
4791b63ef8
Use int64_t for time.
2020-10-02 18:37:15 +02:00
Bartosz Taudul
8aae9a1477
Shut the compiler up about unused helper functions.
2020-10-02 18:33:13 +02:00
Bartosz Taudul
a5e0336936
Add missing server query space updates to failure handling.
2020-09-30 16:48:59 +02:00
Bartosz Taudul
0d209b80f4
Show call stack in failure dialog.
2020-09-30 16:32:34 +02:00
Bartosz Taudul
9d392d2c90
Process call stack frames during failure dispatch.
2020-09-30 15:57:14 +02:00
Bartosz Taudul
641649143c
Make symbol queries optional.
2020-09-30 15:49:29 +02:00
Bartosz Taudul
cecc3783a8
Handle single and second string data in failure dispatch.
2020-09-30 15:46:00 +02:00
Bartosz Taudul
3135191e90
Wait for failure callstack to be received.
2020-09-29 18:40:04 +02:00
Bartosz Taudul
d8e653ecb4
Set memory failure callstack.
2020-09-29 18:40:04 +02:00
Bartosz Taudul
98aaca9597
Default-initialize failure data struct.
2020-09-29 18:40:04 +02:00
Bartosz Taudul
44aef7660d
Don't keep two variables to track one thing.
2020-09-29 17:04:41 +02:00
Bartosz Taudul
d5b6befda2
Handle new callstack ordering on server.
2020-09-29 16:59:28 +02:00
Bartosz Taudul
e3d690df63
Cosmetics.
2020-09-25 18:10:22 +02:00
Bartosz Taudul
4c3dce6712
Preserve separate memory tree state for each pool.
2020-09-25 17:55:43 +02:00
Bartosz Taudul
ae14e7a879
Expose custom memory pools in the UI.
2020-09-25 17:51:05 +02:00
Bartosz Taudul
d238c97452
Save/load custom memory types.
2020-09-25 16:39:00 +02:00
Bartosz Taudul
ba4315c286
Store memory name in MemData struct.
2020-09-25 16:36:03 +02:00
Bartosz Taudul
97e17a8d49
Support custom names for memory plots.
2020-09-24 01:31:24 +02:00
Bartosz Taudul
5a6c8b4696
Process named memory allocations.
2020-09-24 01:31:24 +02:00
Bartosz Taudul
751692eedd
Don't track latest trace events if there's no connection.
2020-09-24 01:31:24 +02:00
Bartosz Taudul
d1ea97b474
Prepare for handling multiple memory areas.
2020-09-24 01:31:23 +02:00
Bartosz Taudul
46f0853f1b
Process memory name payload transfer.
2020-09-24 01:31:23 +02:00
Bartosz Taudul
a9ce4f6454
Cosmetics.
2020-09-24 01:31:23 +02:00
Bartosz Taudul
a668b61320
Allow ignoring custom zone colors.
2020-09-21 02:04:13 +02:00
Bartosz Taudul
5490948567
Release 0.7.2.
2020-09-14 22:55:41 +02:00
Bartosz Taudul
05f0ffd0ed
Add "reconnect" button to connection failure dialogs.
2020-09-12 15:52:21 +02:00
Bartosz Taudul
812f869669
Decouple zoom level from tracking last events.
2020-09-12 15:49:41 +02:00
Bartosz Taudul
75ae14cd04
Use in-place merge to sort symbol data.
2020-09-07 01:47:11 +02:00
Bartosz Taudul
4b97528604
Streamline "waiting for connection" dialog.
2020-09-06 13:54:22 +02:00
Bartosz Taudul
4ac0e7d955
Allow filtering sampling results by image name.
2020-08-21 14:23:23 +02:00
Bartosz Taudul
0f13a02062
Properly terminate symbol inline location data.
...
Previously there was no end value on which iteration would stop in case of
the last-in-the-process-space symbol, which resulted in out-of-bounds read.
Workaround has been added for versions < 0.7.2, but no version bump has been
performed (still at 0.7.1). Having two terminator values at the end of the
list is harmless.
2020-08-20 18:50:20 +02:00
Bartosz Taudul
7cf3b0b004
Workaround issues with sample order.
2020-08-18 21:53:52 +02:00
Bartosz Taudul
5239b706c3
Allow disabling code transfer.
2020-08-16 01:31:54 +02:00
Bartosz Taudul
28af5230d3
Perform OpenGL texture cleanup only on main thread.
2020-08-15 15:02:36 +02:00
Bartosz Taudul
a3d8b5d225
Allow running specific tasks on main thread.
2020-08-15 14:59:16 +02:00
Bartosz Taudul
caa1b1a792
Fix initialization list order.
2020-08-15 02:26:35 +02:00
Bartosz Taudul
f828fed015
Remove unused variables.
2020-08-15 02:23:04 +02:00
Bartosz Taudul
be0e3b9cc4
Silence memcpy/memset warnings.
2020-08-15 02:14:29 +02:00
Bartosz Taudul
833653ce40
Display time stamp when hovering mouse over time scale.
2020-08-14 13:28:34 +02:00
Bartosz Taudul
5e559322a0
Properly check if symbol code is available.
2020-08-14 12:38:56 +02:00
Bartosz Taudul
16eef3f966
Clamp frame image textures to edge.
2020-08-13 18:16:10 +02:00
Bartosz Taudul
321c079205
Fix typo.
2020-08-13 16:56:56 +02:00
Bartosz Taudul
fa7d515165
Display base symbol address in symbol view window.
2020-08-13 16:36:13 +02:00
Bartosz Taudul
b6feb99e98
Show which symbols are available.
2020-08-13 16:24:09 +02:00
Bartosz Taudul
b6d54281a9
Ignore unknown source lines during ip stats gathering.
2020-08-13 00:34:55 +02:00
Bartosz Taudul
8e9a701277
Fix crash when trying to open unavailable source file.
2020-08-12 19:05:16 +02:00
Bartosz Taudul
8cfc614047
Include time range limits in symbol view functions list.
2020-08-11 21:07:23 +02:00
Bartosz Taudul
46163a1989
Implement asm ip stats counter.
2020-08-11 21:07:23 +02:00
Bartosz Taudul
7aa8e408df
Remove unused variable.
2020-08-11 16:02:07 +02:00
Bartosz Taudul
34fa99c7ee
Restrict sample statistics percentages to time range limit.
2020-08-11 15:50:54 +02:00
Bartosz Taudul
b9a810827d
Make instrumented statistics percentages relative to time range.
2020-08-11 15:38:55 +02:00
Bartosz Taudul
6feb017cbe
Also display statistics time range if symbol view is open.
2020-08-10 19:03:32 +02:00
Bartosz Taudul
b9b39f1957
Allow checking if source view is symbol view.
2020-08-10 19:03:23 +02:00
Bartosz Taudul
5dd7c7e402
Add time range limiting to symbol view.
2020-08-10 18:58:33 +02:00
Bartosz Taudul
7a4ecc5417
Store instruction pointers in per-symbol sample data.
2020-08-10 14:52:51 +02:00
Bartosz Taudul
85f54499fe
Add range limit UI to symbol view.
2020-08-10 12:11:07 +02:00
Bartosz Taudul
339ed7cc4d
Fix tooltip stroboscope.
2020-08-09 21:40:06 +02:00
Bartosz Taudul
06ac6f4f24
Build per-symbol samples list during live capture.
2020-08-09 21:04:03 +02:00
Bartosz Taudul
3be0a3f628
Vector is not empty here.
2020-08-09 20:46:44 +02:00
Bartosz Taudul
1650d371e6
Actually set self time option, if required.
2020-08-07 19:43:31 +02:00
Bartosz Taudul
d6aa814de5
Use time limited data for inline stats.
2020-08-07 19:42:18 +02:00
Bartosz Taudul
d151aff237
Allow time limiting sampled call stacks statistics.
2020-08-07 19:26:19 +02:00
Bartosz Taudul
b418c98e63
Add symbol samples accessor.
2020-08-07 19:14:21 +02:00
Bartosz Taudul
aa8b60a824
Calculate per-symbol sample time list.
...
This is for loaded traces. Real time capture will be implemented later.
2020-08-07 19:05:27 +02:00
Bartosz Taudul
87e7cba289
Disable samples limit range until background job is done.
2020-08-07 14:54:00 +02:00
Simon van Bernem
d06617b2a5
Fixed variable name
2020-08-07 10:55:00 +02:00
Simon van Bernem
4e1ed15237
More matching code-style
2020-08-07 10:45:52 +02:00
Simon van Bernem
ab85fba7e0
Matching the braketing style
2020-08-07 10:42:36 +02:00
Simon van Bernem
903b7badc0
next try
2020-08-07 10:39:22 +02:00
Simon van Bernem
e14bb56db1
matching spacing to remove change from original
2020-08-07 10:38:38 +02:00
Simon van Bernem
b826c14e4d
reverted an unnecessary change
2020-08-07 10:37:19 +02:00
Simon van Bernem
3dd80c5288
DrawStripedRect can now draw screen-space stripes
...
Added two parameters to DrawStripedRect: fix_stripes_in_screen_space aligns the stripes to screen space. This leads to the stripes of any stripe rect being drawn aligning. Also added inverted, which flips the empty and filled part of the striped rect. This is used to make statRange and findZone stripes interleave, when they overlap.
2020-08-07 10:24:13 +02:00
Bartosz Taudul
550e05d149
Fix time range limits created by reverse-mouse-drag.
2020-08-07 00:24:22 +02:00
Bartosz Taudul
983aba7a0b
Self time is forced for range limit in sampling stats.
2020-08-06 17:22:47 +02:00
Bartosz Taudul
0a0d04fff6
Add time range limits to instrumentation statistics.
2020-08-06 15:22:10 +02:00
Bartosz Taudul
b68423fc1a
Fix copy pasta.
2020-08-06 15:22:10 +02:00
Bartosz Taudul
71440cc6ee
Use custom data structure for temporary stats data.
2020-08-06 15:22:10 +02:00
Bartosz Taudul
251e8f1fe2
Fix vertical panning.
2020-08-05 17:20:19 +02:00
Bartosz Taudul
c4cf690e39
Display annotation extent on annotations list.
2020-08-04 17:31:33 +02:00
Bartosz Taudul
05c60259b6
Display exact time for annotation begin, end.
2020-08-04 17:26:00 +02:00
Bartosz Taudul
22e86af4ab
Remove redundant tooltip.
2020-08-04 17:24:59 +02:00
Bartosz Taudul
a5c16a39ba
Make annotations resizable.
2020-08-04 17:23:12 +02:00
Bartosz Taudul
f589fba274
Use Range for annotation extent.
2020-08-04 17:14:58 +02:00
Bartosz Taudul
2acc1d9670
Move Range, RangeSlim out of View.
2020-08-04 17:09:17 +02:00
Bartosz Taudul
68e452802b
Allow performing range copies from one to another.
2020-08-04 17:06:24 +02:00
Bartosz Taudul
85e8a6a81c
Add icons to range limits window entries.
2020-08-04 17:06:24 +02:00
Bartosz Taudul
67e86d2b27
Add context menus to ghost zones.
2020-08-04 17:06:24 +02:00
Bartosz Taudul
bd51add4f1
Display zone range popup area.
2020-08-04 17:06:24 +02:00
Bartosz Taudul
321fa06a3d
Merge adding annotations and setting range limits.
2020-08-04 16:40:35 +02:00
Bartosz Taudul
79fc917483
Hook-up statistics time range logic.
2020-08-04 14:31:53 +02:00
Bartosz Taudul
7fe1560ca5
Change find zone limit range color to green.
2020-08-04 14:23:37 +02:00
Bartosz Taudul
1e526cfc09
Extract range entry drawing.
2020-08-04 14:20:35 +02:00
Bartosz Taudul
9449f3ef89
Add time range limit UI to statistics menu.
2020-08-04 14:15:28 +02:00
Bartosz Taudul
a23f58cc8f
Add spacing in find zone menu.
2020-08-04 14:13:12 +02:00
Bartosz Taudul
ed01a3e4e0
Extract common filtering UI logic.
2020-08-04 14:09:59 +02:00
Bartosz Taudul
21589a238b
Reduce size of statistics menu controls.
2020-08-04 14:06:32 +02:00
Bartosz Taudul
2f94b44a6c
Move filter UI to a separate line in statistics menu.
2020-08-03 17:08:47 +02:00
Bartosz Taudul
9b1573d803
Add limits button to find zone menu.
2020-08-03 16:07:38 +02:00
Bartosz Taudul
02aae23a98
Move limits button to tools submenu.
2020-08-03 16:07:28 +02:00
Bartosz Taudul
498781b5bf
Clear potential click after mouse button is released.
2020-08-01 13:01:04 +02:00
Bartosz Taudul
734b0c25d9
Fix typo.
2020-08-01 12:55:49 +02:00
Bartosz Taudul
7d34350bf3
Drag delta (accumulated) shouldn't be consumed.
2020-08-01 12:36:52 +02:00
Bartosz Taudul
b33445c073
Open context menus without ctrl key.
2020-08-01 12:35:30 +02:00
Bartosz Taudul
b4021d7d79
Add mouse click vs drag logic.
2020-08-01 12:35:15 +02:00
Bartosz Taudul
4da8385300
Range overlay resize has priority over other mouse interactions.
2020-08-01 12:11:06 +02:00
Bartosz Taudul
22651eccc5
Implement consumption of mouse events.
2020-08-01 12:10:59 +02:00
Bartosz Taudul
6d0d12ce78
Remove unneeded parameter.
2020-08-01 12:03:11 +02:00
Bartosz Taudul
6836014caa
Capture ImGui mouse state.
2020-08-01 12:02:11 +02:00
Bartosz Taudul
39197b9ff8
Use mouse wrappers.
2020-08-01 11:53:11 +02:00
Bartosz Taudul
733b9c4048
Add wrapper for ImGui mouse handling.
2020-08-01 11:49:43 +02:00
Bartosz Taudul
dbcc908dee
Fix initialization.
2020-07-31 18:10:03 +02:00
Bartosz Taudul
19246a027f
Allow limiting find zone time range to zone extent.
2020-07-31 18:01:07 +02:00
Bartosz Taudul
efc9c7c58f
Add color key for find zone time range.
2020-07-31 17:57:54 +02:00
Bartosz Taudul
65e00eb2d4
Show time limit overlay if range window is open.
2020-07-31 17:54:46 +02:00
Bartosz Taudul
2bce9319d0
Allow focusing to find zone time range.
2020-07-31 17:51:47 +02:00
Bartosz Taudul
1215eb4de5
Allow limiting find zone time range to a frame.
2020-07-31 17:50:12 +02:00
Bartosz Taudul
8091207d26
Add time limit ranges window.
2020-07-31 16:37:47 +02:00
Bartosz Taudul
9633617810
Don't change time range limit when enabling it.
2020-07-31 16:19:35 +02:00
Bartosz Taudul
0d2914bbe8
Display thumbnail of current frame image in connection popup.
2020-07-30 01:58:08 +02:00
Bartosz Taudul
f367b16dc0
Add missing operator.
2020-07-29 19:13:10 +02:00
Bartosz Taudul
7f90a0a84e
Proper test for hovering mouse over the timeline.
2020-07-29 19:03:54 +02:00
Bartosz Taudul
e406ce5aab
Fix typo.
2020-07-29 19:00:37 +02:00
Bartosz Taudul
5aff4b0f50
Set proper mouse cursor on range boundaries.
2020-07-29 18:54:10 +02:00
Bartosz Taudul
58428e7ede
Dynamically adapt find zone results to range limit.
2020-07-29 18:48:49 +02:00
Bartosz Taudul
c1bf853310
Drag range boundary to change its span.
2020-07-29 18:42:53 +02:00
Bartosz Taudul
2f5f2e5b1d
Add range boundary highlight.
2020-07-29 18:42:52 +02:00
Bartosz Taudul
ff5daf9df7
Proper handling of mouse over timeline view.
...
This fixes:
- Dead zones between header, frame sets and the rest of timeline
display.
- One-frame frame set position lag when panning the view with mouse over
zones region of timeline.
2020-07-29 17:52:51 +02:00
Bartosz Taudul
f37a324a9e
Add annotation removal button hint.
2020-07-29 17:07:40 +02:00
Bartosz Taudul
29fe5f211f
Warn when range limiting is enabled.
2020-07-29 15:45:50 +02:00
Bartosz Taudul
3e3f8aaabf
Enable linear filtering for frame images.
2020-07-29 13:31:26 +02:00
Bartosz Taudul
25ee7f945b
Draw limit region with striped rect.
2020-07-29 13:26:47 +02:00
Bartosz Taudul
d8728be689
Striped rect drawing.
2020-07-29 13:18:23 +02:00
Bartosz Taudul
fd5ccc16d6
Extract find zone range data to a separate struct.
2020-07-28 15:12:45 +02:00
Bartosz Taudul
7e6a41e647
No need for lean alloc srcloc zone begin messages.
2020-07-26 14:35:04 +02:00
Bartosz Taudul
062bb3044f
No need for lean callstack sample message.
2020-07-26 14:28:13 +02:00
Bartosz Taudul
4252cac654
No need for lean callstack alloc message.
2020-07-26 14:25:32 +02:00
Bartosz Taudul
18713de70c
No need for lean frame image message.
2020-07-26 14:23:04 +02:00
Bartosz Taudul
b76726c597
No need for lean callstack, callstack memory messages.
2020-07-26 14:23:03 +02:00
Bartosz Taudul
14a15bf152
Order of lock events is now always well-defined.
2020-07-26 13:54:40 +02:00
Bartosz Taudul
03f46d7228
Custom string data is no longer needed.
2020-07-26 01:47:49 +02:00
Bartosz Taudul
c0b73c248f
Add second single string transfer.
2020-07-26 01:47:49 +02:00
Bartosz Taudul
a7d2ab4d4f
Send single string for lock name.
2020-07-26 01:47:49 +02:00
Bartosz Taudul
e91950f006
Send single string for messages.
2020-07-26 01:35:52 +02:00
Bartosz Taudul
5553761c02
Send single string for zone text and name.
2020-07-26 01:35:52 +02:00
Bartosz Taudul
309a151610
Symbol length no longer has to be packed.
2020-07-26 01:35:52 +02:00
Bartosz Taudul
88685440b6
Send single string for callstack frame.
2020-07-26 01:35:52 +02:00
Bartosz Taudul
61e3acde06
Send single string for callstack frame size.
2020-07-26 01:35:52 +02:00
Bartosz Taudul
e3dfa96055
Extract single string idx retrieval.
2020-07-26 01:35:52 +02:00
Bartosz Taudul
06ca4e2d16
Send single string for symbol information.
2020-07-26 01:35:52 +02:00
Bartosz Taudul
14b180cd16
Send single string for code information.
2020-07-26 01:35:51 +02:00
Bartosz Taudul
81d5a8db5e
Implement transport of single string data.
...
In most cases only one string is sent per message and no pointer
tracking is needed.
This is only plumbing work, no changes to messages have been made yet.
2020-07-26 01:35:51 +02:00
Bartosz Taudul
6fe3736a23
When selecting function in symbol view, go to function location.
2020-07-19 23:43:52 +02:00
Bartosz Taudul
0704ab8f79
Clear frame image back references when removing fi data.
2020-07-17 22:16:47 +02:00
Bartosz Taudul
d614dbeda3
Show image name next to symbol name.
2020-07-14 17:23:04 +02:00
Bartosz Taudul
1da51918b6
Append new messages to visible message list.
2020-07-13 02:03:00 +02:00
Bartosz Taudul
420bdd5854
Don't recalculate message list every frame.
2020-07-12 15:26:05 +02:00
Bartosz Taudul
29ac0169aa
Use clipper to display messages list.
2020-07-12 15:13:03 +02:00
Bartosz Taudul
333e10c724
Move message line drawing to a separate function.
2020-07-12 15:07:43 +02:00
Bartosz Taudul
f2d6c79742
Don't wrap messages.
2020-07-12 15:00:56 +02:00
Bartosz Taudul
953df69b77
Build a list of messages to display.
2020-07-12 14:54:22 +02:00
Bartosz Taudul
863f37e1bc
Remove dedicated "go to frame" button.
2020-07-12 00:18:44 +02:00
Bartosz Taudul
a7a36c08cb
Fix frame number formatting.
2020-07-12 00:04:05 +02:00
Bartosz Taudul
39debea990
Middle-click on time span sets the view range to entire capture.
2020-07-11 14:11:13 +02:00
Bartosz Taudul
0f9597aee8
Display frame number, if there's space for it.
2020-07-11 14:05:08 +02:00
Bartosz Taudul
e48b5611c5
Save GPU context calibration state.
2020-07-07 21:25:35 +02:00
Bartosz Taudul
a3c51f0e7e
Don't show drift adjustment for calibrated GPU contexts.
2020-07-07 21:25:35 +02:00
Bartosz Taudul
21f4981f38
Process GPU calibration on server.
2020-07-07 21:25:35 +02:00
Bartosz Taudul
1b6bc1b69a
Send Vulkan GPU calibration messages.
2020-07-07 21:25:35 +02:00
Bartosz Taudul
1013ec8db7
Drop accuracy bits from GPU context.
2020-07-07 01:21:36 +02:00
Bartosz Taudul
384e2e3fa1
Reduce memory requirements of allocated call stacks.
2020-07-05 17:33:29 +02:00
Bartosz Taudul
6fe90e136f
Bump xxh3 to fix AVX512 problems.
2020-07-05 11:29:06 +02:00
Bartosz Taudul
925bf7e638
Implement grouping zones by zone name.
2020-07-04 12:36:04 +02:00
Bartosz Taudul
435fb4bb4f
Add copy-to-clipboard buttons to zone info windows.
2020-07-04 11:59:25 +02:00
Bartosz Taudul
1bfd59c595
Add a wrapper function for drawing clipboard button.
2020-07-04 11:56:56 +02:00
Bartosz Taudul
763f5aafdd
Attach pending frame images only to the main frame set.
2020-06-30 00:53:26 +02:00
Bartosz Taudul
afbd6b8786
Fix frame histogram when changing frame set in trace info window.
2020-06-27 21:51:50 +02:00
Bartosz Taudul
c7d94a66b0
Bump xxh3 to 0.7.4.
2020-06-27 17:01:31 +02:00
Bartosz Taudul
e9788cc04c
Bump robin_hood to 3.7.0.
2020-06-26 00:51:03 +02:00
Dmitry Ivanov
9fa80c2cc8
Import chrome metrics
2020-06-21 13:45:41 +02:00
Bartosz Taudul
d1e17de7c2
Allow import of plots.
2020-06-20 15:30:06 +02:00
Bartosz Taudul
2b5e45cd9b
Fix edge case in directory structure creation.
2020-06-19 17:17:26 +02:00
Bartosz Taudul
11e1671048
Use proper string formatting.
2020-06-18 01:32:53 +02:00
Bartosz Taudul
b0d71b648f
Allow listing cached source files.
2020-06-17 18:26:23 +02:00
Bartosz Taudul
c507507233
Fix gcc/clang.
2020-06-16 20:14:59 +02:00
Bartosz Taudul
47dfddedfd
Use tzcnt instead of bsf.
2020-06-16 18:19:05 +02:00
Bartosz Taudul
7a6141389c
Replace floating point condition with a bool.
2020-06-16 01:46:26 +02:00
Bartosz Taudul
dd05c8f524
Fix fixup of ghost zones end times.
2020-06-15 17:41:00 +02:00
Bartosz Taudul
71359c46c1
Drop support for loading pre-0.6.0 traces.
2020-06-14 15:52:52 +02:00
Bartosz Taudul
21ddd0a820
Postpone initialization of hashmaps.
2020-06-12 11:26:44 +02:00
Bartosz Taudul
cbcf393332
Release 0.7.0.
2020-06-11 14:30:34 +02:00
Bartosz Taudul
3992eb0542
Move RDO threshold logic to tables.
2020-06-11 14:09:19 +02:00
Bartosz Taudul
2ab605d232
Use dedicated max-of-three-elements function.
2020-06-11 13:45:04 +02:00
Bartosz Taudul
2608ceca05
Improve memory access patterns in RDO compression.
2020-06-11 13:36:17 +02:00
Bartosz Taudul
2723144678
Don't create empty ghost children vectors.
2020-06-11 12:27:17 +02:00
Bartosz Taudul
99544f4655
Clamp previous ghost zones to current sample time.
2020-06-11 12:18:44 +02:00
Bartosz Taudul
191ff93822
Optimize DXT1 index order fixing.
2020-06-11 03:04:09 +02:00
Bartosz Taudul
d1ef8ea90b
Set owner of file dialogs on windows.
2020-06-10 01:52:17 +02:00
Bartosz Taudul
e932cbe162
Add missing OpenCL mentions.
2020-06-09 18:17:43 +02:00
Bartosz Taudul
8bbc40beb2
Bump version, protocol for D3D12.
2020-06-09 11:20:50 +02:00
Andrew Depke
39479b8d93
Merge branch 'master' into master
2020-06-08 23:50:20 -06:00
Bartosz Taudul
929d399995
Fix determination of line width.
2020-06-08 14:02:11 +02:00
Andrew Depke
3282a8d27c
Added server support for D3D12 contexts
2020-06-07 00:40:08 -06:00
Bartosz Taudul
c384ec132f
Fix position of source separator line.
2020-06-06 20:50:24 +02:00
Bartosz Taudul
9c49ee3dd3
Don't mark windows as write-modified when only reading data.
2020-06-06 20:46:46 +02:00
Bartosz Taudul
d35d9b60ff
Bump protocol and version for OpenCL support.
2020-06-06 14:57:48 +02:00
Bartosz Taudul
57f1ef05c7
Merge pull request #31 from mcleary/opencl-support
...
Add OpenCL trace support
2020-06-06 14:56:29 +02:00
Bartosz Taudul
ecfeb01aad
Set source view content width to max value, regardless of clipping.
2020-06-06 12:37:05 +02:00
Bartosz Taudul
a3a7183293
Disable inclusion of non-windows in ctrl-tab list.
2020-06-05 19:23:27 +02:00
Bartosz Taudul
16b116ee83
Enable horizontal scrollbar in source view.
2020-06-05 19:04:12 +02:00
Thales Sabino
a46f83364e
Add OpenCL trace support
...
- Adds the file TracyOpenCL.hpp which contains the API to annotate OpenCL applications
- It works in a similar fashion to the Vulkan annotations
- Adds an example OpenCL application in examples/OpenCLVectorAdd
- Adds "OpenCL Context" to the UI
- Manual entry for annotating OpenCL zones
2020-06-05 10:15:47 +01:00
Bartosz Taudul
71d789063e
Show only relevant options in asm view.
2020-06-04 19:59:13 +02:00
Bartosz Taudul
3fbc2c8036
Increase buffer size.
2020-06-04 19:54:11 +02:00
Bartosz Taudul
e19a981b8c
Fix display of unknown source locations in asm view.
2020-06-04 19:39:43 +02:00
Bartosz Taudul
ce2e01bcd7
Skip processing uarch data if AT&T mode is enabled.
2020-06-04 19:30:44 +02:00
Bartosz Taudul
adc2c12a67
Clear asm data when opening just source view.
2020-06-04 19:20:24 +02:00
Bartosz Taudul
c52936855e
Don't read beyond buffer end.
2020-06-04 02:46:46 +02:00
Bartosz Taudul
917da8cff3
Properly terminate combo table.
2020-06-04 02:41:45 +02:00
Bartosz Taudul
f227bb4d9c
Update instruction tables to "may 2020".
2020-06-03 21:17:52 +02:00
Bartosz Taudul
9e500bc897
Handle merging inlined ghost zones.
2020-05-31 21:47:52 +02:00
Bartosz Taudul
994b88f898
Ghost index is only available is statistics are enabled.
2020-05-31 15:24:11 +02:00
Bartosz Taudul
067189c355
Extract ghost zone adding to a separate function.
2020-05-31 14:51:33 +02:00
Bartosz Taudul
d9e97ce772
Add postponed ghost zones when frame data becomes available.
2020-05-31 14:31:39 +02:00
Bartosz Taudul
1154343a20
Don't add ghost zones if full callstack data isn't available.
2020-05-31 14:17:54 +02:00
Bartosz Taudul
de5f8df9d3
UpdateSampleStatistics() returns if all samples were processed.
...
This effectively is a check if all frames in a callstack are available.
2020-05-31 14:05:16 +02:00
Bartosz Taudul
7ce915c4f6
Allow display of symbol address in statistics view.
2020-05-30 15:39:34 +02:00
Bartosz Taudul
5955efabb0
Use combo box for smart/entry/sample location selection.
2020-05-30 15:39:34 +02:00
jmanc3
e22ece8e79
Added support for horizontal scrolling.
2020-05-27 21:11:49 -05:00
Bartosz Taudul
54a029356d
Explicitly store GPU context type.
2020-05-27 18:16:53 +02:00
Bartosz Taudul
4f3934ae6a
Use correct symbol address.
2020-05-26 02:08:30 +02:00
Bartosz Taudul
898a10ef82
Display base function is symbol as '[ - self - ]'.
2020-05-25 21:42:01 +02:00
Bartosz Taudul
bdba77c0f5
Allow displaying self zone time in frames overview.
2020-05-25 01:15:06 +02:00
Bartosz Taudul
74a79a6921
Add zone child time getter with clamping to time range.
2020-05-25 01:14:44 +02:00
Bartosz Taudul
7ceb4005cd
Don't use alloca in inlined functions inside a loop.
2020-05-24 16:17:54 +02:00
Bartosz Taudul
2b304581cf
Implement transfer of integral values for zones.
2020-05-24 16:13:09 +02:00
Bartosz Taudul
45a9878193
Don't depend on zero-termination of source code.
2020-05-23 17:07:23 +02:00
Bartosz Taudul
d3b60f913d
Extend "first frame" time.
2020-05-23 16:52:58 +02:00
Bartosz Taudul
0b900c0a3c
Add crash popup.
2020-05-23 16:40:15 +02:00
Bartosz Taudul
18b2e3e5be
Don't depend on View in Worker.
2020-05-23 15:53:58 +02:00
Bartosz Taudul
2f35c785ee
Save/load cached source files.
2020-05-23 15:44:19 +02:00
Bartosz Taudul
5b96809f6f
Add notification when source file is loaded from cache.
2020-05-23 15:44:19 +02:00
Bartosz Taudul
dc0f2db3f2
CheckString() doesn't check if string query is still pending.
2020-05-23 15:44:19 +02:00
Bartosz Taudul
ee22cf3b0c
Use cached source files.
2020-05-23 15:44:19 +02:00
Bartosz Taudul
d470202bca
Cached source files accessor.
2020-05-23 15:44:19 +02:00
Bartosz Taudul
964d65fd3b
Cache callstack/symbol/code source files.
2020-05-23 15:44:19 +02:00
Bartosz Taudul
f7341141cf
Cache zone source location source files.
2020-05-23 15:44:19 +02:00
Bartosz Taudul
97a5957adc
Display source file cache stats.
2020-05-23 15:44:19 +02:00
Bartosz Taudul
ae1155852a
Source file cache plumbing.
2020-05-23 15:44:18 +02:00
Bartosz Taudul
f38464cf55
Rename SymbolCodeData to MemoryBlock.
2020-05-23 14:54:16 +02:00
Bartosz Taudul
d052e4c79d
Substitution-less source file validator.
2020-05-23 14:54:16 +02:00
Bartosz Taudul
fa2559b3f0
Add StringRef hasher, comparator.
2020-05-23 14:54:16 +02:00
Bartosz Taudul
670a292416
Report whether string is available, or if a query was dispatched.
2020-05-23 13:08:57 +02:00
Bartosz Taudul
619523b43e
Symbol might not have ip statistics.
2020-05-21 19:20:20 +02:00
Bartosz Taudul
e9c13b254b
Get exclusive samples count for a proper symbol.
...
If inlines are grouped under a base symbol, the base symbol data
includes all the inline sample counts. This was interfering with control
logic determining if sample parents window can be displayed.
2020-05-19 19:10:40 +02:00
Bartosz Taudul
e376866436
Check for exclusive samples in inlined symbols list.
2020-05-19 19:06:01 +02:00
Bartosz Taudul
883264c0df
Fix typo.
2020-05-18 18:25:49 +02:00
Bartosz Taudul
f9ff6f4161
Clamping is not needed.
2020-05-15 02:30:52 +02:00
Bartosz Taudul
f6663b187a
Add ghost zone label to ghost zone tooltips.
2020-05-15 02:27:48 +02:00
Bartosz Taudul
ad3cac8578
Incorporate thread colors in ghost zones.
2020-05-15 02:25:28 +02:00
Bartosz Taudul
23de7cb294
Improve source file tooltip.
2020-05-15 01:39:14 +02:00
Bartosz Taudul
03c3a3e7c7
Select proper operand for LEA processing in AT&T mode.
2020-05-15 01:37:08 +02:00
Bartosz Taudul
992fba7e07
Move profiler FPS display to upper-right corner.
2020-05-14 17:53:46 +02:00
Bartosz Taudul
ba9b35dc3b
Don't memcpy to nullptr.
2020-05-14 17:38:48 +02:00
Bartosz Taudul
c8ff8540f9
Sleep when connection attempt fails.
2020-05-14 02:27:57 +02:00
Bartosz Taudul
7ea9c4baf2
Proper locking for queue/in-flight queries.
2020-05-13 18:52:20 +02:00
Bartosz Taudul
7d57a2ea6d
Cast to correct type.
2020-05-13 18:38:40 +02:00
Bartosz Taudul
3f3378e13a
Fix typo.
2020-05-13 18:37:37 +02:00
Bartosz Taudul
8e11cd5ebb
Add support for custom text in ImportEventTimeline.
2020-05-12 11:44:36 +02:00
Bartosz Taudul
1c8aece53c
No saving if there's no file selector.
2020-05-11 22:13:07 +02:00
Bartosz Taudul
e330b96b3d
Allow saving only lines within jump range.
2020-05-11 21:59:45 +02:00
Bartosz Taudul
0790e92cad
Support saving asm range.
2020-05-11 21:12:43 +02:00
Bartosz Taudul
9d5d116014
Extract asm saving to a separate function.
2020-05-11 21:08:50 +02:00
Dmitry Ivanov
8f509dd41a
Make TracySourceView.cpp build with somewhat old clang
...
This was the only issue preventing build on macOS High Sierra with whatever version of clang it has.
2020-05-11 16:23:50 +02:00
Bartosz Taudul
dafecf2a19
Allow enumerating asm lines from a given base instruction.
2020-05-11 13:35:49 +02:00
Bartosz Taudul
8a7913c095
Update xxh3 to master @ ea9c098e93.
2020-05-11 02:33:12 +02:00
Bartosz Taudul
e9f93f5bc7
Send lean frame images.
2020-05-10 20:16:08 +02:00
Bartosz Taudul
03b5dfacd6
Send lean callstack samples.
2020-05-10 20:00:51 +02:00
Bartosz Taudul
09388f3c99
Send lean callstack allocs.
2020-05-10 19:56:36 +02:00
Bartosz Taudul
5a774c82cc
Send lean callstacks.
2020-05-10 19:43:12 +02:00
Bartosz Taudul
f0ade07be8
Send lean memory callstacks.
2020-05-10 19:28:08 +02:00
Bartosz Taudul
2dc07fca0b
Send lean allocated source locations.
2020-05-10 19:20:59 +02:00
Bartosz Taudul
50c66174dd
Add ability to show callstack to an asm line.
2020-05-10 16:56:38 +02:00
Bartosz Taudul
2f8e817e16
Make PackPointer() part of worker's interface.
2020-05-10 16:56:13 +02:00
Bartosz Taudul
d84495d0e1
Mark inline symbols.
2020-05-10 16:13:19 +02:00
Bartosz Taudul
fdd50840a7
Add a function for showing sample parents.
2020-05-10 16:07:45 +02:00
Bartosz Taudul
dee808dd1b
Display jump labels in the UI.
2020-05-09 15:14:33 +02:00
Bartosz Taudul
2543bb5e63
Shorter jump labels.
2020-05-09 15:14:25 +02:00
Bartosz Taudul
0de39a1d33
Construct location table during disassembly.
2020-05-09 14:58:06 +02:00
Bartosz Taudul
8cbd209ede
Display number of selected lines.
2020-05-09 13:53:11 +02:00
Bartosz Taudul
8caf6b02c6
Allow switching between Intel and AT&T assembly syntax.
2020-05-09 12:58:09 +02:00
Bartosz Taudul
ad4387a0c0
Implement saving disassembly to a file.
2020-05-09 02:37:18 +02:00
Bartosz Taudul
8b56dd5468
Prevent division by zero.
2020-05-08 01:55:03 +02:00
Bartosz Taudul
70818b49b9
Force connection popup boolean should decay.
2020-05-08 01:49:15 +02:00
Bartosz Taudul
5b29e65bc5
Initial value of DecayValue might be active.
2020-05-08 01:48:37 +02:00
Bartosz Taudul
2da6c6b6f5
Fix enforced connection popup position wrt viewports.
2020-05-07 15:27:11 +02:00
Bartosz Taudul
2ca6b6f2fe
Implement display of grouped instruction pointer statistics.
2020-05-07 02:33:37 +02:00
Bartosz Taudul
15454d2253
Select microarchitecture basing on cpuid.
2020-05-07 00:53:31 +02:00
Bartosz Taudul
eab3adfa1d
Display CPU info.
2020-05-06 19:18:17 +02:00
Bartosz Taudul
6fda74e281
Save/load cpu id.
2020-05-06 19:18:17 +02:00
Rokas Kupstys
e40f0c4f2e
Fix MinGW build.
2020-05-05 13:23:46 +03:00
ikrima
1b5879e176
ImGui Multiviewport fixes
...
- set ImGuiConfigFlags_ViewportsEnable
- correct render loop logic with viewport api calls, SetNextWindowViewport(), UpdatePlatformWindows(), RenderPlatformWindowsDefault()
- Fix: coords in abs space now, SetNextWindowPos()
NOTE:
- I have viewports turned on by default so you can easy test (comment out io.ConfigFlags |= ImGuiConfigFlags_ViewportsEnable; and you get old behavior)
- Jankiness with multiviewports isn't bc perf hit; it's bc profiler reduces it's tick rate when it's not in focus. So, that bit of logic needs to be updated if you really care
- I haven't encountered any issues over past week but discount that by 50% since i'm new to tracy. No promises some UI wasn't regresssed
- Key things to watch out for is enabling viewports turns ImGui into using absolute monitor coords instead of window coords (ie SetPosition(0,0) => monitor top left, not window top/left
2020-05-04 02:17:15 -07:00
Bartosz Taudul
74e55f584c
Small toggle button.
2020-05-03 20:49:21 +02:00
Bartosz Taudul
d99129f0e4
Move ToggleButton() out of TracyView.cpp.
2020-05-03 20:40:53 +02:00
Bartosz Taudul
88b2b04b0d
Display running threads in CPU usage tooltip.
2020-05-03 14:34:22 +02:00
Bartosz Taudul
fb801fa484
Extract time value at mouse cursor to a variable.
2020-05-03 14:34:05 +02:00
Bartosz Taudul
9d94cdbb52
Parametrize color highlighting.
2020-05-03 14:33:47 +02:00
Bartosz Taudul
3aed0ba150
Unformatted colored text printing with uint32 color.
2020-05-03 14:33:11 +02:00
Bartosz Taudul
b69bf49082
Separate thread context data getter.
2020-05-03 14:21:27 +02:00
Bartosz Taudul
222d3d661e
Change "go to frame" window to popup.
2020-05-03 13:54:37 +02:00
Bartosz Taudul
d4e490f47e
Keep frames graph at the top of the window (not in dock space).
2020-05-03 13:30:05 +02:00
Bartosz Taudul
bb043f96ee
Use internal NoTabBar flag for central node.
2020-05-03 13:29:51 +02:00
Bartosz Taudul
e3acb635a3
Tune up work area window padding.
2020-05-03 13:27:58 +02:00
Bartosz Taudul
32aa23822b
Disable docking in central node.
2020-05-03 13:23:48 +02:00
Bartosz Taudul
3350a78cd8
Put work area in center docking node.
2020-05-03 13:23:26 +02:00
Bartosz Taudul
73fda0b188
Disable docking in the main window.
2020-05-03 13:21:34 +02:00
Bartosz Taudul
e7e3d1105c
Register usage is only available in capstone 4.x.
2020-05-02 03:09:16 +02:00
Bartosz Taudul
2e75990b6c
Fix wrong indent.
2020-05-02 02:34:15 +02:00
Bartosz Taudul
e132849fe2
Don't highlight lines with no dependencies.
2020-05-02 02:34:15 +02:00
Bartosz Taudul
95c9259193
Draw register dependency decorations on scroll bar.
2020-05-02 02:34:15 +02:00
Bartosz Taudul
50a5cce985
Reduce search range.
2020-05-02 02:34:15 +02:00
Bartosz Taudul
0fdb5e6592
Calculate register dependency data.
2020-05-02 02:34:15 +02:00
Bartosz Taudul
93f255e95b
Invalidate asm line selection when disassembly is performed.
2020-05-02 02:34:15 +02:00
Bartosz Taudul
654dc2b901
Detect conditional jumps.
2020-05-02 02:34:15 +02:00
Bartosz Taudul
4390aa1015
Print register data in asm lines.
2020-05-01 22:39:54 +02:00
Bartosz Taudul
f4b06ed1fc
Register line selection.
2020-05-01 20:35:09 +02:00
Bartosz Taudul
8b2b2f650f
Add space for register data in each asm line.
2020-05-01 20:35:09 +02:00
Bartosz Taudul
bb4b08e8cf
Don't display operands, if none.
2020-05-01 16:15:33 +02:00
Bartosz Taudul
47b8f052bd
Include flags register.
2020-05-01 16:14:27 +02:00
Bartosz Taudul
611bfe49df
Display list of read and write registers.
2020-05-01 13:20:19 +02:00
Bartosz Taudul
8014fce6e1
Store list of read and write registers for each asm instruction.
2020-05-01 13:01:47 +02:00
Bartosz Taudul
38116b88a5
Create x86 common register mapping table.
2020-05-01 13:01:47 +02:00
Bartosz Taudul
b74caae685
Handle ending a zone twice.
2020-04-30 19:05:13 +02:00
Bartosz Taudul
a40ba8f4e9
Switch query queue icon to satellite dish.
2020-04-30 18:41:08 +02:00
Bartosz Taudul
035bb2236d
Always preserve order of queries.
2020-04-30 02:25:25 +02:00
Bartosz Taudul
8fa0a4dc9e
Update mbps data block after terminating connection.
2020-04-29 02:36:38 +02:00
Bartosz Taudul
2175fa6701
Shorten labels.
2020-04-27 19:21:32 +02:00
Bartosz Taudul
83d6566020
Optional visualization of uarch latency.
2020-04-27 19:21:32 +02:00
Bartosz Taudul
d6e633edd0
Fix typo.
2020-04-27 16:10:43 +02:00
Bartosz Taudul
adc60bf394
Separate uarch data retrieval from tooltip display.
2020-04-27 15:31:32 +02:00
Bartosz Taudul
abd00e28b8
Hackish support for LEA variants.
2020-04-27 00:59:49 +02:00
Bartosz Taudul
70605fc8ed
Workaround issues with operand width mismatch.
2020-04-27 00:59:49 +02:00
Bartosz Taudul
5da60b53d0
Add micro architecture tooltips.
2020-04-27 00:59:49 +02:00
Bartosz Taudul
800f740fd5
Add micro architecture data.
2020-04-27 00:59:49 +02:00
Bartosz Taudul
f43755625c
Add uarch selection UI.
2020-04-26 15:00:40 +02:00
Bartosz Taudul
6266d482ae
Be explicit about displaying machine code.
2020-04-26 14:51:58 +02:00
Bartosz Taudul
dba594a857
Store CPU architecture.
2020-04-26 14:23:16 +02:00
Bartosz Taudul
5ae2c415b7
Draw a line indicating zeroth column of source code.
2020-04-25 13:52:21 +02:00
Bartosz Taudul
6b831173e4
Don't display asm counts if no asm available.
2020-04-25 13:51:58 +02:00
Bartosz Taudul
78a56640c3
Open connection popup when a connection is established.
2020-04-25 13:14:27 +02:00
Bartosz Taudul
368caddd00
Separate coloring for types and special values.
2020-04-25 01:01:10 +02:00
Bartosz Taudul
51659ed123
Enable syntax highlighting.
2020-04-25 00:21:15 +02:00
Bartosz Taudul
21506386c4
Allow specification of end address in TextColoredUnformatted.
2020-04-25 00:21:15 +02:00
Bartosz Taudul
3e583b1373
Add C++ tokenizer.
2020-04-25 00:21:15 +02:00
Bartosz Taudul
c87c464f23
Use proper symbol address.
2020-04-24 16:16:53 +02:00
Bartosz Taudul
747f26ef74
Display used CPUs as range, if possible.
2020-04-24 02:02:16 +02:00
Bartosz Taudul
170aeea864
Remove CPU topology tooltip from zone info window.
2020-04-24 01:44:25 +02:00
Bartosz Taudul
9a77a59cb2
Display sample percentage columns only if there's data.
2020-04-24 00:49:38 +02:00
Bartosz Taudul
865593146a
Fix skipping symbol code.
2020-04-19 23:34:34 +02:00
Bartosz Taudul
e48095062b
Allow displaying machine code bytes in disassembly.
2020-04-19 16:07:24 +02:00
Bartosz Taudul
afb9bdce86
Store instruction lengths.
2020-04-19 16:07:24 +02:00
Bartosz Taudul
421f0895b7
Filter invalid jumps.
2020-04-19 16:07:24 +02:00
Bartosz Taudul
ea00efa857
Display disassembly failure notification.
2020-04-19 16:07:24 +02:00
Bartosz Taudul
b157d4c161
Detect disassembly failures.
2020-04-19 14:40:36 +02:00
Bartosz Taudul
c78e11872c
Fix jump arrow mouse hover detection.
2020-04-19 14:28:59 +02:00
Bartosz Taudul
1f3b6d01ab
Cosmetics.
2020-04-19 14:10:26 +02:00
Bartosz Taudul
91ad77d86a
Save/load source substitutions.
2020-04-18 14:25:04 +02:00
Bartosz Taudul
7a6bc6f554
Substitute source file names in source view.
2020-04-17 19:28:39 +02:00
Bartosz Taudul
01d7fefe52
Perform source file name substitution.
2020-04-17 19:28:39 +02:00
Bartosz Taudul
47cfb4ae35
Expose source substitution interface.
2020-04-17 19:28:39 +02:00
Bartosz Taudul
5f22e35c26
Add UI for source location substitutions.
2020-04-17 19:28:39 +02:00
Bartosz Taudul
b937ad101f
Fix handling of ImGui ID stack.
2020-04-17 19:28:39 +02:00
Bartosz Taudul
c79c052528
Display percentage numbers of sample composition times.
2020-04-17 19:28:38 +02:00
Bartosz Taudul
db9557fc84
Use separate texture compression context for saving traces.
2020-04-14 20:07:30 +02:00
Bartosz Taudul
c2dd3913d7
Cleanup context switch data.
2020-04-14 02:34:28 +02:00
Bartosz Taudul
9fc76990e1
Copy proper amount of memory.
2020-04-14 02:22:48 +02:00
Bartosz Taudul
366153a94f
No signed left shifts.
2020-04-14 02:22:48 +02:00
Bartosz Taudul
c54dc10464
Cleanup zone children vectors.
2020-04-14 02:22:47 +02:00
Bartosz Taudul
55f582faaf
Use correct print format specifier.
2020-04-14 02:22:47 +02:00
Bartosz Taudul
dd0fb49098
Fix typo.
2020-04-14 02:22:47 +02:00
Bartosz Taudul
b0a58d4664
Don't shift left negative values.
2020-04-14 02:22:47 +02:00
Bartosz Taudul
5233f8d4ad
Mark source lines which generated assembly.
2020-04-13 17:47:41 +02:00
Bartosz Taudul
2d25e969e9
Fix time span indicators visual jitter.
2020-04-13 15:00:54 +02:00
Bartosz Taudul
a2c4f8c2d1
Prominently expose profiler memory usage.
2020-04-13 14:41:05 +02:00
Bartosz Taudul
b8647f968a
Don't animate threads on first frame.
2020-04-12 23:41:18 +02:00
Bartosz Taudul
a074d18dfa
Don't display source files, if none available.
2020-04-12 23:26:02 +02:00
Bartosz Taudul
5fd5091efd
Fix handling of unknown symbols.
2020-04-12 23:18:38 +02:00
Bartosz Taudul
3398c969ac
Disable scrollbar for source view window.
2020-04-12 17:11:51 +02:00
Bartosz Taudul
ef56c7fa7c
Display source files time composition in selected function/symbol.
2020-04-12 17:08:58 +02:00
Bartosz Taudul
078014826b
Fix detection of hovering over source lines.
2020-04-12 16:21:03 +02:00
Bartosz Taudul
0794cf56ff
Sort inline functions list by time spent in function.
2020-04-12 16:13:39 +02:00
Bartosz Taudul
a0f7cb41c3
Merge building inline symbol list with stats collection.
2020-04-12 16:11:24 +02:00
Bartosz Taudul
de18dd46b6
Don't build inline symbols list, if not needed.
2020-04-12 16:05:49 +02:00
Bartosz Taudul
633902cce5
Display inline functions time composition in symbol.
2020-04-12 16:05:01 +02:00
Bartosz Taudul
58cf97ef5d
Display wall time in addition to sample counts.
2020-04-11 22:14:56 +02:00
Bartosz Taudul
c4bddf59e2
Allow access to sampling data before instrumentation is ready.
2020-04-11 18:21:46 +02:00
Bartosz Taudul
6c76c8098b
Draw hotness markers next to sample percentage counts.
2020-04-11 01:59:15 +02:00
Bartosz Taudul
2c11418d33
Calculate max sample counts during ip map creation.
2020-04-11 01:34:44 +02:00
Bartosz Taudul
5bc01124c2
Draw jump range and target on scroll bar, when highlighted.
2020-04-10 23:31:25 +02:00
Bartosz Taudul
ca66dc9ba0
More code deduplication.
2020-04-10 23:13:51 +02:00
Bartosz Taudul
ac37898331
Go to white-hot color for ip count over max.
2020-04-10 23:10:26 +02:00
Bartosz Taudul
126a587aa3
Less code duplication.
2020-04-10 23:07:52 +02:00
Bartosz Taudul
61828070c5
Display tooltip for sample percentage.
2020-04-10 23:03:47 +02:00
Bartosz Taudul
895e06d778
Draw asm line hotness.
2020-04-10 17:27:57 +02:00
Bartosz Taudul
f6400880b0
Scroll bar decorations for asm lines.
2020-04-10 17:27:57 +02:00
Bartosz Taudul
bcfd32e49f
Decorate source scroll bar with line hotness.
2020-04-10 17:27:57 +02:00
Bartosz Taudul
e51844eba3
Decorate source scroll bar with selected and highlighted line.
2020-04-10 16:56:56 +02:00
Bartosz Taudul
a6c0ac4273
Tighten assembly counts in source view.
2020-04-10 00:40:31 +02:00
Bartosz Taudul
14ec7ea6cd
Tighten line numbers in source view.
2020-04-10 00:37:46 +02:00
Bartosz Taudul
497e73182a
Ditto for source navigation.
2020-04-09 23:28:51 +02:00
Bartosz Taudul
072fed288a
Use left and right mouse buttons for asm navigation.
...
Left click on source line just selects the line and the corresponding
asm lines.
Right click does the above and focuses asm view on the first selected
line.
2020-04-09 23:12:17 +02:00
Bartosz Taudul
47d56f6259
Proper scaling of instruction pointer counts.
2020-04-09 22:52:44 +02:00
Bartosz Taudul
f0c7a751c1
Context-sensitive auto-selection of stats mode in source view.
2020-04-09 22:37:49 +02:00
Bartosz Taudul
9d2c03bc5b
Allow showing sample data for whole symbol.
2020-04-09 22:23:57 +02:00
Bartosz Taudul
a2385a8b24
Use correct address range.
2020-04-09 22:21:21 +02:00
Bartosz Taudul
0e1c9e2cd1
Highlight source line corresponding to hovered asm line.
2020-04-09 22:02:06 +02:00
Bartosz Taudul
0791871955
Highlight asm lines for hovered source line.
2020-04-09 21:57:28 +02:00
Bartosz Taudul
1e965edb54
Don't separate inlines by default.
2020-04-09 19:44:42 +02:00
Bartosz Taudul
a339d397ce
Don't select addresses outside symbol.
2020-04-09 14:10:07 +02:00
Bartosz Taudul
241f59b59f
Sprinkle some icons.
2020-04-09 02:33:02 +02:00
Bartosz Taudul
554366ad9f
Search for address within current symbol.
2020-04-09 02:12:49 +02:00
Bartosz Taudul
d2ebc58be3
Set sensible combo box heights.
2020-04-09 02:09:54 +02:00
Bartosz Taudul
0f42dc2e4c
Fix source-less sample count calculations.
2020-04-09 02:04:22 +02:00
Bartosz Taudul
3177865fc2
Follow jump by clicking on jump arrows.
2020-04-09 02:02:06 +02:00
Bartosz Taudul
a715df6338
Tighten assembly source location display.
2020-04-09 01:52:22 +02:00
Bartosz Taudul
6dd765c101
Tighten mnemonic display.
2020-04-09 01:45:38 +02:00
Bartosz Taudul
bae08c27c8
Tighter assembly address display.
2020-04-09 01:31:27 +02:00