Bartosz Taudul
09203905d6
Support memory pools in the C API.
2020-11-15 15:23:22 +01:00
Bartosz Taudul
e920b5cf64
Allow disabling call stack sampling.
...
Only on Windows for now.
2020-11-05 23:59:52 +01:00
Bartosz Taudul
4caaa325c2
Allow disabling context switch tracing.
...
Currently only on Windows.
2020-11-05 23:56:19 +01:00
Bartosz Taudul
a34abe646c
Allow disabling vsync capture.
2020-11-05 23:44:28 +01:00
Bartosz Taudul
8b4e03486d
Remove trailing whitespace.
2020-10-29 23:06:28 +01:00
Bartosz Taudul
e2515c6a99
Remove pre-C++11 compat macros from concurrentqueue.
2020-10-29 23:05:24 +01:00
Bartosz Taudul
3d2ff4ffd1
Add support for user-provided dbghelp locks.
2020-10-28 20:04:37 +01:00
Bartosz Taudul
d75503047c
Test whole call stack for non-canonical pointers.
2020-10-06 18:27:14 +02:00
Bartosz Taudul
fc1b03d67d
Remove non-canonical pointer at the end of sampled stack.
2020-10-02 22:14:33 +02:00
Bartosz Taudul
bd31e3d2d6
Send callstacks before sending events they belong to.
2020-09-29 16:40:19 +02:00
Bartosz Taudul
8eb51aa01d
Get LFQ item before capturing callstack.
...
This is to ensure that thread local structures have been properly
initialized (lock-free queue buffers are thread local), as capturing
callstack involves allocating memory from rpmalloc, which must be
initialized in each thread before allocation.
2020-09-29 15:10:55 +02:00
Bartosz Taudul
24f25751ce
Prevent move and copy of ScopedZone.
2020-09-24 01:31:24 +02:00
Bartosz Taudul
4db092437c
Add support for custom allocator tracking to client.
2020-09-24 01:31:23 +02:00
Bartosz Taudul
593ce74042
Notify servers that client is no longer listening for connections.
...
This happens in these two cases:
- The client is exiting.
- A connection attempt is performed.
This message type is indicated by negative time value.
2020-09-20 22:20:33 +02:00
Bartosz Taudul
5c826c2723
Send signed active time in broadcast message.
...
This allows special treatment of negative values.
2020-09-20 22:15:10 +02:00
Bartosz Taudul
1e34b22a82
There's no QPC on non-windows systems.
2020-09-20 19:47:00 +02:00
Bartosz Taudul
24c834bf8c
Don't set sample_max_stack with kernel headers < 4.8.
2020-09-15 17:38:35 +02:00
Niclas Olmenius
607f988d1a
Remove unnecessary defines in concurrentqueue
...
Remove defines related to exceptions in
`tracy_concurrentqueue.h` as they are not used anywhere
2020-09-15 11:41:39 +02:00
Bartosz Taudul
4dae36cb73
Don't use EVENT_FILTER_EVENT_ID, etc with SDK < Win 8.1.
2020-09-06 14:02:18 +02:00
Bartosz Taudul
9e51e3fa85
Remove unused variable.
2020-09-06 14:02:12 +02:00
Bartosz Taudul
f3eabc28e2
Don't handle crashes, if there's no connection.
2020-08-28 17:21:52 +02:00
Bartosz Taudul
960c7fb1b9
Don't alias struct names in client and server.
2020-08-20 17:38:29 +02:00
Bartosz Taudul
411ca81786
Don't operate on reference.
2020-08-18 21:36:09 +02:00
Bartosz Taudul
818d20d273
Don't use image name as a replacement for source file.
...
Image name is now reported separately.
2020-08-18 20:34:11 +02:00
Bartosz Taudul
9ba7381030
Small speedup for ReadNumber().
2020-08-18 20:07:15 +02:00
Bartosz Taudul
4d4b6c7ac9
Use memchr() to find newline in memory block.
2020-08-18 19:51:02 +02:00
Bartosz Taudul
c53a1f1dac
Extend ScopedZone to allow allocated srcloc construction.
2020-08-16 15:52:27 +02:00
Bartosz Taudul
5239b706c3
Allow disabling code transfer.
2020-08-16 01:31:54 +02:00
Bartosz Taudul
518ce1e946
No need to store two same pointers.
2020-08-15 13:40:36 +02:00
Bartosz Taudul
28aae73f74
RingBuffer has const size, so use template.
...
This eliminates division.
2020-08-15 02:43:18 +02:00
Bartosz Taudul
16ad6ee2ac
Tune number of ETW kernel buffers.
2020-08-13 15:26:36 +02:00
Bartosz Taudul
9258e2ced0
Restore TSC usage on Linux.
2020-08-13 01:41:05 +02:00
Bartosz Taudul
c0c9832713
Implement TSC conversion and caps checking in ring buffer.
2020-08-13 01:40:18 +02:00
Bartosz Taudul
98fe63b5eb
Increase sampling frequency to 10 kHz.
...
Works fine on bare metal.
2020-08-12 22:18:59 +02:00
Bartosz Taudul
f7574c5adc
Reduce ring buffer size to workaround sigbus on android.
2020-08-12 18:46:19 +02:00
Bartosz Taudul
649994706b
Use clock monotonic raw on Linux.
...
Because Linux kernel interfaces are fucking stupid.
2020-08-12 16:49:30 +02:00
Bartosz Taudul
d48b3187b1
Call stack sampling using perf events.
2020-08-12 16:49:30 +02:00
Bartosz Taudul
c16200ac02
Add ring buffer for perf events.
2020-08-12 14:06:19 +02:00
Bartosz Taudul
90ed18222a
Use proper allocator.
2020-08-12 01:30:22 +02:00
Bartosz Taudul
b1b7be0a46
Adjust kernel tracing threads priorities.
2020-08-12 01:27:59 +02:00
Bartosz Taudul
1f4bfb68a0
Increase Linux sys trace per-cpu buffer size to 4 MB.
2020-08-12 01:19:10 +02:00
Bartosz Taudul
6db581ff4e
Suppress warning.
2020-08-11 23:25:23 +02:00
Bartosz Taudul
f07eebebf7
ETW threads are time critical.
2020-08-05 15:34:39 +02:00
Bartosz Taudul
2682ae1af0
Add new apple devices.
2020-07-31 02:42:22 +02:00
Bartosz Taudul
a1ce31a226
Add some more ARM cpu ids.
2020-07-31 02:34:25 +02:00
Bartosz Taudul
be2ffb2023
Compile ARM CPU decoding functions only if used.
2020-07-31 01:51:31 +02:00
Bartosz Taudul
b696f1b466
GetHex() is only used on ARM linux.
2020-07-31 01:46:16 +02:00
Bartosz Taudul
2be3f1766f
Use constexpr instead of enum.
2020-07-31 00:58:59 +02:00
Bartosz Taudul
7e6a41e647
No need for lean alloc srcloc zone begin messages.
2020-07-26 14:35:04 +02:00
Bartosz Taudul
062bb3044f
No need for lean callstack sample message.
2020-07-26 14:28:13 +02:00