Ikko Eltociear Ashimine
dfbf0652f2
libbacktrace: update elf.cpp
...
previouly -> previously
2024-07-01 02:20:56 +09:00
Bartosz Taudul
be40c1e38e
Use strlen instead of pointer walking in the rest of places.
2024-06-16 18:20:16 +02:00
Martijn Courteaux
5d52427f4a
Two minor fixes.
2024-06-07 11:36:47 +02:00
Ravbug
5454f7564c
Windows for ARM support
2024-06-04 17:21:24 -07:00
Jakub Žádník
da9b9f8e79
Fix wrong parameter in TracyCLContextName
...
The macro accepted a `context` parameter, but its expansion used `ctx`.
`context` is renamed to `ctx` in `TracyCLContext` for consistency.
2024-05-29 16:22:21 +03:00
Bartosz Taudul
cbea6d7852
Fix 32-bit builds.
2024-05-28 20:51:16 +02:00
Bartosz Taudul
1ff73edd20
Add linux kernel symbol code retrieval.
2024-05-26 20:49:43 +02:00
heyallnorahere
7fa2c6cfd2
add availability flag to vkGetQueryPoolResults (vulkan profiler)
2024-05-25 20:02:57 +00:00
Bartosz Taudul
82aecbdb31
Calculate size of kernel code sections.
2024-05-25 17:18:41 +02:00
Bartosz Taudul
64aad9e751
Load all kernel symbols, mark non-code sections with null name.
2024-05-25 17:18:41 +02:00
Bartosz Taudul
d5064aa8ea
Try to prevent reallocs when building kernel symbols table.
...
% wc -l /proc/kallsyms
419362 /proc/kallsyms
2024-05-25 17:18:41 +02:00
Bartosz Taudul
c45683506c
Merge pull request #783 from tiago-rodrigues/trodrigues/image_cache_deadlock_fix
...
Instead of calling dladdr inside the dl_iterate_phdr callback, do it outside to avoid deadlocks with other loader code
2024-05-04 11:33:54 +02:00
trodrigues
4bf9a8cecc
Instead of calling dladdr inside the dl_iterate_phdr callback, do it outside to avoid deadlocks with other loader code
2024-05-03 16:05:59 -05:00
Bartosz Taudul
8a411a72b8
Merge pull request #757 from JBurnWork/noCallstackUpdates
...
Updates to address compilation with TRACY_NO_CALLSTACK
2024-03-23 01:26:42 +01:00
Jeff Burnett
18352366f7
Still use named mem pool if no callstacks
...
Forward MemAllocCallstackNamed() and MemFreeCallstackNamed() to
MemAllocNamed() and MemFreeNamed if callstack capture is off.
2024-03-22 09:50:05 -05:00
Jeff Burnett
278330af5b
Fix build warnings for TRACY_NO_CALLSTACK
...
Fix build warnings about undefined TRACY_HAS_CALLSTACK and an unused
argument for Callstack() when TRACY_NO_CALLSTACK is defined.
2024-03-22 09:50:05 -05:00
Bartosz Taudul
aac38a7deb
Update CI.
...
Co-authored-by: Tom Atkinson <tja.atkinson@gmail.com>
2024-03-22 13:49:08 +01:00
Bartosz Taudul
ac031e64d6
Merge pull request #755 from Chekov2k/color
...
Add support to set color when creating a ScopedZone
2024-03-20 22:19:38 +01:00
Arnim Balzer
c5a68c2d8e
Remove default values that are not supported in C
2024-03-20 20:01:18 +00:00
Arnim Balzer
8df02e0bff
Add support to set color when creating a ScopedZone
2024-03-18 08:56:06 +00:00
Bartosz Taudul
83305115c2
Fix variable name.
2024-03-17 11:34:25 +01:00
Bartosz Taudul
2df972d586
libbacktrace: don't assume compressed section is aligned (7ead8c1)
2024-03-13 00:29:01 +01:00
Bartosz Taudul
49478ec3b3
libbacktrace: skip all LZMA block header padding bytes (28824f2)
2024-03-13 00:24:13 +01:00
Bartosz Taudul
1f90cd473b
libbacktrace: use real .opd for debuginfo on ppc64 v1 ABI (592e9c8)
2024-03-13 00:23:08 +01:00
Bartosz Taudul
a9feb75bdf
libbacktrace: read symbol table of debuginfo file (36cfdc1)
2024-03-13 00:20:14 +01:00
Bartosz Taudul
a4eecd508d
libbacktrace: call GetModuleFileNameA on Windows (25889d2)
2024-03-13 00:18:14 +01:00
Bartosz Taudul
11bf33c32c
libbacktrace: look for _pgmptr on Windows (c1c86fa2)
2024-03-13 00:15:10 +01:00
Matej Mulej
14438be242
Cleanup and define nice C macros for lock API.
2024-03-12 20:56:00 +01:00
Matej Mulej
2e7081e52a
Expose lock API to TracyC.h
2024-03-11 21:06:11 +01:00
Matej Mulej
92511c9742
Add non-C++ lock API
2024-03-11 21:01:25 +01:00
Elliot
a26f076a0e
fix build warnings when compiling with clang-cl
2024-03-11 14:44:44 -04:00
Bartosz Taudul
082c13ac8e
Put m_qpcToNs in a _WIN32 ifdef.
2024-03-09 23:25:49 +01:00
Bartosz Taudul
7d813ec2c1
Merge pull request #733 from Razakhel/fix-clang-pedantic-windows
...
Added preprocessor checks for Clang on Windows
2024-03-05 18:07:03 +01:00
Bartosz Taudul
4226f7888e
Manually allocate and free s_di_known.
...
Otherwise destructor will be called when main() returns while symbol
retrieval may still want to actively use the vector.
2024-02-26 23:03:37 +01:00
Bartosz Taudul
133d52a6dd
Make external name retrieval high priority.
2024-02-25 15:13:29 +01:00
Razakhel
cef21ef035
Added preprocessor checks for Clang on Windows
...
- MSVC-specific code is used in some places and compiled only if _MSC_VER is set; however, Clang under Windows also defines this, which reports errors on this non-standard code if the -pedantic-errors compiler flag is set
2024-02-21 22:54:44 +01:00
David Briscoe
7d8432bbec
Cast thread id to uint32_t
...
Fix MSVC Warning C4244: 'argument': conversion from 'uint64_t' to
'uint32_t', possible loss of data
We only store 32 bit thread ids in ThreadNameData.
Trying to follow existing style instead of static_cast.
2024-02-16 16:29:36 -08:00
Bartosz Taudul
bf76f57716
Add formatted variants for ZoneText and ZoneName.
2024-02-11 16:24:37 +01:00
Bartosz Taudul
c03884d20c
Add TracyNoop macro.
2024-02-09 14:51:25 +01:00
Bartosz Taudul
5037742ab0
Fix file access race condition.
2024-02-07 17:14:31 +01:00
Bartosz Taudul
312713b83c
Free allocated memory in case of read failure.
2024-02-07 17:14:04 +01:00
Gedalia Pasternak
4ebbd15894
add win32 fix.
2024-01-24 11:27:08 -05:00
Gedalia Pasternak
9515a824fd
This change makes the crash handler only install when tracy is connected.
...
This avoids the issue that an end user has their own crash handler which
gets ignored when tracy is on even if there is nothing to capture the crash.
2024-01-24 09:25:57 -05:00
Robert Osfield
d62428c482
Moved methods into public scope and add GetQueryPool() method to enable use of the VkCtx directly rather than just from VkCtxScope ( #695 )
2023-12-23 00:54:18 +01:00
Bartosz Taudul
e7b9bffbbd
Rename TRACE_CLIENT_LIBUNWIND_BACKTRACE to TRACY_LIBUNWIND_BACKTRACE.
2023-12-21 14:07:44 +01:00
Bartosz Taudul
e9911ab127
Fix includes.
2023-12-20 13:16:51 +01:00
Bartosz Taudul
0f794ed3b4
Cosmetics.
2023-12-20 13:15:42 +01:00
Bartosz Taudul
c39b7af4b3
Proper spelling of dbghelp.
2023-12-20 13:14:06 +01:00
Bartosz Taudul
cc3cbfe6f2
No need for indirection of ImageEntry vector.
2023-12-12 19:27:53 +01:00
Bartosz Taudul
5decb91cd0
Don't clear image cache on refresh.
2023-12-12 19:23:27 +01:00
Bartosz Taudul
7fc7935359
Cosmetics.
2023-12-12 19:09:41 +01:00
Bartosz Taudul
073e04e967
Remove redundant include.
2023-12-12 19:04:43 +01:00
Alex
9921b74e6d
-documentation
...
-erro message
2023-12-11 16:21:19 -08:00
Alex
1e6f877777
-add tracy client address flag
2023-12-11 15:16:41 -08:00
trodrigues
ab1ec3f01c
make sure we always copy the image name in ImageCache
2023-12-09 19:12:53 -06:00
trodrigues
15f1b6b0b4
make a copy of dli_fname after calling dladdr. Call ImageCache destructor.
2023-12-09 09:40:07 -06:00
trodrigues
8503f32b36
fix typos and compilation warnings
2023-12-09 09:37:14 -06:00
trodrigues
e80e1d2484
fix line endings
2023-12-06 12:29:26 -06:00
Tiago Rodrigues
8dfc5fe41f
re-apply diff
2023-12-06 12:39:52 -05:00
Tiago Rodrigues
38559172bb
checkout elf.cpp as it looks like line ending were screwed up
2023-12-06 12:37:53 -05:00
Tiago Rodrigues
24b6c649d3
fix typo
2023-12-06 12:32:37 -05:00
trodrigues
b835d73590
Add support for libbacktrace to detect new elfs have been dynamically loaded after backtrace_initialize() has been called, and consider them for symbol resolution
2023-12-05 20:09:11 -06:00
trodrigues
55f53b9979
remove option to enable image cache, use it for TRACY_HAS_CALLSTACK == 3 to obtain image path and addreses instead of dladdr()
2023-12-05 20:01:12 -06:00
trodrigues
a618b6e6f8
simplify return from tracy::FastVector iterator
2023-12-03 08:36:54 -06:00
Tiago Rodrigues
a9d039e081
move under the tracy namespace, remove commented out code
2023-12-03 09:23:03 -05:00
Tiago Rodrigues
132419dba3
Add image cache to avoid calling dladdr() when doing offline symbol resolution. This cache can also be used in the runtime symbol resolution case to detect we should recreate "backtrace_state" when new images have been loaded
2023-11-29 13:23:58 -05:00
Tiago Rodrigues
a1ca8dd06a
fixes according to review comments
2023-11-24 16:32:45 -05:00
trodrigues
301c9fb720
revert #ifdef of a lot of code by TRACY_SYMBOL_OFFLINE_RESOLVE, it now only force enables the offline symbol resolving codepath.
2023-11-19 06:32:17 -08:00
Tiago Rodrigues
79618c5a1a
Add support for using defining TRACY_SYMBOL_OFFLINE_RESOLVE to enable only the offline symbol resolving codepath
2023-11-19 06:32:17 -08:00
Tiago Rodrigues
c302b509fe
fix formatting
2023-11-19 06:32:17 -08:00
Tiago Rodrigues
f4f75eac64
Add support for offline symbol resolving by setting the "TRACY_SYMBOL_OFFLINE_RESOLVE=1" env var
...
- Add a tool "tracy-edit" that allows loading a tracy capture, patching symbols and recompress the result
- Add offline symbol resolvers for linux (using addr2line) and windows (using dbghelper)
2023-11-19 06:32:16 -08:00
Damien Mabin
37f886dba4
Fix compilation on 32 bit android
2023-11-15 13:28:37 +02:00
Tiago Rodrigues
c373647dae
fix coding style
2023-11-13 13:43:03 -05:00
trodrigues
2988d0a136
rename libunwind option and add it to cmake
2023-11-10 16:17:39 -06:00
Tiago Rodrigues
95cb3e1f5a
Add "TRACY_NO_SYS_TRACE" env var to allow force disabling system trace even if the underlying system supports it
2023-11-10 17:02:47 -05:00
Tiago Rodrigues
790d28911d
Add env var "TRACY_NO_DBHELP_INIT_LOAD" to allow disabling dbghelp loading of DeviceDriver and ProcessModules at startup
2023-11-10 17:02:03 -05:00
Tiago Rodrigues
4c94b3eff7
Add support to use libunwind for backtrace capturing on linux platforms (which is ~ 4x faster than execinfo)
2023-11-10 17:00:39 -05:00
Bartosz Taudul
0b21b2f3b4
Merge pull request #649 from michaeldleslie/support_qnx
...
Add basic QNX support
2023-10-30 23:44:58 +01:00
Ivan Molodetskikh
852a1a5f14
Add TracyIsStarted
...
When using TRACY_MANUAL_LIFETIME, calling most Tracy functions
before starting the profiler results in an assertion. Notably, even
TracyIsConnected is affected. There is, however, no function to check if
the profiler had already started. This commit adds such a function.
2023-10-25 14:56:29 +04:00
Michael Leslie
8263bfb829
clean up indentation
2023-10-24 17:44:46 -07:00
Michael Leslie
daba5ae1d8
add qnx support for instrumentation profiling only
2023-10-24 17:40:13 -07:00
Ivan Molodetskikh
41fc293043
Add GpuTimeSync event
...
Allows to resynchronise GPU and CPU timestamps during profiling.
2023-10-22 10:16:41 +04:00
Bartosz Taudul
3601576b3f
Add some more ogryzek device identifiers.
2023-10-20 01:32:05 +02:00
Ivan Molodetskikh
52caae3a51
Defer GPU contexts from the C API
...
Same as how the C++ API does it. Otherwise with on demand mode the
profiler never receives the GPU context info.
2023-10-19 15:33:06 +04:00
Marcell Kiss
69ba216245
correct load method Vk instance extension symbol
2023-10-17 23:23:13 +01:00
Bartosz Taudul
37aff70dfa
Release 0.10.0.
2023-10-16 20:59:38 +02:00
Bartosz Taudul
757362f782
Merge pull request #603 from slomp/slomp/d3d11-refactor
...
refactoring of the D3D11 back-end
2023-10-09 23:56:20 +02:00
Marcos Slomp
ded5b81fa4
eliminate "already defined" warning when passing TRACY_DELAYED_INIT to the compiler on Apple clients
2023-10-09 13:24:54 -07:00
Bartosz Taudul
da1bc2b60e
Merge pull request #597 from Keno/kf/noplrdtsc
...
Use patchable rdtsc sequence to avoid slowdowns under rr
2023-09-24 21:55:11 +02:00
Bartosz Taudul
855fd299ea
Merge pull request #600 from slomp/slomp/d3d12-refactor
...
Refactoring of the D3D12 back-end
2023-09-24 21:51:58 +02:00
Bartosz Taudul
60a3a85069
Merge pull request #624 from slomp/slomp/udp-broadcast-fix
...
Fixes around UDP broadcast
2023-09-21 20:29:32 +02:00
Marcos Slomp
83b52d9a20
fix socket reuse logic in UdpListen::Listen()
2023-09-20 21:47:44 -07:00
Keno Fischer
5417227e83
Use patchable rdtsc sequence to avoid slowdowns under rr
...
We (Julia) ship both support for using tracy to trace julia applications,
as well as using `rr` (https://github.com/rr-debugger/rr ) for record-replay debugging.
After our most recent rebuild of tracy, users have been reporting signfificant performance
slowdowns when `rr` recording a session that happens to also load the tracy library
(even if tracing is not enabled). Upon further examination, the recompile happened
to trigger a protective heuristic that disabled rr's patching of tracy's use of
`rdtsc` because an earlier part of the same function happened to look like a
conditional branch into the patch region. See https://github.com/rr-debugger/rr/pull/3580
for details. To avoid this issue occurring again in future rebuilds of tracy,
adjust tracy's `rdtsc` sequence to be `nopl; rdtsc`, which (as of of the
linked PR) is a sequence that is guaranteed to bypass this heuristic
and not incur the additional overhead when run under rr.
This functionality is kept behind a compile-time flag `TRACY_PATCHABLE_NOPSLEDS`
in order to avoid polluting the instruction cache unnecessarily.
2023-09-20 20:21:40 -04:00
Marcos Slomp
996987b966
scoping
2023-09-11 12:59:48 -07:00
Marcos Slomp
7b2acd2c6d
improved error reporting
2023-09-11 12:53:42 -07:00
Marcos Slomp
42b088d085
Collect pending timestamps upon context destruction
2023-09-11 12:46:03 -07:00
Marcos Slomp
2e3ae95882
reworking TracyD3D12 macros
2023-09-11 12:28:07 -07:00
Marcos Slomp
f9d36060df
reworking clock calibration
2023-09-11 12:08:15 -07:00
Marcos Slomp
6454b0bd65
removing windows/com header bloat
2023-09-11 12:07:42 -07:00
Marcos Slomp
cf38d6a102
reworking context id initialization
2023-09-11 11:56:52 -07:00