Commit Graph

789 Commits

Author SHA1 Message Date
Bartosz Taudul
dfcc5ae37e
Draw time measure in flame graph. 2024-09-28 01:14:46 +02:00
Bartosz Taudul
8740ea710a
Symbol might be unavailable. 2024-09-28 01:09:49 +02:00
Bartosz Taudul
616e7c2eec
Retrieve ImGui with CPM.
ImGui OpenGL loader is patched, and not regenerated, because the gl3w
script requires network connectivity to download the header files from
Khronos at build time.
2024-09-27 15:55:22 +02:00
Bartosz Taudul
0e47224578
Universally use add_compile_options(). 2024-09-27 14:10:30 +02:00
Bartosz Taudul
bc60621d61
Use svg favicon. 2024-09-26 16:21:16 +02:00
Bartosz Taudul
1c1faeff2d
Replace parallel STL with PPQSort.
PPQSort is supposedly quite fast: https://github.com/GabTux/PPQSort

More importantly, it does not depend on TBB fuckery, so there's no longer
a need to link with an external library that people may or may not have.

The NO_PARALLEL_STL option is out, as it was provided solely to deal with
TBB being not available. Sequential sorting is still used on emscripten.
2024-09-26 14:41:59 +02:00
Bartosz Taudul
d400183483
Replace stray std::sort() with pdqsort_branchless(). 2024-09-26 14:36:56 +02:00
Bartosz Taudul
684c34dc21
Handle focus in/out on emscripten to fix mouse button stickiness. 2024-09-25 00:36:55 +02:00
Bartosz Taudul
315864e434
Mark self function in inlines list if top inline is enabled. 2024-09-24 19:47:41 +02:00
Bartosz Taudul
b676406878
Assert on parent name being null. 2024-09-24 19:44:36 +02:00
Bartosz Taudul
aca0f3cad7
Workaround failing assert.
The aggregate inlines code branch can fail when the top inlines option
is enabled, on an assert. This was present in the code before, it's just
that enabling top inlines is equivalent to expanding all the collapsed
symbols, which is not something practical to do.

Workaround by adding a condition instead of the assert. Finding a repro
case would be better to figure out what's exactly happening there, but
we are where we are.
2024-09-24 19:42:35 +02:00
Bartosz Taudul
2d6bcff3a6
Add option to display top cost inlines in symbol statistics list. 2024-09-24 19:42:35 +02:00
Bartosz Taudul
ae2a7c60b8
Calculate inline symbols list earlier. 2024-09-24 19:42:34 +02:00
Bartosz Taudul
9b9a883d07
Fix crash introduced in 605cdcb5. 2024-09-24 17:15:43 +02:00
Bartosz Taudul
86270dac6d
Set unique ID for frame list invisible buttons. 2024-09-22 13:00:30 +02:00
Bartosz Taudul
8b9da2efba
Add support for setting mouse cursor on emscripten. 2024-09-20 23:30:21 +02:00
Bartosz Taudul
c3cf13fc64
Allow passing custom git revision to CMake. 2024-09-20 22:08:03 +02:00
Bartosz Taudul
39497ab77b
Disable scroll-by-page. 2024-09-20 19:50:30 +02:00
Bartosz Taudul
fc303d9594
Don't sort flame graph by default. 2024-09-20 01:29:47 +02:00
Bartosz Taudul
e793f927fc
Add feels-good scaling factor to wheel scroll values. 2024-09-19 21:02:58 +02:00
Bartosz Taudul
4795011b12
Remove debug printf. 2024-09-19 20:58:05 +02:00
Bartosz Taudul
f971faab58
Fix horizontal wheel scroll direction. 2024-09-19 20:53:44 +02:00
Bartosz Taudul
07995f0222
Run two render worker threads on emscripten. 2024-09-19 20:44:42 +02:00
Bartosz Taudul
1109e3ce2d
Add html5.h emscripten backend. 2024-09-19 19:56:52 +02:00
Bartosz Taudul
0b72fd8a97
Update ImGui to 1.91.2 + docking. 2024-09-19 18:04:44 +02:00
Bartosz Taudul
00f7beee43
No connections allowed on emscripten. 2024-09-18 19:30:54 +02:00
Bartosz Taudul
20905406da
Don't use obsolete ImGui functionality. 2024-09-18 19:13:26 +02:00
Bartosz Taudul
0f0f2c6b9b
Compile everything on emscripten with the same set of flags. 2024-09-18 19:13:26 +02:00
Bartosz Taudul
3bb6f1bb68
Adjust link flags for emscripten.
Increase the thread pool to account for background jobs. Increase stack
size, as it was overflowing. Move the pthread flag out of config.cmake.
2024-09-18 19:13:26 +02:00
Bartosz Taudul
3bea3b7725
Disable resolv service on emscripten. 2024-09-18 19:13:25 +02:00
Martijn Courteaux
0f6002822c Fix inheriting color bug. 2024-09-14 14:10:55 +02:00
Bartosz Taudul
44d1502474
Always keep cursor shape initialized. 2024-09-14 01:15:02 +02:00
Bartosz Taudul
5a67246426
Silence warnings. 2024-09-14 01:10:14 +02:00
Bartosz Taudul
d8f4c8bc7e
Don't perform arithmetic on enum values. 2024-09-14 01:00:19 +02:00
Bartosz Taudul
8a6e525ea9
Get up-to-date wayland-protocols directly from freedesktop. 2024-09-13 22:30:19 +02:00
Bartosz Taudul
b359936c04
Zones can inherit custom colors from parents.
Co-authored-by: Martijn Courteaux <courteauxmartijn@gmail.com>
2024-09-13 22:14:22 +02:00
Bartosz Taudul
55da9d1084
Merge pull request #879 from mcourteaux/master
Fix ThreadData-sorting bug.
2024-09-12 18:17:10 +02:00
Justin Carpentier
8fc0dcfd48 [profiler] Add install target 2024-09-11 19:11:35 +02:00
Martijn Courteaux
46ec677702 Fix thread-sorting bug. 2024-09-11 10:44:34 +02:00
Bartosz Taudul
b687831394
Add protocol version for 0.11.1. 2024-09-10 20:47:32 +02:00
Bartosz Taudul
5632021003
Add missing GPU context name for Metal. 2024-09-10 19:13:35 +02:00
Bartosz Taudul
e8ff26e173
Merge pull request #793 from slomp/slomp/metal
Metal (Apple) GPU back-end for Tracy
2024-09-10 19:08:04 +02:00
Bartosz Taudul
49f0ca5339
Add missing function ptr prototypes. 2024-09-09 21:49:05 +02:00
Bartosz Taudul
d46eebf794
Trim address entry field.
Sometimes a stray whitespace may be inserted in the address field, for
example when copying and pasting from somewhere else.
2024-09-09 20:41:28 +02:00
Bartosz Taudul
5795bc5766
Include git reference in user agent. 2024-09-09 20:27:12 +02:00
Bartosz Taudul
323778e96f
Probe for Wine in HttpRequest. 2024-09-09 20:25:09 +02:00
Bartosz Taudul
48763ef836
Thread selection in flame graph. 2024-09-09 01:31:49 +02:00
Bartosz Taudul
504b9d215e
Sampling mode flame graph. 2024-09-08 23:07:15 +02:00
Bartosz Taudul
88f0f6680b
Implement Wayland clipboard paste. 2024-09-08 21:16:21 +02:00
Bartosz Taudul
25ff997548
Implement clipboard copy on Wayland. 2024-09-08 21:16:20 +02:00
Bartosz Taudul
59092bef72
Create data device for a seat. 2024-09-08 19:20:16 +02:00
Bartosz Taudul
bec8973265
Bind data device manager. 2024-09-08 18:29:02 +02:00
Bartosz Taudul
d4f6537b95
Cosmetics. 2024-09-08 18:28:56 +02:00
Bartosz Taudul
f1bfbb9821
Allow easy retrieval of git ref from the about dialog. 2024-09-08 17:47:46 +02:00
Bartosz Taudul
45b9aff761
Display counts of selectable items, if some are unselected. 2024-09-08 17:44:42 +02:00
Bartosz Taudul
8b8ff9363d
Cache last source location entry.
227 ms -> 138 ms
2024-09-08 17:01:50 +02:00
Bartosz Taudul
0c0e4f554f
Do a linear search instead of using a map.
513 ms -> 227 ms for a trace with 66 unique source locations and 179 million
zones.
2024-09-08 16:10:39 +02:00
Bartosz Taudul
d67598f0fe
Hide advanced options in trace save dialog.
The default settings are good enough.
2024-09-08 15:54:42 +02:00
Bartosz Taudul
0d8b2b6252
Adapt frame graph tooltip to look more like zone tooltip. 2024-09-08 15:41:44 +02:00
Bartosz Taudul
c783a48bae
Always include CMake binary dir in include path. 2024-09-08 14:52:57 +02:00
Bartosz Taudul
1950040461
Print git ref in the about dialog. 2024-09-08 14:23:05 +02:00
Bartosz Taudul
5934f5da9a
Generate git revision to a header file. 2024-09-08 14:18:52 +02:00
Bartosz Taudul
959f0de7e5
Open find zone from flame graph. 2024-09-08 13:48:22 +02:00
Bartosz Taudul
6080b8742a
Fix memory leak. 2024-09-08 13:39:40 +02:00
Bartosz Taudul
4afc0960fb
Add flame graph tooltip. 2024-09-08 13:20:37 +02:00
Bartosz Taudul
d8849af800
Drawing the flame graph. 2024-09-08 13:11:24 +02:00
Bartosz Taudul
e4ec798762
Basic flame graph window layout. 2024-09-08 12:33:11 +02:00
Bartosz Taudul
5b75954c5b
Flame graph builder. 2024-09-08 12:33:11 +02:00
Bartosz Taudul
692fcc225f
Add flame graph window. 2024-09-08 12:33:09 +02:00
Bartosz Taudul
64f2008cc1
Disable transparency on collapsed windows title bars. 2024-09-07 18:03:38 +02:00
Bartosz Taudul
e393ade59d
Shorten menu bar button names. 2024-09-07 18:00:59 +02:00
Marcos Slomp
1dfc926eb8 Metal back-end WIP 2024-08-26 08:15:47 -07:00
Bartosz Taudul
f7b810a3d1
Mark hyperthread jumps. 2024-08-24 16:52:04 +02:00
Bartosz Taudul
be92ae787c
Add tooltips for thread jumps. 2024-08-24 16:50:02 +02:00
Bartosz Taudul
50bb383667
Display CPU topology data in zone wait regions list. 2024-08-24 16:47:55 +02:00
Bartosz Taudul
844bc1e416
Display die jumps in wait regions list. 2024-08-24 16:37:04 +02:00
Bartosz Taudul
46e979e185
Display die information on CPU data graph. 2024-08-24 16:36:29 +02:00
Bartosz Taudul
357b557684
Add die to CPU topology data structures.
Drawing dies on the topology chart is a minimal effort for the time being.
An improved version will be added later on.
2024-08-22 20:26:11 +02:00
Bartosz Taudul
60042d1944
Print context switch event data. 2024-08-06 20:37:51 +02:00
Bartosz Taudul
a1064a3d26
Observe thread grouping hint when a new thread appears. 2024-08-03 20:18:40 +02:00
Bartosz Taudul
1390c8c9e3
Take group hint into account when sorting threads. 2024-08-03 20:11:55 +02:00
Bartosz Taudul
dbf6274bff
Remove threads that had group hint changed from thread order list. 2024-08-03 20:11:35 +02:00
Bartosz Taudul
70a468e160
Protocol version 66 was used by 0.11.0. 2024-08-03 19:36:56 +02:00
Pavel Šmejkal
893754638c Fix achievement mgr crashing on uninitialized data
Both the achievement manager and the achievement data were globals in
separate compilation units. Order of initialization is not defined in
that case which sometimes caused the mgr to load uninitialized data and
crash when an achievement should have been achieved but was not found.
2024-07-17 21:57:16 +02:00
Bartosz Taudul
ec455c8ee6
Add frame images achievement. 2024-07-08 19:46:01 +02:00
Bartosz Taudul
69c50cb6cb
Add frame instrumentation achievement. 2024-07-08 19:30:27 +02:00
Bartosz Taudul
e4cda51bf6
Unlock new top-level achievements in already unlocked categories. 2024-07-08 19:26:27 +02:00
Bartosz Taudul
1a7eefc6af
Add find zones achievement. 2024-07-08 19:11:58 +02:00
Bartosz Taudul
6f17cf1869
Use double quotes in achievements texts. 2024-07-08 18:52:20 +02:00
Bartosz Taudul
9688152505
Add dynamic colors, force colors, shorten name to global options. 2024-06-30 20:13:11 +02:00
Bartosz Taudul
f8023ba698
Setup config before loading user data state that may want to overwrite it. 2024-06-30 20:12:08 +02:00
Bartosz Taudul
3c34d9d096
Remove redundancy. 2024-06-30 20:11:50 +02:00
Bartosz Taudul
938ab3b8ea
Move config setup to a separate function. 2024-06-30 20:11:25 +02:00
Bartosz Taudul
9f0f3a7218
Save achievements data after each completion. 2024-06-16 12:53:40 +02:00
Bartosz Taudul
50f5345ea5
Add a help marker for the target FPS setting. 2024-06-16 12:52:17 +02:00
Bartosz Taudul
959ab53529
Add global settings achievement. 2024-06-16 12:45:11 +02:00
Bartosz Taudul
915a138150
Add 100 million zones achievement. 2024-06-16 12:39:26 +02:00
Bartosz Taudul
c5c0fceda4
Add instrumentation statistics achievement. 2024-06-14 18:25:50 +02:00
Bartosz Taudul
f04d844515
Use strlen to calculate end of string in ShortenZoneName(). 2024-06-12 23:54:25 +02:00
Bartosz Taudul
3589b46fab
Don't try to shorten zone names starting with '['. 2024-06-12 23:33:45 +02:00