Commit Graph

10599 Commits

Author SHA1 Message Date
David McCloskey
655b8295cf Enhance Flame Graph View with Sorting Functionality
Added a "Sort" button to the Flame Graph view, allowing users to sort threads based on group hints, thread names, and IDs. Updated the child window to always show a vertical scrollbar for better usability.
2026-07-09 12:16:17 -05:00
Bartosz Taudul
ac4defb4f3 Merge pull request #1426 from YaLTeR/fix-manual
manual: Fix decorators in the Python listing and typo
2026-07-09 13:51:39 +02:00
Ivan Molodetskikh
c6f5cf50fb manual: Fix decorators in the Python listing and typo 2026-07-09 14:06:41 +03:00
Bartosz Taudul
96a91da63a Merge pull request #1425 from YaLTeR/desktop-tracy-profiler
.desktop: Change binary name to tracy-profiler
2026-07-09 11:55:06 +02:00
Ivan Molodetskikh
e0929e9cd8 .desktop: Change binary name to tracy-profiler
That's the current binary name.
2026-07-09 12:50:15 +03:00
Bartosz Taudul
05f620ab97 Merge pull request #1424 from YaLTeR/static-nfd
Link NFD statically
2026-07-09 11:16:56 +02:00
Ivan Molodetskikh
e40ce11ba9 Link NFD statically
Currently, the profiler will build against the git NFD, but link it as a
shared library. Since libnfd is not installed when building Tracy as a
distro package, it will end up actually depending on and running against
an older distro-provided NFD, hitting an unresolved function error due
to the newly added NFD function in git.

Other deps fetched with CPM are linked statically, avoiding this
problem.
2026-07-09 10:46:00 +03:00
Bartosz Taudul
66e5b81804 Draw rectangle encompassing CPU topology package. 2026-07-09 01:04:51 +02:00
Bartosz Taudul
d565afde82 Remove force inline for SectionEnter.
gcc breaks on this:
error: function ‘static uint32_t tracy::Profiler::SectionEnter(const char*, ...)’ can never be inlined because it uses variable argument lists
2026-07-08 18:04:01 +02:00
Bartosz Taudul
bd8246cba0 Build library / test application before building profiler tools. 2026-07-08 17:55:43 +02:00
Bartosz Taudul
2205d7972f Build dyna example in linux CI workflow. 2026-07-08 17:54:12 +02:00
Bartosz Taudul
e842bf223f Use correct type for phdr addresses. 2026-07-07 17:54:03 +02:00
Bartosz Taudul
6495aab062 Add android library CI workflow. 2026-07-07 17:53:14 +02:00
Bartosz Taudul
8555514d59 Merge pull request #1423 from YaLTeR/update-install
update: Add install() to CMakeLists.txt
2026-07-07 14:06:21 +02:00
Ivan Molodetskikh
3e0ded59a5 update: Add install() to CMakeLists.txt 2026-07-07 14:03:03 +03:00
Bartosz Taudul
ba8e4bdcbf Merge pull request #1422 from alandtse/fix/mcp-instance-eviction
fix(mcp): cap tracy_mcp instance memory growth
2026-07-07 11:21:56 +02:00
Alan Tse
9bbbec42f4 fix(mcp): cap tracy_mcp instance memory growth
tracy_mcp.py runs as a long-lived singleton shared across every MCP
client, and the `instances` dict never evicted entries — each
live_connect/load_capture materializes a full trace (zones, messages,
callstacks, memory events) with no size cap, so private bytes grow
without bound across recording sessions unless unload_capture is
called manually every time.

Add two backstops, both env-configurable: an LRU cap
(TRACY_MCP_MAX_INSTANCES, default 4) enforced on live_connect/
load_capture that never evicts a still-connected live instance, and a
periodic sweep that drops a disconnected live instance once it has
sat idle past TRACY_MCP_DISCONNECTED_TTL_S (default 1800s), keeping a
grace window for post-session analysis. list_instances now reports
connected/idle_seconds so callers can spot stale sessions, and
unload_capture/eviction now explicitly call Worker.shutdown() instead
of relying on GC. Document the lifecycle expectations (call
unload_capture proactively; treat eviction as a backstop) in
eval_guide.md.
2026-07-07 00:23:47 -07:00
Bartosz Taudul
69fead1c16 Add CMake presets for the rest of utils. 2026-07-07 01:43:43 +02:00
Bartosz Taudul
df463fcbfe Add CMake presets for profiler. 2026-07-07 01:43:43 +02:00
Bartosz Taudul
467ba60cdf Add proper compile options to dyna example. 2026-07-07 01:43:43 +02:00
Bartosz Taudul
cbbfd13fa2 Merge pull request #1421 from YaLTeR/sys-reg-h
Change musl bits/reg.h to sys/reg.h
2026-07-06 18:55:20 +02:00
Ivan Molodetskikh
16a148f0be Replace __WORDSIZE with __SIZEOF_POINTER__
__WORDSIZE has been relocated from bits/reg.h (now an empty header) to
sys/reg.h in 2024:
https://git.musl-libc.org/cgit/musl/commit/?id=e709a6f07ade208ba513f9225222336f30c304b0

And in any case, it's a private definition. Let's use a common
documented define instead:
https://gcc.gnu.org/onlinedocs/cpp/Common-Predefined-Macros.html

Fixes symbol resolution on musl (particularly, postmarketOS aarch64).
2026-07-06 18:57:31 +03:00
Bartosz Taudul
9131f3600b Fix copy from dialog for sections that were not ended. 2026-07-05 19:50:03 +02:00
Bartosz Taudul
b2d5d9bc52 Allow limiting playback to section scope. 2026-07-05 18:53:52 +02:00
Bartosz Taudul
ec884b2d60 Allow setting time range limit from section. 2026-07-05 18:51:58 +02:00
Bartosz Taudul
81cb4acbe6 Use ImGui mouse button identifiers instead of raw numeric ids. 2026-07-05 18:47:38 +02:00
Bartosz Taudul
f2256cf260 Add ellipsis to buttons that require further action. 2026-07-05 18:47:07 +02:00
Bartosz Taudul
ae83b00951 Add option to reset compare time range limits. 2026-07-04 22:29:14 +02:00
Bartosz Taudul
d2c69868d1 Better compare range limit time display. 2026-07-04 22:29:14 +02:00
Bartosz Taudul
18cfcd7e90 Add copy from section to compare range limits. 2026-07-04 22:29:14 +02:00
Bartosz Taudul
71d88fd198 Annotations may have the same name. 2026-07-04 22:29:14 +02:00
Bartosz Taudul
17bbc4049a Cosmetics for compare range limit. 2026-07-04 22:29:14 +02:00
Bartosz Taudul
2b0b7293a1 Filter frames by range in compare view. 2026-07-04 22:29:14 +02:00
Bartosz Taudul
07cb1030e7 Filter zones by range in compare view. 2026-07-04 22:29:13 +02:00
Bartosz Taudul
af8dc30912 Add sumSq cache to compare data for range filtering. 2026-07-04 17:41:18 +02:00
Bartosz Taudul
8f2bbc6116 Display message when no data to compare. 2026-07-03 15:24:47 +02:00
Bartosz Taudul
f01607714e Reset data when changing range limits. 2026-07-03 15:14:21 +02:00
Bartosz Taudul
533e1af389 Set time range limits in compare window from annotations. 2026-07-02 17:40:35 +02:00
Bartosz Taudul
25139748b2 Add annotations accessor to UserData. 2026-07-02 17:40:09 +02:00
Bartosz Taudul
853fff614e Support nfd parent window with wayland backend. 2026-07-02 02:14:04 +02:00
Bartosz Taudul
5be36d732b Bump nfd to current master. 2026-07-02 01:29:50 +02:00
Bartosz Taudul
836bf9d2eb Pass parent window handle to file dialogs. 2026-07-02 01:26:58 +02:00
Bartosz Taudul
db383f738b Store window handle for file selector. 2026-07-02 01:26:58 +02:00
Bartosz Taudul
a8c642f42b Cosmetics. 2026-07-02 01:01:09 +02:00
Bartosz Taudul
641bd09b6f Use extended-params version of NFD functions. 2026-07-02 00:46:30 +02:00
Bartosz Taudul
280af2e7bd Bump curl. 2026-07-02 00:30:53 +02:00
Bartosz Taudul
83298a3459 Bump usearch. 2026-07-02 00:30:48 +02:00
Bartosz Taudul
21f9c00e9f Bump md4c to current master. 2026-07-02 00:24:57 +02:00
Bartosz Taudul
b0a094bb42 Update manual. 2026-07-01 18:26:29 +02:00
Bartosz Taudul
70a09f5663 Update NEWS. 2026-07-01 17:58:05 +02:00