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

596 Commits

Author SHA1 Message Date
slembcke 87a727dd7f Add fibers to TracyC.h 2021-11-26 16:49:39 -06:00
Bartosz Taudul d41447b0c9 Pass full module path to LoadLibraryEx(). 2021-11-25 23:27:20 +01:00
Bartosz Taudul 8428ede59d Retrieve kernel symbols on Windows. 2021-11-25 23:12:41 +01:00
Bartosz Taudul 4bde9022e1 Properly acknowledge unavailable symbol code. 2021-11-25 22:44:56 +01:00
Bartosz Taudul e8fb2abb2a Dispatch kernel code retrieval. 2021-11-25 22:27:35 +01:00
Bartosz Taudul 01db142144 Rpmalloc is initialized here. 2021-11-25 22:23:28 +01:00
Bartosz Taudul 2bd1e5bca7 Merge pull request #283 from expenses/c-gpu-zones
Implement a bare-bones C API for graphics profiling
2021-11-24 12:50:20 +01:00
Ashley Ruglys 2db109ab98 Add serial functions 2021-11-24 11:56:43 +01:00
Ashley Ruglys 2995db4b5e Remove the 'active' argument 2021-11-24 11:45:37 +01:00
Bartosz Taudul bbbd78883c Allow crash signal selection by user. 2021-11-18 20:20:10 +01:00
Ashley Ruglys bf1896f6ba memset the thread to 0 when writing the GpuZoneEnd as this seems to prevent an assert failure 2021-11-17 18:14:57 +01:00
Ashley Ruglys cc45865239 Small formatting changes 2021-11-17 11:31:02 +01:00
Ashley Ruglys 91b4058dc4 Implement bare-bones functionality for gpu contexts in the C api 2021-11-17 11:27:52 +01:00
Bartosz Taudul 590a4afb89 Full dequeue is needed to handle symbol queries. 2021-11-14 19:24:05 +01:00
Bartosz Taudul 9055a31156 Decrease number of SPSCQueue items to 8K.
This matches the query limit set on the server.
2021-11-14 18:51:11 +01:00
Bartosz Taudul a203eb5aef Adapt to SPSCQueue interface. 2021-11-14 18:50:59 +01:00
Bartosz Taudul 987f70a9d4 Signal initialization failure through exit code. 2021-11-11 12:43:59 +01:00
Bartosz Taudul 887826a28a Remove dead code. 2021-11-03 18:58:53 +01:00
Bartosz Taudul fceb065329 Fiber name transport. 2021-11-03 18:57:30 +01:00
Bartosz Taudul 229d547e91 Add fiber support on client side. 2021-11-02 00:11:09 +01:00
Bartosz Taudul 1ecdb8aa2a Report device name on Android. 2021-10-26 18:09:56 +02:00
Bartosz Taudul bd108220cb Drain symbols queue if on-demand and not connected. 2021-10-23 01:54:38 +02:00
Bartosz Taudul 3d13ec7018 Pump symbols queue during profiler termination. 2021-10-23 01:47:04 +02:00
Bartosz Taudul fe9c63b8d2 Signal symbol resolution thread destruction. 2021-10-23 01:46:00 +02:00
Bartosz Taudul 02ce9b7d8b Extract symbol queue item handling. 2021-10-23 01:35:01 +02:00
Bartosz Taudul 2b9265cc40 Move symbol resolution to a separate thread. 2021-10-22 22:25:09 +02:00
Bartosz Taudul b4cfb1f2d5 Add SPSC symbol queue. 2021-10-22 22:22:27 +02:00
Bartosz Taudul 60b36df077 Cosmetics. 2021-10-21 01:49:20 +02:00
Bartosz Taudul 6c53c36bfe Remove server query quota. 2021-10-21 01:48:52 +02:00
Bartosz Taudul ff54317a87 Move EnsureReadable() and co. to top of source file. 2021-10-21 00:06:14 +02:00
Bartosz Taudul 6d490ffd28 Revert "Use SPSC queue for frame images."
This reverts commit 02e76faff7.

Let's not limit frame image reporting to just one thread.
2021-10-20 23:18:03 +02:00
Bartosz Taudul 02e76faff7 Use SPSC queue for frame images. 2021-10-20 22:57:23 +02:00
Bartosz Taudul a1511a39bd Delta-encode code information pointers. 2021-10-16 16:29:06 +02:00
Bartosz Taudul 5ccf369919 Implement callstack serialization. 2021-10-10 16:14:17 +02:00
Bartosz Taudul a421083e58 Crash reports may be serialized. 2021-10-10 15:58:24 +02:00
Bartosz Taudul 082255f940 Messages may now use serialized queue. 2021-10-10 15:54:21 +02:00
Bartosz Taudul 20074e64f4 Fix processing of serialized zone color, value and validation. 2021-10-10 14:43:36 +02:00
Bartosz Taudul 909f5916b1 Use possibly-synchronous macros for C API zones. 2021-10-09 15:51:29 +02:00
Bartosz Taudul 5835011d0f Allow serialized zone validation. 2021-10-09 15:50:09 +02:00
Bartosz Taudul 7527f33d6c Handle serialized zones. 2021-10-09 15:31:45 +02:00
Bartosz Taudul 2eeade89ba Add macro for handling serial dequeue thread context checks. 2021-10-09 15:30:58 +02:00
Bartosz Taudul 2d5d4293a9 Move thread context check to a separate function. 2021-10-09 15:16:36 +02:00
Bartosz Taudul 250ef2cf6e Change thread id size from 64 to 32 bits.
Both Windows and Linux use 32-bit thread identifiers. MacOS has a 64-bit
counter, but in practice it will never overflow during profiling and no false
aliasing will happen.

These changes are only done client-side and in the network protocol. The
server still uses 64-bit thread identifiers, to enable virtual threads, etc.
2021-10-08 00:42:52 +02:00
Bartosz Taudul 07bc665d8c Drop support for Cygwin. 2021-10-07 23:28:40 +02:00
Simonas Kazlauskas 54ee3d8a94 Expose TRACY_MANUAL_LIFETIME APIs to C API clients
These are extremely useful for ecosystems such as Rust. There are a
couple of reasons why:

1. Rust strongly advises against relying on life before/after main, as
   it is difficult to reason about. Most users working in Rust will
   generally be quite surprised when encountering this concept.
2. Rust and its package manager makes it easy to use packages (crates)
   and somewhat less straightforward to consider the implications of
   including a dependency.

   In case of the `rust_tracy_client` set of packages, I currently have
   to warn throughout the documentation of the package that simply
   adding a dependency on the bindings package is sufficient to
   potentially accidentally broadcast a lot of information about the
   instrumented binary to the broader world. This seems like a major
   footgun given how easy is it to forget about having added this
   dependency.

Ability to manually manage the lifetime of the profiler would be a great
solution to these problems.
2021-09-18 14:54:00 +03:00
Bartosz Taudul 924224501e Remove exception handler during profiler destruction. 2021-07-25 11:48:27 +02:00
Bartosz Taudul 61c9e8e6d8 Crash handler may be not installed. 2021-07-25 11:46:20 +02:00
Bartosz Taudul 54fa21bcbb Restore original signal handlers on profiler exit. 2021-07-25 11:40:22 +02:00
JIA-ss 5936e7c86c Multi Dll Proj will Crash, Under Unity (#244) 2021-07-25 11:28:42 +02:00
Bartosz Taudul fe7db6db4e Send symbol address in code information message. 2021-06-19 19:07:56 +02:00