Commit Graph

8490 Commits

Author SHA1 Message Date
Bartosz Taudul
5741bcfd32
Make ring buffer size adjustable.
If call stack capture is enabled for context switch data, the 64KB buffer is
too small to work without overruns. However, if the default buffer size is
increased, then the maximum locked memory limit is hit.

This change keeps the small buffer size for all the buffers that may be used
without escalated privileges. The context switch buffer is bigger, but it does
not need to obey the limits, as the application is running as root, if it is
to be used.
2021-12-21 15:48:40 +01:00
Bartosz Taudul
db64a5fa7e
Explicitly save context switch callstack samples. 2021-12-21 15:24:11 +01:00
Bartosz Taudul
67c2ffcb17
Look for context switch stacks on both ends of a switch. 2021-12-21 14:36:47 +01:00
Bartosz Taudul
c5654c333a
Process explicit context switch callstack samples. 2021-12-21 14:18:32 +01:00
Bartosz Taudul
3f1c540b3a
Further split ProcessCallstackSampleImpl(). 2021-12-21 14:18:14 +01:00
Bartosz Taudul
d88bf2c7a8
Separate message type for context switch callstack samples. 2021-12-21 14:05:07 +01:00
Bartosz Taudul
0ba2c0a86e
Collect context switch callstack on Linux. 2021-12-21 13:59:16 +01:00
Bartosz Taudul
0c041795b6
Move Linux calltrace processing to a separate function. 2021-12-21 13:58:43 +01:00
Bartosz Taudul
4a89a30556
Implement checking if any TID is within current process. 2021-12-21 13:52:52 +01:00
Bartosz Taudul
b8d7824a4f
Increase ring buffer size. 2021-12-21 13:27:08 +01:00
Bartosz Taudul
5768486ac0
Add support for compiling assembly files. 2021-12-21 12:22:43 +01:00
Bartosz Taudul
8c45ed33fd
Bump zstd to 1.5.1. 2021-12-21 12:22:42 +01:00
Bartosz Taudul
6fa3491bb7
Merge pull request #304 from Krzmbrzl/patch-4
Mention dependency on libtbb
2021-12-20 13:23:13 +01:00
Bartosz Taudul
b2e29a503b
Cosmetics. 2021-12-20 13:22:53 +01:00
Robert Adam
a46be65b05
Mention dependency on libtbb
Fixes #239
2021-12-20 12:00:27 +01:00
Bartosz Taudul
e0e1919fbf
Merge pull request #302 from Krzmbrzl/patch-3
CMakeLists: Fix typo
2021-12-19 03:10:27 +01:00
Robert Adam
96141cdef0
CMakeLists: Fix typo
Fixes #298
2021-12-18 20:14:06 +01:00
Bartosz Taudul
f207f2abd4
Merge pull request #300 from Krzmbrzl/patch-2
CMake: Mark include directories as SYSTEM
2021-12-17 17:58:52 +01:00
Robert Adam
43303323a0
CMake: Mark include directories as SYSTEM
This usually prevents the compiler from emitting warnings about stuff it found in
the included files.
Since the CMakeLists.txt seems to be exclusively meant for code that is making use
of Tracy rather than Tracy itself using it to build, silencing the warnings should probably
be what most folks would want.

This will prevent things like #126
2021-12-17 17:23:16 +01:00
Lectem
5d0466b729 Rename GetModuleName and call it before sym* use 2021-12-12 14:32:24 +01:00
Bartosz Taudul
a13b046698
User manual polish pass. 2021-12-11 21:00:31 +01:00
Bartosz Taudul
9b624049a5
Immediately disconnect connection on disconnect request.
The disconnect handling logic is broken on the client, after the symbol
resolution was moved to a separate thread. Use workaround until a proper fix
is available.
2021-12-11 13:15:50 +01:00
Lectem
17855cbac5 Call SymLoadModuleEx for modules loaded after init
This fixes issue #293. Symbols are not loaded if the module is loaded dynamically after the SymInitialize call.
This may stall the symbol resolver thread a bit the first time a module is loaded.
2021-12-08 21:30:06 +01:00
Bartosz Taudul
14392a6e0e
Merge pull request #290 from Honeybunch/master
Exporting cmake targets for install
2021-12-07 18:44:05 +01:00
Honeybunch
ef795ba49d Exporting cmake targets for install 2021-12-06 08:58:25 -08:00
Bartosz Taudul
14cdf3d43e
Use perf_event_open for context switch tracking. 2021-12-05 12:02:28 +01:00
Bartosz Taudul
0a3da9efdb
Optional CPU idx storage in RingBuffer. 2021-12-05 03:03:14 +01:00
Bartosz Taudul
d7dc2d6127
Extend process state descriptions, add P (parked). 2021-12-05 01:32:33 +01:00
Bartosz Taudul
6a0d233613
Proper mmap failure detection. 2021-12-05 01:32:33 +01:00
Bartosz Taudul
22284d57e7
Don't identify samples if there will be no context switches. 2021-12-05 01:32:30 +01:00
Bartosz Taudul
0c809b14d5
Merge pull request #289 from napoleon89/c-is-connected
Added IsConnected C API Equivalent
2021-12-04 18:47:21 +01:00
Bartosz Taudul
14825d8e5a
Proper formatting. 2021-12-04 18:27:26 +01:00
Nathan Day
3bf1e7ec1c Updated documentation 2021-12-04 17:26:17 +00:00
Nathan Day
bdafd0c7b6 Added IsConnected C API Equivalent 2021-12-04 16:55:41 +00:00
Bartosz Taudul
bbbae35925
Only identify samples when IdentifySamples is set. 2021-12-04 15:16:17 +01:00
Bartosz Taudul
20f8c8b8a4
Add IdentifySamples flag to the protocol.
On Windows there is no way to distinguish callstack data coming from random
sampling and from context switches. Each callstack timestamp has to be matched
against the context switch data in order to decide its origin. This is
obviously non-trivial.

On some other platforms, the origin information may be available right away,
in which case the process of matching against the context switch data, which
possibly includes postponing callstacks for processing in the future, may be
completely omitted.
2021-12-04 14:50:25 +01:00
Bartosz Taudul
2008c88983
Silence compiler warnings. 2021-12-04 13:41:55 +01:00
Bartosz Taudul
152d47f4d3
Update manual. 2021-12-02 02:34:21 +01:00
Bartosz Taudul
c98680ad0b
Add support for sample data without time. 2021-12-02 02:06:05 +01:00
Bartosz Taudul
74e2a63516
Don't require time to be available for samples. 2021-12-02 01:29:22 +01:00
Bartosz Taudul
051b1ba8f5
Display sampling disabled message on debug log channel. 2021-12-02 00:49:01 +01:00
Bartosz Taudul
6579399bfd
Update xxHash to 0.8.1. 2021-12-01 21:52:31 +01:00
Bartosz Taudul
1a0cf3ff46
Update robin_hood to 3.11.3. 2021-12-01 21:44:56 +01:00
Bartosz Taudul
ce7faf99c9
Show tooltip on disabled item. 2021-12-01 17:41:00 +01:00
Bartosz Taudul
b4987f5fc4
Update manual. 2021-11-29 19:40:52 +01:00
Bartosz Taudul
899b466ba4
There is more than one wait stack. 2021-11-29 19:34:43 +01:00
Bartosz Taudul
688dd470bc
Update NEWS. 2021-11-29 19:30:14 +01:00
Bartosz Taudul
5c379603b5
Move onlyActive check out of the loops. 2021-11-29 19:23:31 +01:00
Bartosz Taudul
04f045b22b
Replace "restrict time" with time range limits in memory. 2021-11-29 19:20:56 +01:00
Bartosz Taudul
de11604910
Add memory time range limit UI. 2021-11-29 18:17:19 +01:00