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