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

329 Commits

Author SHA1 Message Date
Bartosz Taudul 12969ee497 Track thread context.
This change exploits the fact that events are processed in batches
originating from a single thread. A single message changing thread
context is enough to handle multiple messages, as opposed to inclusion
of thread identifier in each message.
2019-08-02 20:18:08 +02:00
Bartosz Taudul a4e7a341c0 Proper handling of disconnect request. 2019-08-01 23:14:09 +02:00
Bartosz Taudul 9c28b82954 RPMallocInit and RPMallocThreadInit are identical. 2019-07-30 01:15:14 +02:00
Bartosz Taudul a6a3f45810 Fill in thread id during dequeue, not during enqueue. 2019-07-30 01:15:14 +02:00
Bartosz Taudul 142ef53b42 Dequeue items from a single thread. 2019-07-29 23:44:08 +02:00
Bartosz Taudul 89928fde7b Queue must be always able to alloc. 2019-07-29 22:13:16 +02:00
Bartosz Taudul 276d764141 Fix cygwin. 2019-07-26 00:02:57 +02:00
Bartosz Taudul e659220602 Use generic std::call_once() on other platforms. 2019-07-25 23:30:47 +02:00
Bartosz Taudul d31d1f5946 Detect and report clang-cl. 2019-07-25 19:03:58 +02:00
Bartosz Taudul 11ba77ced5 Use pthread_once() to initialize rpmalloc on linux. 2019-07-19 20:15:56 +02:00
Bartosz Taudul 4c28593031 Fix races in rpmalloc initialization.
Ensure rpmalloc_thread_initialize() int worker threads is called only after
rpmalloc_initialize() was called on the main profiler thread.
2019-07-19 19:25:27 +02:00
Alex 0c5ea710b0 Merged in z33ky/tracy/const-frame-image (pull request #37)
Constify frame-image pointer in API.
2019-07-13 13:09:21 +00:00
Alexander 'z33ky' Hirsch c6e8dc8d63 Constify frame-image pointer in API. 2019-07-13 12:33:55 +02:00
Bartosz Taudul 60d2384a6a Allow sending application information messages. 2019-07-12 18:34:46 +02:00
Bartosz Taudul a1ce5fc1f6 Add include for built-in __get_cpuid() on gcc/clang. 2019-07-10 02:09:19 +02:00
Bartosz Taudul c164a70b9d Check for rdstcp/invariant tsc support. 2019-07-10 02:04:14 +02:00
Bartosz Taudul 5bfc62f1bf iOS device name decoding. 2019-06-19 09:59:46 +02:00
Bartosz Taudul c6f6c368b2 Decode ARM CPU names. 2019-07-03 21:01:34 +02:00
Bartosz Taudul e26ab8e9f6 Make forwarding functions more compact. 2019-07-03 18:05:38 +02:00
Bartosz Taudul 3d590b6b8c Initialize rpmalloc in compression thread. 2019-06-27 19:14:51 +02:00
Bartosz Taudul 1939c31165 Experimental DXT1 compressor. 2019-06-27 19:14:51 +02:00
Bartosz Taudul 79eb1b9029 Swap queue and dequeue only if queue has contents. 2019-06-27 13:37:09 +02:00
Bartosz Taudul bb35f9a897 Compress frame images in a separate thread. 2019-06-27 13:24:35 +02:00
Bartosz Taudul 7ebd2162c6 Add ETC1 compression thread. 2019-06-26 22:57:24 +02:00
Bartosz Taudul f565e11976 Store frame images in queue. 2019-06-26 22:52:24 +02:00
Bartosz Taudul 281dcf7c1f Cast to proper types. 2019-06-26 19:33:37 +02:00
Bartosz Taudul 8ce41b3543 Proper init order of thread local thread handle. 2019-06-26 19:32:52 +02:00
Bartosz Taudul bc7f2c49c8 GetThreadHandle() might be used by application's code. 2019-06-25 15:44:49 +02:00
Bartosz Taudul c749a2e3fe Add C API for plots and messages. 2019-06-24 21:03:39 +02:00
Bartosz Taudul 48e08acb62 Add C API for frame markup. 2019-06-24 21:03:39 +02:00
Bartosz Taudul ee99ce833c Implement memory allocation tracking for C API. 2019-06-24 21:03:39 +02:00
Bartosz Taudul 281477f7f9 Tokens must be retrieved for each enqueue. 2019-06-24 20:12:14 +02:00
Bartosz Taudul 06a41708a7 Move TLS accesses close together. 2019-06-24 19:38:44 +02:00
Bartosz Taudul c4f0965851 Don't use cached thread id to retrieve main thread id. 2019-06-24 19:38:07 +02:00
Bartosz Taudul fd9fc880a6 Send current time in on-demand welcome message. 2019-06-21 19:39:41 +02:00
Bartosz Taudul 5309e6d94a Broadcast client activity time. 2019-06-18 20:46:12 +02:00
Bartosz Taudul aa5259b20a Use the same port (8086) for both TCP and UDP traffic. 2019-06-18 20:28:03 +02:00
Bartosz Taudul 0e5a7263d9 Define broadcast message, add versioning. 2019-06-18 20:26:40 +02:00
Bartosz Taudul 0b394c3f53 Don't need to keep last broadcast time in Profiler class. 2019-06-18 20:15:09 +02:00
Bartosz Taudul 11dc8e67e5 Change broadcast rate from 5s to 3s. 2019-06-17 19:57:17 +02:00
Bartosz Taudul 6bf8081f5b Remove debug leftovers. 2019-06-17 19:52:44 +02:00
Bartosz Taudul de058d2a0d Don't hardcode broadcast port. 2019-06-17 18:37:34 +02:00
Bartosz Taudul 1b3b3a94a2 Broadcast protocol version and process name. 2019-06-17 18:34:35 +02:00
Bartosz Taudul 0b9ef7e514 Disable broadcast if TRACY_NO_BROADCAST is defined. 2019-06-17 18:18:58 +02:00
Bartosz Taudul e609c0fdce UDP broadcast loop. 2019-06-17 02:25:09 +02:00
Bartosz Taudul ab4e99229d Indicate whether client is running on apple shitware. 2019-06-13 14:05:15 +02:00
Rokas K. (rku) c4e05b6264 Merged in rokups/tracy/dllimport-cleanup (pull request #36)
Clean up imported functions in multi-dll projects.

Approved-by: Till Rathmann <till.rathmann@gmx.de>
2019-06-11 15:04:34 +00:00
Bartosz Taudul 57b8b425ba Discard send buffer data after disconnect. 2019-06-10 02:11:29 +02:00
Bartosz Taudul 80dff1ede1 Add connection id for on-demand mode.
Long-lived zones could send their end events without begin events in a
following scenario:

1. On-demand connection is made.
2. Zone begin is emitted, m_active is set to true.
3. Connection is terminated.
4. A new connection is made.
5. Zone end is emitted, because m_active is true.

To this point it was assumed that all zone end events will happen before
a new connection is made, but it's not necessarily true.
2019-06-09 17:15:47 +02:00
Bartosz Taudul 0db9c73d76 Immediately react to connection termination. 2019-06-09 16:51:39 +02:00