1
0
mirror of https://github.com/wolfpld/tracy.git synced 2025-03-20 07:40:02 +08:00
Commit Graph

62 Commits

Author SHA1 Message Date
Igor S. Gerasimov b87a935c58 Allow global setting of CMAKE_INTERPROCEDURAL_OPTIMIZATION 2025-01-11 19:35:39 +01:00
Igor S. Gerasimov 7c48baf132 Add Link-Time optimization option 2025-01-11 16:33:01 +01:00
Igor S. Gerasimov 2608c6bbc9 Use whitespaces only 2025-01-11 16:15:33 +01:00
Igor S. Gerasimov a42ea071a0 Add support of Cray compilers 2025-01-05 23:21:12 +01:00
Igor S. Gerasimov a30fff8b4c CMake support of Fortran bindings 2025-01-05 23:21:12 +01:00
Igor S. Gerasimov caf0047367 Catch disabled TRACY_DELAYED_INIT when TRACY_MANUAL_LIFETIME is enabled 2024-12-27 08:58:00 +01:00
Bartosz Taudul 4497201928 Merge pull request #899 from Jan200101/PR/header-merge
Install header files into one folder
2024-10-02 22:55:31 +02:00
Jan200101 f45dc88bf8 Install header files into one folder
all headers from one project are best kept in one place
2024-10-02 22:51:01 +02:00
Jan200101 4490f9cb41 Export cmake config into library directory
because the target contains architecture dependent information (for example library path) its best to store it in an architecture dependent path
2024-10-02 22:50:06 +02:00
Bartosz Taudul 6721db8600 Proper way of enabling libdebuginfod. 2024-09-27 19:59:40 +02:00
Eyck Jentzsch f5bc9a9ae8 adds target export to allow use in projects using exports 2024-08-21 22:46:15 +02:00
Timo Suoranta 0aa025c0d9 Fix for #847 2024-07-26 11:24:20 +03:00
Bartosz Taudul 684cee59ab Merge pull request #841 from aluaces/pr-find-libunwind
Find libunwind if requested so we can link to it.
2024-07-23 13:13:18 +02:00
Alberto Luaces d9a182b450 Find libunwind if requested so we can link to it. 2024-07-23 12:15:36 +02:00
Grégoire Roussel c9063fbdbe Expose TRACY_VERBOSE in cmake for debug 2024-07-21 17:37:57 +02:00
Bartosz Taudul 521e371c60 Ignore CMake build directories. 2024-07-12 17:13:16 +02:00
Grégoire Roussel 9cf61d6597 [build-system] Migrate test/ directory to CMakeLists
- remove MakeFile, replaced with equivalent CMakeLists.txt
- add advanced option TRACY_DEMANGLE in client for CI testing
2024-07-03 14:05:49 +02:00
Martijn Courteaux 5d52427f4a Two minor fixes. 2024-06-07 11:36:47 +02:00
Bartosz Taudul 828e52f5c4 Merge pull request #754 from Chekov2k/python
Added basic Python Support
2024-03-23 11:57:02 +01:00
Arnim Balzer d65d96191a Added basic Python Support
Supported:
 - FrameMarks
 - ScopedZones
 - Memory allocations
 - Plots
 - ThreadNames
 - Messages
 - AppConfig

Not supported:
 - GPU
2024-03-23 06:45:12 +00:00
Bartosz Taudul 375f4526df Set TRACY_VERSION_STRING directly in version.cmake. 2024-03-21 23:04:39 +01:00
Bartosz Taudul 061b990875 Move version.cmake to cmake/ subdirectory.
Co-authored-by: Tom Atkinson <tja.atkinson@gmail.com>
2024-03-21 23:04:37 +01:00
Bartosz Taudul e7b9bffbbd Rename TRACE_CLIENT_LIBUNWIND_BACKTRACE to TRACY_LIBUNWIND_BACKTRACE. 2023-12-21 14:07:44 +01: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
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
Bartosz Taudul af73dba73e Merge pull request #665 from tiago-rodrigues/trodrigues/offline_symbol_resolve
Add support for offline callstack symbol resolving
2023-11-27 16:53:22 +01:00
AMS21 d2325e49e7 Fix typo enfore -> enforce 2023-11-26 11:51:05 +00:00
Tiago Rodrigues e5e84424f6 update cmake option description 2023-11-24 16:24:45 -05: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
trodrigues 2988d0a136 rename libunwind option and add it to cmake 2023-11-10 16:17:39 -06: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
Christian Prather a49af31188 Added cmake versioning and removed hardcoded share dir path 2023-07-17 10:55:46 -06:00
Andréa MACHIZAUD cb30c4eb3e Fix missing TracyClient headers 2023-06-23 14:57:48 +02:00
Francisco Facioni baf0e69a13 fix missing dependendency on install 2023-05-18 09:39:10 +01:00
Robert Adam 92137e8050 CMake: Fix invalid syntax
In 1f7656e845 I introduced a new option
but for setting its default value, I accidentally introduced invalid
cmake syntax that blows off as soon as BUILD_SHARED_LIBS is actually
defined to be non-empty.
2022-09-03 17:13:31 +02:00
Robert Adam 1f7656e845 CMake: Add option to explicitly set lib type
With this new option, it is now possible to explicitly build Tracy as a
shared or static library independent from the BUILD_SHARED_LIBS
variable, which always acts on a global scope (thus, affecting all CMake
targets).

If the options is not explicitly given, it will default to whatever
BUILD_SHARED_LIBS would indicate, leaving the default behavior
unchanged.
2022-08-31 18:06:51 +02:00
Robert Adam 0aeadb4c49 Use TRACY_PUBLIC_DIR throughout 2022-08-31 18:06:22 +02:00
Tiago Chaves 70026097cc Update CMakeLists.txt 2022-08-04 08:51:08 -03:00
Bartosz Taudul 6233cf3fdf Merge pull request #380 from Honeybunch/master
Slight tweak to get client library working with mingw
2022-05-14 12:48:09 +02:00
Mikael Simberg 57c13ed138 Remove duplicate TRACY_NO_FRAME_IMAGE CMake option 2022-05-11 09:39:42 +02:00
Mikael Simberg aa089fb1d3 Remove stray comma from TRACY_NO_CRASH_HANDLER option 2022-05-10 15:49:59 +02:00
Honeybunch 45bd17b7e8 Slight tweak to get client library working with mingw 2022-05-03 18:31:49 -07:00
Michael Puskas a5ea07f107 Fix build options, add TRACY_TIMER_FALLBACK option.
Renamed TRACY_NO_SYS_TRACE -> TRACY_NO_SYSTEM_TRACING to match the
build flag name. Unlike the meson logic, the CMake logic directly
maps the option name to the build flag that is injected. With the
mismatched name, the flag wasn't being properly applied.

Added TRACY_TIMER_FALLBACK option to expose the same-named flag.

Moved signal.h include to get sigaction definition that was missing when
TRACY_NO_CALLSTACK was defined.
2022-05-01 13:52:27 -07:00
Blake Taylor 8c5120ee5a Add flag to disable crash handler 2022-04-27 07:11:53 -07:00
David McCloskey f11e71fd09 Adding tracy_no_sys_trace to enable MinGW builds which have an older version of envtprov.h 2022-04-12 12:07:21 -05:00
Clément Grégoire f4f558bdc9 CMake: New description for TRACY_CALLSTACK 2022-02-23 14:29:20 +01:00
Clément Grégoire d48fdafde7 Fix IPV4 -> IPv4 typo 2022-02-23 14:16:50 +01:00
Clément Grégoire 92a0feb821 CMake: Add the new TRACY_NO_CALLSTACK option 2022-02-23 14:09:04 +01:00
Clément Grégoire 2844fea858 CMake: Add missing options 2022-02-23 10:58:31 +01:00