Bartosz Taudul
9c4f257596
Normalize frame names in wait stacks tree.
2022-08-15 21:27:05 +02:00
Bartosz Taudul
4d974da290
Add shorten name accessor.
2022-08-15 21:21:50 +02:00
Bartosz Taudul
257a836dc7
Adjust zone name shortening option names.
...
"Always full" was kinda ambiguous. It could either mean that the name will be
always full (shortening effectively disabled), or that the shortening will be
performed to the maximum extent (as it was).
2022-08-15 20:47:59 +02:00
Bartosz Taudul
c4324873b2
Add tooltips for parent names.
2022-08-15 20:40:49 +02:00
Bartosz Taudul
655bcd40fb
Limit sample statistics frame name tooltip to frame name.
2022-08-15 20:39:35 +02:00
Bartosz Taudul
27165d12a6
Normalize frame names in parents frame tree.
2022-08-15 20:09:35 +02:00
Bartosz Taudul
389cf135c0
Normalize frame names in sample parents call stack view.
2022-08-15 20:04:57 +02:00
Bartosz Taudul
6932eb4b79
Shorten frame names in sample statistics view.
2022-08-15 19:56:17 +02:00
Bartosz Taudul
4d0591cf2f
Extract normalized name tooltip function.
2022-08-15 19:43:03 +02:00
Bartosz Taudul
63d074c5d8
Fix zone size calculation wrt text fitting.
...
Previously the zone size calculation hasn't took into account the possibility
of the zone going out of the screen. This is now fixed.
2022-08-15 19:38:40 +02:00
Bartosz Taudul
7f99ee2c13
Shorten frame names in callstack table.
2022-08-15 19:38:39 +02:00
Bartosz Taudul
f2001c95a5
Shorten frame names in callstack tooltip.
2022-08-15 17:13:39 +02:00
Bartosz Taudul
112406472a
Do not normalize non-ghost zone names.
...
These do not have unwanted decorations, but may include useful user
annotations (e.g. "Open file (/etc/passwd)"), which we would not want to
remove.
2022-08-15 17:03:45 +02:00
Bartosz Taudul
d27cb4a094
Normalize names in ghost zone tooltips.
2022-08-15 16:54:12 +02:00
Bartosz Taudul
57cabc1e09
Support zone name shortening without text/zone sizes.
2022-08-15 16:39:25 +02:00
Bartosz Taudul
8531ef6591
Extract ShortenZoneName() function to a separate file.
2022-08-15 16:34:37 +02:00
Bartosz Taudul
07a1383304
Expose zone name normalization as a separate setting.
2022-08-15 16:24:44 +02:00
Bartosz Taudul
89016454f8
Progressively remove namespaces.
2022-08-15 15:44:13 +02:00
Bartosz Taudul
af934f1387
Remove common return value types from function names.
...
Which types are included is a balance between efficiency and frequency of
occurrence.
2022-08-15 15:38:34 +02:00
Bartosz Taudul
fb6f63f06f
Remove const qualifier from shortened function names.
2022-08-15 15:22:57 +02:00
Bartosz Taudul
60f82dfd2e
Fix off-by-one.
...
The null terminator was included during the string copy. The destination
pointer points to one-beyond-the-end, and has to be decreased.
2022-08-15 15:12:20 +02:00
Bartosz Taudul
0c6acf3c2e
Use string end pointer.
2022-08-15 14:54:23 +02:00
Bartosz Taudul
d91321a774
Do not shorten kernel module names.
2022-08-15 14:50:57 +02:00
Bartosz Taudul
47a2512957
Change namespace shortening to zone name shortening.
...
Namespace shortening was kinda ok for function names produced by MSVC, which
are generally clean looking. However, gcc/clang like to produce function names
which include template arguments, function parameters, return values, etc. In
such cases the old algorithm simply didn't work, because removal of everything
before the last :: could as well happen in midst of function parameters list.
The result was certainly not an usable function name.
With this new approach namespaces are no longer explicitly mentioned and this
functionality is simply called zone name shortening.
The user-selectable options were changed to make the shortening always
enabled, disabled, or to apply as needed. Note that the "as needed" approach
will be dynamic, trying to gradually remove more and more from the name, until
it fits in the requested area.
Current implementation is only the first step into making this work. In this
first step the function parameters are reduced to () and the template
arguments are reduced to <>. This alone greatly improves readability of the
zone names.
The option to reduce namespaces to one letter (i.e. std::tr1::hash would
become s:t:hash) will no longer be present, now or in the future.
2022-08-15 14:19:57 +02:00
Bartosz Taudul
c01ad38d46
Start extracting timeline height control logic.
2022-08-15 13:29:45 +02:00
Bartosz Taudul
b0ac78dde1
Don't care about std::regex_error value.
2022-08-14 18:20:40 +02:00
Bartosz Taudul
d12fa11762
Change magic value enums to constexprs.
2022-08-14 18:16:30 +02:00
Bartosz Taudul
77e39700b1
Proper way to detect mouse hover over timeline.
2022-08-14 17:17:51 +02:00
Bartosz Taudul
86c2574848
Fix printing floats in source view.
2022-08-14 14:16:56 +02:00
Bartosz Taudul
e289884395
Display jump target even if there's no source location.
2022-08-14 14:01:01 +02:00
Bartosz Taudul
99a110d5b1
Add asm line hover highlight for unknown locations.
...
In some cases there are many unknown locations next to each other. Having a
hover highlight helps to distinguish one from another.
2022-08-14 13:40:39 +02:00
Bartosz Taudul
d5a46f97c1
Release MemData.
2022-08-14 11:37:24 +02:00
Bartosz Taudul
7dbfed9aea
Drop access to native window.
...
The new NFD library is not using this information, and the old one was using
it only on Windows. Oh well.
Removal of this functionality also removes some build-time decisions.
2022-08-12 21:44:24 +02:00
Bartosz Taudul
baea6ddf11
More concise machine code display.
2022-08-09 01:17:24 +02:00
Bartosz Taudul
259672abc6
Use proper type in StringKey initialization.
2022-08-08 18:47:11 +02:00
Bartosz Taudul
4cd36ecdea
No parallel execution on emscripten.
2022-08-08 18:41:06 +02:00
Bartosz Taudul
73be35ea98
Fix unknown source box style.
2022-08-06 23:41:47 +02:00
Bartosz Taudul
4607dca13b
Smaller frame bar color thresholds legend.
2022-08-04 22:32:35 +02:00
Bartosz Taudul
49dc3431ab
Allow setting custom FPS targets on frames overview.
2022-08-04 18:58:13 +02:00
Bartosz Taudul
9b5d0747eb
Add overview of frame target colors.
2022-08-04 18:46:37 +02:00
Bartosz Taudul
740155f5e3
Make frame targets input box smaller.
2022-08-04 18:23:25 +02:00
Daniel
dc74b8adfd
Using push/pop in all pragma pack pair to avoid potential padding bugs
2022-08-03 18:39:42 +08:00
Lei Zhang
37bcb9cd4a
Fix include path and QueueType::PlotData in TracyEventDebug.cpp
...
* common/TracyQueue.hpp is now under public/.
* QueueType::PlotData is splitted by cases.
2022-08-02 12:44:13 -04:00
Bartosz Taudul
5a36782c83
Fix inline functions not being attributed to symbols.
...
Regression was introduced in commit 18112d3c6
.
2022-07-31 12:38:24 +02:00
Bartosz Taudul
8b4385498d
Process Vsync frame messages.
...
Version bump is required due to frame set name pointer hack.
2022-07-30 19:51:29 +02:00
Bartosz Taudul
b19f9e1f4d
Use common functionality to get frame set name.
2022-07-30 19:32:25 +02:00
Bartosz Taudul
92871ba75a
Allow external data insertion into string discovery vectors.
2022-07-30 18:35:50 +02:00
Bartosz Taudul
66a6488980
Add centered image helper.
2022-07-28 00:24:50 +02:00
Bartosz Taudul
0c36bfba5d
Allow creating RGBA textures.
2022-07-28 00:24:49 +02:00
Bartosz Taudul
2d327abd80
Move imgui backends to a subdirectory.
2022-07-28 00:24:43 +02:00
Jiangping Xu
ad7c2cf5d8
fix tracy worker threads conflict
2022-07-27 11:44:19 -07:00
Bartosz Taudul
b782b021c7
Obey custom plot colors.
2022-07-24 14:31:56 +02:00
Bartosz Taudul
b026e09a09
Include custom color in plot configuration.
2022-07-24 13:42:25 +02:00
Bartosz Taudul
1dfe36e962
Implement reading 10 elements at once.
2022-07-24 13:40:06 +02:00
Bartosz Taudul
f354735fc4
Plot fill may be disabled.
2022-07-24 13:28:12 +02:00
Bartosz Taudul
b2a94cbfa2
Set plot fill using configuration message.
2022-07-24 13:10:20 +02:00
Bartosz Taudul
dceb2399ee
Set plot staircase using plot configuration message.
2022-07-24 13:09:45 +02:00
Bartosz Taudul
810f1573ac
Use separate messages for transfer of different plot value types.
2022-07-24 13:00:36 +02:00
Bartosz Taudul
aeedf7de2d
Save/load plot steps parameter.
2022-07-24 12:42:39 +02:00
Bartosz Taudul
16627d7313
Plots may now be drawn as staircases.
2022-07-24 12:37:30 +02:00
Bartosz Taudul
f8115168a6
Fill area under plots.
2022-07-24 12:28:47 +02:00
Bartosz Taudul
b0f484d593
Display plot colors in options menu.
2022-07-24 12:13:28 +02:00
Bartosz Taudul
3393471dcc
Draw memory plot ranges on top of plot.
2022-07-24 12:10:46 +02:00
Bartosz Taudul
a3b6a9c95c
Color plot background.
2022-07-24 01:39:51 +02:00
Bartosz Taudul
755df94f45
Move DarkenColor() to a proper source file.
2022-07-24 01:29:52 +02:00
Bartosz Taudul
27a98a3cc2
Make user plot color depend on its name.
2022-07-24 01:26:20 +02:00
Bartosz Taudul
a98bbc2340
Display plot color in plot tooltip.
2022-07-24 01:12:42 +02:00
Bartosz Taudul
7d1539a0ce
Plot coloring, currently by type.
2022-07-24 01:07:10 +02:00
Bartosz Taudul
5bee753376
Add source preview to lock info window source location.
2022-07-24 00:18:57 +02:00
Bartosz Taudul
0a00925a9b
More compact locks drawing.
2022-07-24 00:13:11 +02:00
Bartosz Taudul
efaf1df8d4
Move LockMap and LockHighlight definitions.
2022-07-23 15:54:48 +02:00
Bartosz Taudul
f7598d2431
Implement direct children search.
2022-07-23 13:31:41 +02:00
Bartosz Taudul
57f03dfe9a
Implement children messages filtering in zone tooltip.
2022-07-23 13:19:30 +02:00
Bartosz Taudul
4d40a9cb53
Track locking thread on server side.
2022-07-18 02:06:19 +02:00
Bartosz Taudul
06c7984a16
Move all client headers and sources to public/ directory.
2022-07-17 15:47:38 +02:00
Bartosz Taudul
b70321fe6a
Add protocol -> version mapping table.
2022-07-13 00:44:02 +02:00
Bartosz Taudul
0624c592e3
Advise about slow send queue.
2022-07-03 15:14:53 +02:00
Bartosz Taudul
edad2d7e35
Monitor send queue size.
2022-07-03 14:52:18 +02:00
Bartosz Taudul
71b3706486
Increase contrast on timeline CPU data CPU labels.
2022-07-03 13:04:09 +02:00
Bartosz Taudul
6748756fa1
Increase contrast of plot min/max labels.
2022-07-03 13:01:41 +02:00
Bartosz Taudul
f8f76a3d04
Text drawing with even more increased contrast.
2022-07-03 13:01:41 +02:00
Bartosz Taudul
c2a9a4e6be
Add missing includes.
2022-07-02 17:13:20 +02:00
Bartosz Taudul
2331ee04d2
Cleanup TracyView includes.
2022-07-02 17:00:08 +02:00
Bartosz Taudul
96dc8c8d1c
No need to include imgui.h in source view header.
2022-07-02 16:33:45 +02:00
Bartosz Taudul
1879d07eae
TracyImGui.hpp does not need assert.h nor algorithm includes.
2022-07-02 16:29:37 +02:00
Bartosz Taudul
4347cc58b1
Forward declare ImFont.
2022-07-02 16:25:47 +02:00
Bartosz Taudul
a46d3992a2
Thread view adjustment is timeline handling.
2022-07-02 15:44:00 +02:00
Bartosz Taudul
d9ce848bb0
Also extract (and rename) timeline mouse handling.
2022-07-02 15:42:01 +02:00
Bartosz Taudul
889e643d2a
Extract ranges UI from View.
2022-07-02 15:40:51 +02:00
Bartosz Taudul
9fb618c12d
Rename DrawZone* -> DrawTimeline*.
2022-07-02 15:38:10 +02:00
Bartosz Taudul
e3b11821c3
Extract zone timeline rendering from View.
2022-07-02 15:36:36 +02:00
Bartosz Taudul
7b04d8c0b3
Extract frames timeline UI from View.
2022-07-02 15:31:03 +02:00
Bartosz Taudul
0d41a6c48b
Move DrawHistogramMinMaxLabel() to TracyImGui.cpp.
2022-07-02 15:27:08 +02:00
Bartosz Taudul
5ed7d71927
DrawAllocList() is memory.
2022-07-02 15:24:59 +02:00
Bartosz Taudul
c2728fde04
Extract locks UI from View.
2022-07-02 15:24:09 +02:00
Bartosz Taudul
10205f90b4
Also extract timeline CPU data.
2022-07-02 15:20:47 +02:00
Bartosz Taudul
c6b6cb47da
Also move timeline samples.
2022-07-02 15:16:52 +02:00
Bartosz Taudul
e005d4ff36
Extract messages UI from View.
2022-07-02 15:15:24 +02:00
Bartosz Taudul
fe8269fa49
Mark syntax colors constexpr.
2022-07-02 15:10:01 +02:00
Bartosz Taudul
87d639c851
Move DrawStripedRect() out of header.
2022-07-02 15:08:52 +02:00