Commit Graph

1112 Commits

Author SHA1 Message Date
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
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
Nathan Day
bdafd0c7b6 Added IsConnected C API Equivalent 2021-12-04 16:55:41 +00: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
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
slembcke
87a727dd7f Add fibers to TracyC.h 2021-11-26 16:49:39 -06:00
Bartosz Taudul
d41447b0c9 Pass full module path to LoadLibraryEx(). 2021-11-25 23:27:20 +01:00
Bartosz Taudul
a27d1902ae Store paths to kernel modules. 2021-11-25 23:27:05 +01:00
Bartosz Taudul
8428ede59d Retrieve kernel symbols on Windows. 2021-11-25 23:12:41 +01:00
Bartosz Taudul
4bde9022e1 Properly acknowledge unavailable symbol code. 2021-11-25 22:44:56 +01:00
Bartosz Taudul
e8fb2abb2a Dispatch kernel code retrieval. 2021-11-25 22:27:35 +01:00
Bartosz Taudul
01db142144 Rpmalloc is initialized here. 2021-11-25 22:23:28 +01:00
Bartosz Taudul
1ed174c1b6 Expose GetModuleName() outside TracyCallstack.cpp. 2021-11-25 21:56:13 +01:00
Bartosz Taudul
2bd1e5bca7 Merge pull request #283 from expenses/c-gpu-zones
Implement a bare-bones C API for graphics profiling
2021-11-24 12:50:20 +01:00
Ashley Ruglys
2db109ab98 Add serial functions 2021-11-24 11:56:43 +01:00
Ashley Ruglys
2995db4b5e Remove the 'active' argument 2021-11-24 11:45:37 +01:00
Bartosz Taudul
cad65ab52f Handle magic dbghelp line numbers.
https://github.com/Microsoft/microsoft-pdb/issues/16
https://docs.microsoft.com/en-us/archive/blogs/jmstall/line-hidden-and-0xfeefee-sequence-points
2021-11-20 17:09:20 +01:00
Bartosz Taudul
bbbd78883c Allow crash signal selection by user. 2021-11-18 20:20:10 +01:00
Ashley Ruglys
bf1896f6ba memset the thread to 0 when writing the GpuZoneEnd as this seems to prevent an assert failure 2021-11-17 18:14:57 +01:00
Ashley Ruglys
cc45865239 Small formatting changes 2021-11-17 11:31:02 +01:00
Ashley Ruglys
91b4058dc4 Implement bare-bones functionality for gpu contexts in the C api 2021-11-17 11:27:52 +01:00
Bartosz Taudul
590a4afb89 Full dequeue is needed to handle symbol queries. 2021-11-14 19:24:05 +01:00
Bartosz Taudul
a5f5dcc00f Remove capacity safeties. 2021-11-14 18:52:57 +01:00
Bartosz Taudul
5306034893 Remove unused methods. 2021-11-14 18:52:27 +01:00
Bartosz Taudul
9055a31156 Decrease number of SPSCQueue items to 8K.
This matches the query limit set on the server.
2021-11-14 18:51:11 +01:00
Bartosz Taudul
a203eb5aef Adapt to SPSCQueue interface. 2021-11-14 18:50:59 +01:00
Bartosz Taudul
93f83fc50c Remove allocator silliness. 2021-11-14 18:42:07 +01:00
Bartosz Taudul
fe04cf0b35 Move SPSCQueue to tracy namespace. 2021-11-14 18:31:58 +01:00
Bartosz Taudul
20e3ec92b9 Replace readerwriterqueue with SPSCQueue. 2021-11-14 18:27:25 +01:00
Bartosz Taudul
97c519811c Capture context switch call stacks on Windows. 2021-11-12 12:22:29 +01:00
Bartosz Taudul
987f70a9d4 Signal initialization failure through exit code. 2021-11-11 12:43:59 +01:00
Bartosz Taudul
765561de81 Serialize continuous frame events. 2021-11-05 01:13:24 +01:00
Nathan Day
4fece233d9 Added unused parameters when TRACY_HAS_CALLSTACK is undefined 2021-11-04 15:24:58 +00:00
Bartosz Taudul
887826a28a Remove dead code. 2021-11-03 18:58:53 +01:00
Bartosz Taudul
fceb065329 Fiber name transport. 2021-11-03 18:57:30 +01:00
Bartosz Taudul
229d547e91 Add fiber support on client side. 2021-11-02 00:11:09 +01:00
Bartosz Taudul
8b15cd049c Skip comparing known to be matching memory. 2021-10-30 01:26:31 +02:00
Bartosz Taudul
1ecdb8aa2a Report device name on Android. 2021-10-26 18:09:56 +02:00
Bartosz Taudul
bd108220cb Drain symbols queue if on-demand and not connected. 2021-10-23 01:54:38 +02:00
Bartosz Taudul
3d13ec7018 Pump symbols queue during profiler termination. 2021-10-23 01:47:04 +02:00
Bartosz Taudul
fe9c63b8d2 Signal symbol resolution thread destruction. 2021-10-23 01:46:00 +02:00
Bartosz Taudul
02ce9b7d8b Extract symbol queue item handling. 2021-10-23 01:35:01 +02:00
Bartosz Taudul
2b9265cc40 Move symbol resolution to a separate thread. 2021-10-22 22:25:09 +02:00
Bartosz Taudul
b4cfb1f2d5 Add SPSC symbol queue. 2021-10-22 22:22:27 +02:00
Bartosz Taudul
f2b0aadedc Return external names, instead of sending them.
Note that the old function is still used by code, so this commit won't
compile.
2021-10-22 22:20:30 +02:00
Bartosz Taudul
af5da6f53c Move inline string copy helpers to a separate header. 2021-10-22 21:53:46 +02:00