Commit Graph

9747 Commits

Author SHA1 Message Date
Bartosz Taudul
4fbbfb410d Merge pull request #1307 from slomp/slomp/d3d12-callstack-patch
Fix callstack and transient zones in D3D12
2026-03-17 21:20:08 +01:00
Marcos Slomp
36aaa19ae9 instrumenting relevant events of D3D12 2026-03-17 13:14:15 -07:00
Marcos Slomp
8b1e413db5 fix handling of D3D12 callstacks and/or transient zones 2026-03-17 13:13:24 -07:00
Bartosz Taudul
54f778c204 Display ellipsis in single-line callstack printout, when frames remain. 2026-03-17 02:29:12 +01:00
Bartosz Taudul
3876d33a15 Display callstacks in zone tooltips. 2026-03-17 01:32:24 +01:00
Bartosz Taudul
94e5ff2cfb Add inline callstack display to zone info window. 2026-03-17 01:00:21 +01:00
Bartosz Taudul
79d165190a Improve parent zones display. 2026-03-17 00:07:47 +01:00
Bartosz Taudul
83b7d3a267 Simplify "zone trace" into "parent zones". 2026-03-16 01:44:57 +01:00
Bartosz Taudul
a51efcc974 Proper CMake setup for TRACY_CALLSTACK. 2026-03-15 22:17:26 +01:00
Bartosz Taudul
1476afb992 Do not force enable CMake configure on open in VS Code. 2026-03-15 22:17:18 +01:00
Bartosz Taudul
80b8e8284e Allow attaching zone histogram to llm. 2026-03-11 00:42:53 +01:00
Bartosz Taudul
8f9392cae7 Merge pull request #1304 from slomp/slomp/windows-opsie
Windows x64 vs ARM opsie
2026-03-09 21:35:48 +01:00
Marcos Slomp
01bd20c30a Windows x64 vs ARM opsie 2026-03-09 13:24:08 -07:00
Bartosz Taudul
b0dd2b291d Make a separate fast model optional. 2026-03-08 14:42:18 +01:00
Bartosz Taudul
9f432d5fa2 Cosmetics. 2026-03-08 13:20:15 +01:00
Bartosz Taudul
2f90aac0ac Force enable thinking for chat model, force disable for fast model. 2026-03-08 13:16:14 +01:00
Bartosz Taudul
869ad0a02d Include news, locations, videos from brave search results. 2026-03-07 22:33:32 +01:00
Bartosz Taudul
928de7ae6c Use common functionality for gathering brave search results. 2026-03-07 22:33:32 +01:00
Bartosz Taudul
feb07e476a Merge pull request #1289 from slomp/slomp/windows-on-arm
Support for Windows on ARM
2026-03-06 23:55:02 +01:00
Bartosz Taudul
460944ef42 Cosmetics. 2026-03-06 23:53:13 +01:00
Bartosz Taudul
f1bc3ef4c7 Merge pull request #1300 from slomp/slomp/c-api-get-time
Adding C API for Profiler::GetTime()
2026-03-06 12:18:05 +01:00
Marcos Slomp
cc21988537 adding C API for Profiler::GetTime() 2026-03-06 01:33:01 -08:00
Bartosz Taudul
db0082de3f Add brave search. 2026-03-06 02:07:21 +01:00
Bartosz Taudul
bbc937c309 Refactor FetchWebPage to FetchHttp with custom headers support 2026-03-05 23:59:27 +01:00
Bartosz Taudul
71c5494414 Move web search engine implementations to separate functions. 2026-03-05 20:57:44 +01:00
Bartosz Taudul
2157e0a1b6 Better handle duckduckgo error responses. 2026-03-05 20:57:44 +01:00
Bartosz Taudul
cf09a04e92 Add missing include. 2026-03-05 20:57:01 +01:00
Bartosz Taudul
aba6efd24a Merge pull request #1296 from slomp/slomp/spsc-notify-wait
Add notify/wait to SPSCQueue (reduce latency of Symbol Worker)
2026-03-05 20:14:50 +01:00
Marcos Slomp
4460e64f3a addressing code review 2026-03-05 11:10:43 -08:00
Marcos Slomp
c696cb7f63 rever tracy_SPSCQueue.h 2026-03-04 21:42:14 -08:00
Marcos Slomp
332bbf2310 don't modify tracy_SPSCQueue.h 2026-03-04 17:35:05 -08:00
Marcos Slomp
ab2c32e52f use SPSC queue notify/wait in the symbol queue to reduce the response latency of the symbol worker 2026-03-04 12:14:19 -08:00
Marcos Slomp
eaa376be05 adding minimalist notify/wait interface and implementation to SPSC queue 2026-03-04 12:13:20 -08:00
Bartosz Taudul
53fa2ba67b Fix includes. 2026-03-02 23:58:16 +01:00
Bartosz Taudul
80c849a2aa Fix client identification in tracy-capture-daemon
Use '<pid>_<ip>_<port>' string as client ID instead of IP+port hash.
This allows:
- Same program restarting (new PID) to be recognized as new client
- Multiple instances of same program (different PIDs) to capture separately
2026-03-02 23:00:42 +01:00
Bartosz Taudul
add9a77396 Document tracy-capture-daemon and reorganize merge section
- Add subsection about tracy-capture-daemon in the capturing section
- Move merge tool documentation to follow capture daemon section
- Both tools are now documented as part of the capture workflow
2026-03-02 22:39:18 +01:00
Bartosz Taudul
e6aae0c18e Add tracy-capture-daemon for multi-client capture
A discovery-and-capture daemon that listens for UDP broadcasts from
Tracy clients, automatically connects to discovered clients, and
captures each to a separate file.

Features:
- Continuous discovery until Ctrl+C
- Per-client capture threads
- Terminal display with per-client stats
- Output files named: <program>_<ip>_<port>.tracy
- Collision handling with _1, _2 suffix
- Graceful shutdown on signal

Based on the multicapture design by Grégoire Roussel, but simplified
to output separate files instead of merging (use tracy-merge for that).

Co-authored-by: Grégoire Roussel <gregoire.roussel@wandercraft.eu>
2026-03-02 22:32:45 +01:00
Bartosz Taudul
03f01b9c49 Include fixes. 2026-03-02 21:34:35 +01:00
Bartosz Taudul
2341dee04a Refactor capture utilities into CaptureOutput
Extract common output functions from capture.cpp into a proper library:

- InitTerminalDetection()/IsTerminal() - terminal detection
- AnsiPrintf() - printf with ANSI escape codes
- WaitForConnection() - blocks until connected, returns error code
- PrintCaptureProgress() - prints throughput/memory/time stats
- PrintWorkerFailure() - prints failure details with callstack

Functions are declared in CaptureOutput.hpp and implemented in
CaptureOutput.cpp. Both tracy-capture and future tools can share
this code.

Co-authored-by: Grégoire Roussel <gregoire.roussel@wandercraft.eu>
2026-03-02 21:28:22 +01:00
Bartosz Taudul
f5545f864d Document tracy-merge utility in the manual 2026-03-02 20:36:22 +01:00
Bartosz Taudul
2e82525fb4 Fix plot handling in tracy-merge
- Always export plots (remove -p/--export-plots option)
- Add plot name disambiguation: prefix with process name
- Include PID in name when same process/plot appears in multiple traces
2026-03-02 20:35:23 +01:00
Bartosz Taudul
0dc6be27f3 Add tracy-merge tool for combining trace files
Merges multiple .tracy files into a single combined trace using the
Import API. Each trace's threads are remapped using compound TIDs
encoding (pid << 32) | tid to prevent collisions.

Thread names are prefixed with process name. If the same process/thread
name combination appears in multiple traces, PID is included to
disambiguate (e.g., myapp[12345]/MainThread).

Co-authored-by: Grégoire Roussel <gregoire.roussel@wandercraft.eu>
2026-03-02 20:35:20 +01:00
Bartosz Taudul
49590756a0 Extract broadcast message parsing into TracyBroadcast
Move broadcast message parsing logic from profiler/src/main.cpp into
server/TracyBroadcast.cpp/hpp. This reduces code duplication and enables
reuse by other tools (e.g., multi-capture).

ParseBroadcastMessage() handles all broadcast protocol versions (0-3) and
returns std::optional<BroadcastMessage>. ClientUniqueID() generates a unique
identifier from IP address and port.

Co-authored-by: Grégoire Roussel <gregoire.roussel@wandercraft.eu>
2026-03-02 19:45:48 +01:00
Bartosz Taudul
9442517f30 Remove trailing whitespace. 2026-03-02 19:40:41 +01:00
Marcos Slomp
93036b6877 code review: implement in header, but don't bring windows.h along for the ride 2026-03-01 08:14:10 -08:00
Marcos Slomp
42b0512517 fix copy-pasta... 2026-02-28 20:02:21 -08:00
Marcos Slomp
83707a9c2f updated support list 2026-02-28 20:02:17 -08:00
Marcos Slomp
0f170f51c6 report GUI initialization error before terminating 2026-02-28 20:00:11 -08:00
Marcos Slomp
960911f263 update manual with remarks about Windows on ARM 2026-02-28 20:00:11 -08:00
Marcos Slomp
e41ae15f27 using ARM64 intrinsics on Windows on ARM 2026-02-28 20:00:11 -08:00