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

6493 Commits

Author SHA1 Message Date
Bartosz Taudul 9ba7171c3d Release 0.8.0. v0.8 2022-03-28 21:20:44 +02:00
Bartosz Taudul 6b340b3700 Merge pull request #347 from bjacob/set-numcpus
set s_numCpus before reading it
2022-03-24 19:59:05 +01:00
Benoit Jacob 5eb3e3a1f0 set s_numCpus before reading it 2022-03-24 18:31:38 +00:00
Bartosz Taudul fd604444eb Merge pull request #346 from mcourteaux/master
Warn the user about capstone deprecated branch in the manual.
2022-03-23 18:09:38 +01:00
Bartosz Taudul 2e4c63c6dd Fix typos. 2022-03-23 18:09:16 +01:00
Martijn Courteaux 9c9c11ae9e Warn the user about capstone deprecated branch in the manual. 2022-03-23 18:05:22 +01:00
Bartosz Taudul f1fea0331a Merge pull request #344 from thedmd/callstack_table-clipboard_full_location
In callstack table view, copy full location with line to clipboard
2022-03-19 15:37:59 +01:00
thedmd dc79ae6fea In callstack table view, copy location with line to clipboard instead just location. 2022-03-19 09:48:48 +01:00
Bartosz Taudul 2a3a57d245 Backport SPSCQueue commit 3086fa9. 2022-03-18 02:09:00 +01:00
Bartosz Taudul c2fcc699be Apply SPSCQueue commit 62cdc1f3. 2022-03-18 02:05:55 +01:00
Bartosz Taudul fdee87b0ae Update robin_hood to 3.11.5. 2022-03-18 02:01:46 +01:00
Bartosz Taudul ea59552c4e Bump zstd to 1.5.2. 2022-03-18 01:52:11 +01:00
Bartosz Taudul 7d14aac137 Set focus on input field when find zone window appears. 2022-03-18 01:47:58 +01:00
Bartosz Taudul 3bb2094751 Sync libbacktrace with 2446c6. 2022-03-18 01:46:12 +01:00
Bartosz Taudul dc874a732e Merge pull request #339 from voysys/fix-server-assertion-crash
Ignore uninitialized GPU contexts when rendering GPU events
2022-03-17 18:54:34 +01:00
Bartosz Taudul 4d33dc0f3e Update manual. 2022-03-15 17:51:28 +01:00
Bartosz Taudul 16f44d021d Update NEWS. 2022-03-15 17:36:56 +01:00
Bartosz Taudul 8483ef4310 Indicate currently selected annotation. 2022-03-15 17:36:01 +01:00
Bartosz Taudul 4be2aa0682 Allow adding full-view annotations. 2022-03-15 17:26:12 +01:00
Bartosz Taudul ba4b261ae4 Make the annotations list always accessible. 2022-03-15 17:25:52 +01:00
Bartosz Taudul f17a579753 Move adding annotations to a separate function. 2022-03-15 17:25:28 +01:00
Bartosz Taudul 42688c9bf3 Add id to annotation description input box. 2022-03-15 17:24:53 +01:00
Bartosz Taudul 0b1e5d2c96 Define ___tracy_demangle on Android. 2022-03-11 15:40:56 +01:00
Bartosz Taudul 469774b1a9 Merge pull request #341 from teajay-fr/bugfix/access_violation_on_error
Avoid accessing address 0 when reporting a failure.
2022-03-10 14:52:40 +01:00
Thomas Bernard 79e146c957 Avoid accessing address 0 when reporting a failure. 2022-03-10 14:28:31 +01:00
Bartosz Taudul 7d3c7049dc Fix compilation on MSVC 2015. 2022-03-10 12:27:44 +01:00
Niclas Olmenius 2c79194e7d Ignore uninitialized GPU contexts when rendering GPU events
This fixes an assertion crash when viewing GPU zones when no zones have been
recorded on a GPU context if the client is compiled with TRACY_ON_DEMAND
2022-03-09 19:20:56 +01:00
Bartosz Taudul 90d8762c33 Merge pull request #337 from simonvanbernem/master
Make install_vcpkg_dendencies.bat work from any working directory
2022-03-07 19:08:55 +01:00
Simon van Bernem 8c155f8adc Made install_vcpkg_dendencies.bat work from any working directory
pushd %~dp0 will push the directory that contains the file as the working directory and we also pop it at the end to be a good citizen and restore the previous working directory
2022-03-07 18:44:51 +01:00
Bartosz Taudul 843713a96e Update manual. 2022-03-03 19:05:16 +01:00
Bartosz Taudul efe22461cc Implement going to parent zone in find zone window. 2022-03-03 15:39:07 +01:00
Bartosz Taudul ee4f4f491f Merge pull request #334 from daverigby/master
Fix macOS build breaks when _GNU_SOURCE defined
2022-02-28 17:44:59 +01:00
Dave Rigby 2073ffb684 program_invocation_short_name is Linux-specific
'program_invocation_short_name' is Linux-specific; other OSs such as
macOS do not support it.

Fixes build break on macOS 12.2 with _GNU_SOURCE defined.
2022-02-28 16:09:06 +00:00
Dave Rigby 31e4bef135 pthread_setname_np takes 1 arg on macOS
pthread_setname_np() can only set the name of the current thread on
macOS, so only pass a single name argument.

Fixes build break on macOS 12.2 with _GNU_SOURCE defined.
2022-02-28 16:07:12 +00:00
Bartosz Taudul 6c33a23390 Merge pull request #333 from sideeffects/opencl_transient
Add transient OpenCL Zones.
2022-02-27 23:19:11 +01:00
johner 194471487d Update TracyOpenCL.hpp
Add transient OpenCL Zones.
2022-02-27 15:53:24 -06:00
Bartosz Taudul a0ae37a350 Merge pull request #332 from Lectem/cmake_options
CMake: Add missing options
2022-02-23 22:39:19 +01: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
Bartosz Taudul a43da3dc13 Update manual. 2022-02-22 21:26:55 +01:00
Bartosz Taudul 6e1d4a7ec1 Update NEWS. 2022-02-22 21:26:55 +01:00
Bartosz Taudul e2b0268d7a Allow disabling callstack handling. 2022-02-22 21:26:55 +01:00
Bartosz Taudul d318f75123 Merge pull request #325 from BrychDaneel/automatic_timer_fallback
Automatic timer fallback
2022-02-21 13:47:50 +01:00
Daniil Brychikov a9ba1ce688 Codestyle fixes 2022-02-19 11:44:15 +03:00
Daniil Brychikov 73f6c66cde Automatic timer fallback 2022-02-16 15:18:45 +03:00
Bartosz Taudul 46d2977694 prev_state is long. 2022-02-14 22:34:20 +01:00
Bartosz Taudul 9f2ffb05ac Check if memory can be allocated in a thread.
Consider running the following code with operator new and delete overloaded to
track allocations with call stacks:

std::thread( []({ thread_local std::string str; });

Each call stack requires a memory allocation to be performed by the profiler,
to make the stack available at a later time. When the thread is created, the
TLS block is initialized and the std::string buffer can be allocated. To track
this allocation, rpmalloc has to be initialized. This initialization also
happens within the TLS block.

Now, when the thread exits, the heap managed by rpmalloc may be released first
during the TLS block destruction (and if the destruction is performed in
reverse creation order, then it *will* be destroyed first, as rpmalloc was
initialized only after the std::string initialization, to track the allocation
performed within). The next thing to happen is destruction of std::string and
release of the memory block it contains.

The release is tracked by the profiler, and as mentioned earlier, to save the
call stack for later use, a memory allocation is needed. But the allocator is
no longer available in this thread, because rpmalloc was released just before!

As a solution to this issue, profiler will detect whether the allocator is
still available and will ignore the call stack, if it's not. The other
solution is to disable the rpmalloc thread cleanup, which may potentially
cause leak-like behavior, in case a large number of threads is spawned and
destroyed.

Note that this is not a water-tight solution. Other functions will still want
to allocate memory for call stacks, but it is rather unlikely that such calls
would be performed during TLS block destruction. It is also possible that the
event queue will run out of allocated space for events at this very moment,
and in such a case the allocator will also fail.
2022-02-14 17:55:46 +01:00
Bartosz Taudul 793e6b0e29 Add rpmalloc thread state accessor. 2022-02-14 17:53:27 +01:00