Commit Graph

53 Commits

Author SHA1 Message Date
Bartosz Taudul
5ccf369919
Implement callstack serialization. 2021-10-10 16:14:17 +02:00
Bartosz Taudul
9d89b84efd
Support serialized queue for Lua messages. 2021-10-10 15:55:22 +02:00
Bartosz Taudul
7c046eb7ac
Use possibly-synchronous macros for Lua zones. 2021-10-09 15:41:27 +02:00
Bartosz Taudul
fcda1f6a7f
Keep Lua zone insertion time to a minimum.
No functional changes here. Only the variable retrieval was separated from
filling in the queue items. While with the async queue this makes no
difference, it will be important when the serial queue is used here.
2021-10-09 15:35:11 +02:00
Bartosz Taudul
bd31e3d2d6 Send callstacks before sending events they belong to. 2020-09-29 16:40:19 +02:00
Bartosz Taudul
4252cac654 No need for lean callstack alloc message. 2020-07-26 14:25:32 +02:00
Bartosz Taudul
02e7893c75 Preserve messages size. 2020-07-21 20:58:58 +02:00
Bartosz Taudul
9d01fa86ab Preserve zone text, zone name string length. 2020-07-21 20:58:58 +02:00
Bartosz Taudul
986a2a79da Use proper size for spaceNeeded. 2020-07-21 20:58:58 +02:00
Bartosz Taudul
384e2e3fa1 Reduce memory requirements of allocated call stacks. 2020-07-05 17:33:29 +02:00
Bartosz Taudul
fad7e72fd4 Harden against uninitialized rpmalloc.
Initialize rpmalloc either by explicitly calling InitRPMallocThread(),
or by forcing initialization of thread local variables block.
2020-05-19 13:51:11 +02:00
Bartosz Taudul
55d03cb03e Hide async queue setup/commit behind macros. 2020-01-19 15:06:11 +01:00
Bartosz Taudul
68ff33d0ba Extract source location allocation functionality. 2019-12-06 00:15:46 +01:00
Bartosz Taudul
a15e83e590 Use default zone coloring for Lua zones. 2019-11-15 20:07:01 +01:00
Bartosz Taudul
8aa0be39d5 Drop support for CPU id queries. 2019-08-12 23:05:34 +02:00
Bartosz Taudul
a6a3f45810 Fill in thread id during dequeue, not during enqueue. 2019-07-30 01:15:14 +02:00
Bartosz Taudul
89928fde7b Queue must be always able to alloc. 2019-07-29 22:13:16 +02:00
Bartosz Taudul
06a41708a7 Move TLS accesses close together. 2019-06-24 19:38:44 +02:00
Rokas Kupstys
9bd1037347 Clean up imported functions in multi-dll projects. 2019-06-07 19:50:08 +03:00
Bartosz Taudul
364c20a771 Correct parameter number. 2019-03-05 19:48:02 +01:00
Bartosz Taudul
e798f0f28d Don't send lua callstacks if platform doesn't support callstacks. 2019-03-05 19:47:31 +01:00
Bartosz Taudul
b37a9055d5 Force inline SendLuaCallstack(). 2019-03-05 02:42:51 +01:00
Bartosz Taudul
d229c1bc1b Send native callstack along with allocated callstack. 2019-03-05 02:42:50 +01:00
Bartosz Taudul
bef31ba073 Separate message for zone begin with alloc src loc and callstack. 2019-03-03 18:05:03 +01:00
Bartosz Taudul
b8501956f9 Lua callstack sending. 2019-03-03 18:04:02 +01:00
Bartosz Taudul
3f914834b7 Hide rest of statics. 2019-02-19 19:33:37 +01:00
Bartosz Taudul
2421e05c27 Prevent direct access to s_profiler. 2019-02-19 18:38:08 +01:00
Bartosz Taudul
d865d1cc87 Disallow direct access to s_token. 2019-02-19 18:27:00 +01:00
Bartosz Taudul
6e3909825f Explicitly cast size_t to uint32_t. 2018-08-22 16:30:37 +02:00
Bartosz Taudul
c3ba0ef4eb Fix lua zone state init. 2018-07-13 20:21:50 +02:00
Arvid Gerstmann
6b87aecdce Wrap concurrentqueue in tracy namespace 2018-07-13 20:01:27 +02:00
Bartosz Taudul
b11695111d Implement on-demand Lua zone capture. 2018-07-12 12:53:35 +02:00
Bartosz Taudul
e5b133073c Disable all tracing if TRACY_ON_DEMAND is defined. 2018-07-10 20:49:51 +02:00
Bartosz Taudul
b29d60056a Custom per-zone name transfer. 2018-06-29 16:01:31 +02:00
Bartosz Taudul
ac89c6de33 Fix one more copy paste error. 2018-06-29 15:31:47 +02:00
Bartosz Taudul
5b6d9769af Properly separate HW timer from MSVC rdtscp optimization. 2018-04-27 19:40:47 +02:00
Bartosz Taudul
48665cc09b s/TRACY_RDTSCP_SUPPORTED/TRACY_HW_TIMER/ 2018-04-26 15:25:54 +02:00
Bartosz Taudul
3b03e849f0 Harden client code against unaligned memory access.
There shouldn't be any changes in generated code on modern
architectures, as the memcpy will be reduced to a store/load operation
identical to the one generated with plain struct member access.

GetTime( cpu ) needs special handling, as the MSVC intrinsic for rdtscp
can't store cpu identifier in a register. Using intermediate variable
would cause store to stack, read from stack, store to the destination
address. Since rdtscp is only available on x86, which handles unaligned
stores without any problems, we can have one place with direct struct
member access.
2018-03-31 14:15:04 +02:00
Bartosz Taudul
71ad3c3b0c Use named colors. 2017-11-25 15:33:10 +01:00
Bartosz Taudul
2f9a3f7046 Colors are always in RGB order. 2017-11-25 15:33:10 +01:00
Bartosz Taudul
1a99a57525 Fix typo. 2017-11-15 14:14:48 +01:00
Bartosz Taudul
334224dd36 Support transfer of zone name in source location payload. 2017-11-15 10:56:28 +01:00
Bartosz Taudul
9eace41f0d Fix typo. 2017-11-15 10:56:27 +01:00
Bartosz Taudul
c43eb29ce0 Don't send source location pointer in query reply.
Since reply order is the same as the query order, the server already
knows what source location it receives. This observation allows placing
zone name into the source location struct.
2017-11-14 23:06:45 +01:00
Bartosz Taudul
81735aea2f Support for setting zone names in lua. 2017-11-11 17:56:41 +01:00
Bartosz Taudul
1e4381ff42 Add a note about header requirements. 2017-11-09 19:04:04 +01:00
Bartosz Taudul
68f66a923e Lua zone text. 2017-11-07 00:35:15 +01:00
Bartosz Taudul
27dd46a97d Lua message sending. 2017-11-07 00:28:23 +01:00
Bartosz Taudul
9046a72f82 Fix enabled/disabled includes. 2017-11-06 15:16:12 +01:00
Bartosz Taudul
8d4b10be4d Fix typo. 2017-11-06 15:16:06 +01:00