Bartosz Taudul
ccaf92afc4
Save/load external process names.
2019-08-16 19:24:38 +02:00
Bartosz Taudul
fe7f56b022
Implement retrieval of external process names.
2019-08-16 19:22:23 +02:00
Bartosz Taudul
56e6795c76
Add per-cpu context switch tooltips.
2019-08-16 18:39:03 +02:00
Bartosz Taudul
7e81f3250e
Add CPU tooltip.
2019-08-16 18:39:03 +02:00
Bartosz Taudul
8e71e2dba5
Draw per-CPU global context switch data.
2019-08-16 18:22:57 +02:00
Bartosz Taudul
c212661714
Allow determining whether thread is local to profiled program.
2019-08-16 17:59:25 +02:00
Bartosz Taudul
cef7e4b8d0
Save/load per-cpu context switches.
2019-08-16 16:51:18 +02:00
Bartosz Taudul
8bc4258e29
Display count of per-cpu context switch data.
2019-08-16 16:51:18 +02:00
Bartosz Taudul
a92034d59d
CPU data accessor.
2019-08-16 16:51:18 +02:00
Bartosz Taudul
69527d2f71
Collect per-cpu context switch data.
2019-08-16 16:51:18 +02:00
Bartosz Taudul
9e0fe226df
Add small font.
2019-08-16 16:02:57 +02:00
Bartosz Taudul
42c71d7e46
Fix loading old traces.
2019-08-16 00:24:29 +02:00
Bartosz Taudul
95879d2bd9
Use proper UI element to indicate selectable items.
2019-08-16 00:12:03 +02:00
Bartosz Taudul
889eddd646
Pack ContextSwitchData. Saves 3 bytes per context switch region.
2019-08-15 23:53:47 +02:00
Bartosz Taudul
e90ddf7ee5
Don't search whole data set twice.
2019-08-15 23:03:37 +02:00
Bartosz Taudul
c22c259a13
Pack time and thread in MemEvent.
...
This saves 4 bytes per logged memory allocation. Memory savings for
selected traces:
android 2945 MB -> 2766 MB
chicken 2261 MB -> 2245 MB
q3bsp-mt 6085 MB -> 6043 MB
mem 6788 MB -> 6468 MB
2019-08-15 23:02:43 +02:00
Bartosz Taudul
9618ee3581
Fix skipping locks.
2019-08-15 22:24:27 +02:00
Bartosz Taudul
e43a57f6b3
Remove irrelevant comments.
2019-08-15 21:51:47 +02:00
Bartosz Taudul
a635e54a79
Pack MessageData.
2019-08-15 21:42:24 +02:00
Bartosz Taudul
04c8830f86
Cosmetics.
2019-08-15 21:38:00 +02:00
Bartosz Taudul
45401fc54c
Use proper variable name.
2019-08-15 21:34:19 +02:00
Bartosz Taudul
8b73dece98
Preserve magic time values when loading old traces.
2019-08-15 21:30:37 +02:00
Bartosz Taudul
41beff29a9
Remove redundant GetTimeBegin().
...
Traces now start at zero time.
2019-08-15 21:04:20 +02:00
Bartosz Taudul
c9d7b96c81
Prevent int16_t -> int64_t promotion on negative numbers.
2019-08-15 20:58:16 +02:00
Bartosz Taudul
3db3952135
Hackfix for broken lock terminate times.
2019-08-15 20:45:00 +02:00
Bartosz Taudul
5e20b3f28a
Pack time and source location in LockEvent.
2019-08-15 20:39:16 +02:00
Bartosz Taudul
bf3ad57456
Pack start time and srcloc together in ZoneEvent.
...
This reduces ZoneEvent struct size by 2 bytes. Memory savings on various
captures:
10.62 GB -> 10.29 GB
2342 MB -> 2276 MB
1706 MB -> 1635 MB
6277 MB -> 6085 MB
2019-08-15 20:17:36 +02:00
Bartosz Taudul
f5775a2d6e
Display list of CPUs on which zone was running.
2019-08-15 20:17:36 +02:00
Bartosz Taudul
042e6c9e11
Set initial time of old traces to 0.
2019-08-15 20:17:36 +02:00
Bartosz Taudul
350e526ec0
Fix crash when zone exists before thread context switches appear.
2019-08-15 20:17:36 +02:00
Bartosz Taudul
b322d20c19
Store received timestamps offset to 0.
2019-08-15 20:17:36 +02:00
Bartosz Taudul
659907c972
Store srcloc identifiers using 16 bit.
...
This reduces various structure sizes by 2 bytes. Memory usage reduction
on various traces:
big 11 GB -> 10.62 GB
chicken 2436 MB -> 2342 MB
drl-light-big 1761 MB -> 1706 MB
q3bsp-mt 6469 MB -> 6277 MB
2019-08-15 20:15:48 +02:00
Bartosz Taudul
416113fdcb
Drop support for ETC1 frame images.
2019-08-15 16:29:50 +02:00
Bartosz Taudul
32c7d13159
Count size of some more structures.
2019-08-15 14:15:40 +02:00
Bartosz Taudul
aa00b1c4c4
Add Win10 wait reasons.
2019-08-15 01:48:50 +02:00
Bartosz Taudul
690a6d12d7
Properly handle incomplete context switch data.
2019-08-14 22:10:54 +02:00
Bartosz Taudul
7549c50bab
Fix time range reset condition.
2019-08-14 21:53:09 +02:00
Bartosz Taudul
26f417a841
Add option to display running time in find zone menu.
2019-08-14 21:33:43 +02:00
Bartosz Taudul
9ec0724ffb
Support dynamic recalculation of min, max and total time.
2019-08-14 21:33:42 +02:00
Bartosz Taudul
ee77ff020a
Optimize calculation of zone running time.
2019-08-14 20:47:21 +02:00
Bartosz Taudul
a194c93740
Allow checking if context switch data is available.
2019-08-14 20:26:55 +02:00
Bartosz Taudul
9a364fe5fe
Cache context switch data queries.
2019-08-14 20:16:11 +02:00
Bartosz Taudul
a5ef38812e
Display list of regions where thread was waiting.
2019-08-14 18:28:52 +02:00
Bartosz Taudul
d520f1cc48
Display zone running time in zone tooltip.
2019-08-14 18:28:52 +02:00
Bartosz Taudul
1ae540c7a1
Display zone running time in zone info window.
2019-08-14 18:28:52 +02:00
Bartosz Taudul
858c94e12e
Add interface for calculation zone running time.
2019-08-14 18:28:52 +02:00
Bartosz Taudul
0b12db5ee6
Display number of thread running state regions.
2019-08-14 17:36:19 +02:00
Bartosz Taudul
fadac0b433
Display thread running time.
2019-08-14 17:12:48 +02:00
Bartosz Taudul
3e01ca3269
Calculate how long thread was in running time.
2019-08-14 17:12:48 +02:00
Bartosz Taudul
72918cda19
Include recorded context switches in thread lifetime.
2019-08-14 17:03:33 +02:00
Bartosz Taudul
e39b1abce5
Handle linux wait states.
2019-08-14 14:02:31 +02:00
Bartosz Taudul
0bb0c10e3c
Revert "Save one byte on ContextSwitchData."
...
Counting bits is hard, let's go shopping.
2019-08-14 13:55:05 +02:00
Bartosz Taudul
3996516fce
One more SetThreadName() to change.
2019-08-14 02:27:01 +02:00
Bartosz Taudul
71a5cffc13
Add context switch tooltips.
2019-08-13 16:20:43 +02:00
Bartosz Taudul
f285e0f5cc
Save one byte on ContextSwitchData.
2019-08-13 15:16:46 +02:00
Bartosz Taudul
d77c87ae1c
Allow disabling context switch drawing.
2019-08-13 15:16:46 +02:00
Bartosz Taudul
874a2596f7
Improve context switches drawing.
2019-08-13 15:16:46 +02:00
Bartosz Taudul
7f856a1b16
Very bad context switch visualization.
2019-08-13 13:10:37 +02:00
Bartosz Taudul
9417ad994d
Save/load context switch data.
2019-08-13 13:10:37 +02:00
Bartosz Taudul
1c937ad9bb
Implement skipping frame image data.
2019-08-13 02:35:32 +02:00
Bartosz Taudul
8c494eabbf
Display number of context switch regions.
2019-08-13 02:35:32 +02:00
Bartosz Taudul
0b03fed61c
Add context switch accessor.
2019-08-13 02:35:32 +02:00
Bartosz Taudul
419f74280d
Store context switches.
2019-08-13 02:35:32 +02:00
Bartosz Taudul
8aa0be39d5
Drop support for CPU id queries.
2019-08-12 23:05:34 +02:00
Bartosz Taudul
d6f32a0839
Serialize lock processing.
...
This makes is much easier to process on the server and opens new
optimization possibilities. It also fixes theoretical problems, which
may be caused by invalid ordering of events with the same timestamp.
2019-08-12 13:51:01 +02:00
Bartosz Taudul
6398ecb344
Drop support for pre-0.4 traces.
2019-08-12 12:36:37 +02:00
Bartosz Taudul
154c902e03
Handle legacy file versions.
2019-08-12 12:36:37 +02:00
Bartosz Taudul
a9b41eb657
Rework processing bad files.
2019-08-12 12:04:27 +02:00
Bartosz Taudul
9b6328f962
Release 0.5.0.
2019-08-10 22:14:14 +02:00
Bartosz Taudul
530f293c49
Better way to handle auto scrolling.
2019-08-10 22:06:51 +02:00
Bartosz Taudul
8ae90a6cbd
Merge branch 'connection-popup'
2019-08-04 16:20:02 +02:00
Bartosz Taudul
853e9c17e3
Display client address.
2019-08-04 15:56:52 +02:00
Bartosz Taudul
07da2e506a
Fix deadlock problems.
2019-08-04 15:55:42 +02:00
Rokas Kupstys
b391e4c21a
Fix multiple build errors when compiling with MinGW.
2019-08-04 15:49:46 +03:00
Rokas Kupstys
b24ac75111
Move connection window into a popup when connected.
2019-08-04 13:58:43 +03:00
Bartosz Taudul
eed7039853
Another GPU time adjust fix.
2019-08-04 01:42:44 +02:00
Bartosz Taudul
e87b8d455e
Use Theil estimator randomized approximation.
2019-08-04 01:40:11 +02:00
Bartosz Taudul
6898fd9e42
GPU time adjust fixes.
2019-08-04 00:38:08 +02:00
Bartosz Taudul
9b7384b407
Fix multiple GPU drift entry fields.
2019-08-04 00:33:31 +02:00
Bartosz Taudul
323c37bd33
Fix GPU zone search.
2019-08-04 00:30:09 +02:00
Bartosz Taudul
a642abfde0
Implement automatic GPU clock drift calculation.
2019-08-04 00:23:23 +02:00
Bartosz Taudul
da88e32887
Display FPS counts next to frame times.
2019-08-03 15:20:31 +02:00
Bartosz Taudul
6c958f6177
Increase height of frame graph.
2019-08-03 14:55:08 +02:00
Bartosz Taudul
58003e7a6b
Draw target frame time lines.
2019-08-03 14:55:08 +02:00
Bartosz Taudul
a76622d17a
Cache last searched ThreadData.
2019-08-03 14:35:01 +02:00
Bartosz Taudul
12969ee497
Track thread context.
...
This change exploits the fact that events are processed in batches
originating from a single thread. A single message changing thread
context is enough to handle multiple messages, as opposed to inclusion
of thread identifier in each message.
2019-08-02 20:18:08 +02:00
Bartosz Taudul
9b6c405485
Bin number shouldn't be floating point.
2019-08-02 19:43:08 +02:00
Bartosz Taudul
a4e7a341c0
Proper handling of disconnect request.
2019-08-01 23:14:09 +02:00
Bartosz Taudul
344d36086f
Simplify loop.
2019-07-31 18:53:51 +02:00
Bartosz Taudul
f41834370c
Also display number of visible messages.
2019-07-31 02:16:14 +02:00
Bartosz Taudul
ccd88a9e27
Add text coloring to memory window.
2019-07-31 02:06:01 +02:00
Bartosz Taudul
68df815ef6
Display total message count.
2019-07-31 00:34:24 +02:00
Bartosz Taudul
5dff7b5d1e
AVX2 version of plot min max calculation.
...
Slightly faster (~5%) than the autovectorized serial code.
2019-07-29 20:59:22 +02:00
Bartosz Taudul
7a878cf4c7
Pause playback when playback window is closed.
2019-07-29 01:51:45 +02:00
Bartosz Taudul
461f49feb8
Fix drawing zones at extreme zoom out levels.
...
This is needed due to int64_t -> uint64_t zone end cast hack. There are
no side effects: zero time represents start of the timer, which would be
unix epoch or system bootup time.
2019-07-28 01:58:59 +02:00
Bartosz Taudul
2e8d20b6e8
Keep zone info windows headers at top.
2019-07-27 13:28:18 +02:00
Bartosz Taudul
1afcd24dc6
Use big font in zone info windows.
2019-07-27 13:25:31 +02:00
Bartosz Taudul
245c6f9f01
Use big font in lock info window.
2019-07-27 13:18:59 +02:00
Bartosz Taudul
93195b6647
Move trace version display to trace statistics section.
2019-07-27 13:14:44 +02:00
Bartosz Taudul
2654a3010c
Keep trace info header at top of the window.
2019-07-27 13:13:50 +02:00
Bartosz Taudul
e1af87744b
Use less space for call stack tree headers.
2019-07-27 13:10:53 +02:00
Bartosz Taudul
fb11d67d8e
Keep memory window header at top.
2019-07-27 13:06:23 +02:00
Bartosz Taudul
5c3095707a
Filter out invalid Windows filename characters.
...
Do so even on unix, to allow easy transfer of user config between
different machines.
2019-07-27 01:21:11 +02:00
Bartosz Taudul
a7ef99d0b0
Keep find zone, compare headers at top.
2019-07-26 23:43:41 +02:00
Bartosz Taudul
f2cdb64aae
Display trace descriptions in compare menu.
2019-07-26 23:33:49 +02:00
Bartosz Taudul
be3b458f28
Load second trace user data in compare menu.
2019-07-26 23:25:03 +02:00
Bartosz Taudul
e5d5af84fd
Allow setting custom description of the trace.
2019-07-26 23:21:28 +02:00
Bartosz Taudul
c7e32a16ec
Assert on invalid file names.
2019-07-26 23:15:12 +02:00
Bartosz Taudul
27965e8690
Add user data storage handler.
2019-07-26 23:15:12 +02:00
Bartosz Taudul
34cc7183d0
Trace-specific save path retrieval.
2019-07-26 23:15:12 +02:00
Bartosz Taudul
3ec1771f5a
Move config directory retrieval to a separate function.
2019-07-26 22:42:50 +02:00
Bartosz Taudul
c1b70c6519
Display histogram time range on histogram.
2019-07-26 22:25:21 +02:00
Bartosz Taudul
5f96c55a3e
Add background tasks notification tooltip.
2019-07-25 21:21:20 +02:00
Bartosz Taudul
9f29ddd562
Messages window should be scrollable due to thread list.
2019-07-25 20:50:30 +02:00
Bartosz Taudul
d3e8fe0133
Add messages filter clear button.
2019-07-25 20:49:44 +02:00
Bartosz Taudul
0f574b5547
Verify source file modification time against capture time.
2019-07-25 20:44:10 +02:00
Bartosz Taudul
c4b472b6e0
Ditto for call stack window.
2019-07-25 20:34:35 +02:00
Bartosz Taudul
269c3d4530
Keep statistics window headers always on top of the window.
2019-07-25 19:57:29 +02:00
Bartosz Taudul
2291b91ee0
Remove unnecessary separators.
2019-07-25 19:50:22 +02:00
Bartosz Taudul
30f76d34a3
Fix printf warnings.
2019-07-25 18:41:52 +02:00
Bartosz Taudul
37c76edcd8
Explicitly require long long abs().
2019-07-25 18:36:27 +02:00
Bartosz Taudul
1b79c35aac
Don't use char8_t.
2019-07-25 12:58:16 +02:00
Bartosz Taudul
e5a3d7aa25
Workaround scroll-to-message regression.
2019-07-24 21:40:39 +02:00
Bartosz Taudul
9ad9045078
Disable messages following when focusing on a message.
2019-07-24 02:21:51 +02:00
Bartosz Taudul
dc49f2f76a
Move DXT1 index conversion to server.
2019-07-19 21:46:58 +02:00
Bartosz Taudul
5da2076214
Add optional 2x zoom to frame images playback.
2019-07-19 00:51:52 +02:00
Bartosz Taudul
1c0c5f5282
Disable bilinear filtering for frame images.
2019-07-19 00:51:42 +02:00
Bartosz Taudul
eceff55f5a
Add message filtering.
2019-07-13 01:48:43 +02:00
Bartosz Taudul
387674a40a
Auto-scroll message list to bottom.
2019-07-13 01:25:37 +02:00
Bartosz Taudul
bcecd6e3a6
Always keep message list options at top.
2019-07-13 00:40:02 +02:00
Bartosz Taudul
c48ab4cb23
Use big font in trace information window.
2019-07-12 19:19:36 +02:00
Bartosz Taudul
7fb9bde9e9
Pass big font to TracyView.
2019-07-12 19:16:56 +02:00
Bartosz Taudul
fc28f827bc
Rearrange trace information window.
2019-07-12 19:12:04 +02:00
Bartosz Taudul
2e774f4626
Save/load application info.
2019-07-12 18:45:35 +02:00
Bartosz Taudul
8c9d46ef29
Display application info in info window.
2019-07-12 18:39:07 +02:00
Bartosz Taudul
d64ab7db5a
Store app info messages.
2019-07-12 18:34:46 +02:00
Bartosz Taudul
689f4999e3
Reorder threads by drag and drop.
2019-07-11 20:29:20 +02:00
Bartosz Taudul
29d8911c6b
Fix Vector::erase().
2019-07-11 20:29:20 +02:00
Bartosz Taudul
6b06b64caf
Smaller histogram controls.
2019-06-30 18:11:19 +02:00
Bartosz Taudul
10bcc8c770
Switch to DXT1 textures in profiler utility.
2019-06-27 19:14:51 +02:00
Bartosz Taudul
7dc7ece2bd
Add staging area for frame images.
...
Compressing frame images on a separate thread may cause frame image
arrival before frames are sent. Fix this issue by creating a staging
area in which frame images will wait for frames to arrive.
This probably breaks playback functionality, as non-existent frames may
be queried, but this problem seems to be very hard to find, so let's
ignore it for now.
2019-06-27 13:24:35 +02:00
Bartosz Taudul
bb35f9a897
Compress frame images in a separate thread.
2019-06-27 13:24:35 +02:00
Bartosz Taudul
fc106079c5
Remove CPU migration highlight for zones.
2019-06-26 21:35:09 +02:00
Bartosz Taudul
bc3c375b02
Display crash icon in notification area.
2019-06-26 21:02:04 +02:00
Bartosz Taudul
b8794f64be
Extract crash tooltip to a separate function.
2019-06-26 21:01:54 +02:00
Bartosz Taudul
79bfac9ca9
Use proper popcnt for gcc/clang (including cygwin).
2019-06-24 18:56:04 +02:00
Bartosz Taudul
a8dcd5d153
Ctrl-click on frame in frame overview to show playback window.
2019-06-23 00:11:46 +02:00
Bartosz Taudul
f125254d14
Cosmetics.
2019-06-23 00:00:16 +02:00
Bartosz Taudul
2f707bd152
Improve frame label drawing logic.
2019-06-22 23:49:30 +02:00
Bartosz Taudul
7217a99dc2
Always show at least one pixel of a frame in frame overview.
2019-06-22 22:48:32 +02:00