Commit Graph

4161 Commits

Author SHA1 Message Date
Bartosz Taudul
2031c92f7a Add source code tooltip to function selection list. 2022-08-15 22:10:59 +02:00
Bartosz Taudul
163e7fd490 Normalize names in function selection list in symbol view. 2022-08-15 22:06:35 +02:00
Bartosz Taudul
b1aca6acf9 Show original name in tooltip in sample parents window. 2022-08-15 21:54:29 +02:00
Bartosz Taudul
dc84752fab Normalize symbol view symbol name. 2022-08-15 21:51:11 +02:00
Bartosz Taudul
f4524a8453 Show more elements in one-line callstacks. 2022-08-15 21:36:29 +02:00
Bartosz Taudul
697d1f0cad Fully shorten frame names in one-line callstack calls. 2022-08-15 21:33:25 +02:00
Bartosz Taudul
baf365c0c3 Normalize frame names in memory callstack tree. 2022-08-15 21:29:21 +02:00
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