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

545 Commits

Author SHA1 Message Date
Bartosz Taudul 06dcdd342f Combine flags in welcome message. 2021-06-15 01:26:50 +02:00
Bartosz Taudul 1f07a4ce35 One more query to acknowledge. 2021-06-13 01:08:04 +02:00
Bartosz Taudul b35dfe71d1 Send kernel symbol information. 2021-06-12 16:08:50 +02:00
Bartosz Taudul 0168ab6535 Server queries must be always acknowledged. 2021-06-12 14:44:55 +02:00
Bartosz Taudul 5b7cd06840 Don't init rpmalloc, if we know it has been done already. 2021-06-10 01:48:11 +02:00
Bartosz Taudul 859aa3b2b0 Setup system tracing before launching profiler threads.
This makes sure that profiler threads are properly included in sample data on
Linux. This was previously working because sample capture was performed
system-wide. Now samples are only captured in client context, which includes
all spawned threads. Since this inclusion only works for threads which will be
spawned after the trace starts, no thread can be created before sampling setup
is done.
2021-06-04 14:07:46 +02:00
Bartosz Taudul f4d80a4f5f Fix rpmalloc init for TRACY_MANUAL_LIFETIME path. 2021-05-31 22:55:30 +02:00
Bartosz Taudul 3da84d1579 Hide rpmalloc init behind thread local boolean. 2021-05-31 22:38:22 +02:00
Bartosz Taudul b0fc0d5dcc Check if rpmalloc has to be initialized before each operation.
The C++11 spec states in [basic.stc.thread] thread storage duration:

2. A variable with thread storage duration shall be initialized before its
   first odr-use (3.2) and, if constructed, shall be destroyed on thread exit.

Previously Tracy relied on the TLS data being initialized:
- During thread creation (MSVC).
- Or during first use in a thread, but the initialization was performed for
  the whole TLS block.

It seems that new compilers are more granular with how they perform the
initialization, hence rpmalloc init has to be checked before each allocation,
as it cannot be "folded" into, for example, initialization of the profiler
itself.
2021-05-31 02:31:42 +02:00
Bartosz Taudul 92fb197aac Use weak compare, yield thread. 2021-05-31 02:22:13 +02:00
Bartosz Taudul 68948712b4 Don't sleep if queues are empty, but there's queries to handle. 2021-05-22 01:12:42 +02:00
Bartosz Taudul 1e6aedf9e6 Limit client query response rate.
Original idea by xavier <xavierb@gmail.com>
2021-05-22 01:05:06 +02:00
Bartosz Taudul eb7d220eea Added support for TRACY_NO_FRAME_IMAGE define. 2021-04-29 20:55:16 +02:00
JW 915693ac39 Use tracy_malloc rather than 'new' in ProfilerThreadDataKey
This codepath, involving a workaround for GCC < 8.4, called 'new' and
'delete' directly, which could cause infinite recursion when
user-provided versions of those functions were themselves using Tracy
functionality.

Now, this codepath uses Tracy's internal allocator.

See issues #194, #196
2021-04-12 10:06:35 -07:00
Bartosz Taudul 40efbe8529 Use rpmalloc for initialization-related allocations. 2021-04-10 13:02:32 +02:00
Bartosz Taudul 2bb5d126fd rpmalloc_thread_initialize is called in RPMallocInit. 2021-04-10 12:55:00 +02:00
joshuakr fa942d18fe Fix spacing 2021-04-09 15:35:44 -07:00
joshuakr e845c23493 Removed duplicate function 2021-04-09 15:35:07 -07:00
joshuakr 3fad55d7bc Missed one 2021-04-09 15:34:21 -07:00
joshuakr eac23cead2 PR feedback 2021-04-09 15:33:01 -07:00
Eric van Beurden fc142b4f9c fixed a build break on AARCH64. 2021-04-09 13:50:35 -07:00
Eric van Beurden 00ac6d1d8e worked around Windows broken getenv() call. 2021-04-09 13:50:02 -07:00
Joshua Kriegshauser 76a02205f3 Fix centos shutdown crash 2021-04-09 11:58:34 -07:00
Bartosz Taudul 99c6b91c0c Fix sending GPU context name in on-demand mode. 2021-02-27 19:59:32 +01:00
Bartosz Taudul 5ea71ea20d Apparently program_invocation_short_name may be not defined. 2021-02-11 18:12:59 +01:00
Bartosz Taudul 26a8ec3909 Reuse existing variable. 2021-02-10 18:56:07 +01:00
Bartosz Taudul 5e48eebf26 Fix type in comparison. 2021-02-07 21:08:24 +01:00
Bartosz Taudul 9cfc36f92e Preserve valid order of server query acknowledgements. 2021-02-07 20:53:20 +01:00
Bartosz Taudul 99e68715c7 Include SIGABRT in crash handling. 2021-02-07 19:04:48 +01:00
Bartosz Taudul ad2062fb40 Last-resort source code transfer from client to server. 2021-02-04 00:45:00 +01:00
Bartosz Taudul 3376620919 Move server query acknowledgement to a separate function. 2021-02-04 00:03:58 +01:00
Bartosz Taudul f97223e394 Rename ParamPingback to more generic AckServerQueryNoop. 2021-02-04 00:03:58 +01:00
Bartosz Taudul 253c3ae4c8 Android applications spawn through a common executable.
/proc/self/exe -> /system/bin/app_process64
2021-02-01 15:26:34 +01:00
Bartosz Taudul f89fd4ab04 Executable path discovery on BSDs. 2021-01-31 20:27:32 +01:00
Bartosz Taudul a795c21962 Get process executable path on macos. 2021-01-31 19:34:39 +01:00
Bartosz Taudul 7f5810dfd6 Add GPU context name transfer to the protocol. 2021-01-31 18:46:42 +01:00
Bartosz Taudul c92974d920 Send executable mtime in welcome message. 2021-01-31 17:45:31 +01:00
Bartosz Taudul 0ce113a96c Check mtime of profiled executable. 2021-01-31 17:45:31 +01:00
Bartosz Taudul 2890f24c97 Implement getting process executable path. 2021-01-31 17:37:54 +01:00
Bartosz Taudul a3bfbab6bd Fix timer setup for fallback timer. 2021-01-29 11:20:23 +01:00
Bartosz Taudul 33ca38b581 Add a define for fallback timer usage. 2021-01-28 18:49:17 +01:00
Bartosz Taudul d4c0d4fbb7 Rename CallstackMemory to CallstackSerial. 2021-01-15 20:49:39 +01:00
Bartosz Taudul 5a8d30ddc3 Add transient OpenGL zones. 2021-01-15 20:13:09 +01:00
Bartosz Taudul 2049332211 Broadcast to localhost if listening only on localhost. 2020-12-16 15:27:00 +01:00
AWoloszyn 064d264445 Fix switch for memory free.
Because of the layout difference between messageFat and
messageColorFat, this was referencing the text member
3-bytes offset from where it should have been.
2020-12-07 22:07:12 -05:00
Ben Vanik 7dfdad2e02 Adding ZoneColor to set a dynamic color override to an existing zone. 2020-11-27 20:12:24 +01:00
Benoit Jacob fc8ef12a78 fix condition in LookUpMapping, and some cosmetic fixes 2020-11-23 11:56:08 -05:00
Benoit Jacob d787636804 remove some useless inline keywords 2020-11-22 09:49:46 -05:00
bjacob d05641d70c Ensure that mappings have read permission before decoding symbols and reading code. (#129) 2020-11-21 21:05:39 +01:00
Bartosz Taudul 09203905d6 Support memory pools in the C API. 2020-11-15 15:23:22 +01:00