Bartosz Taudul
34a6fe7055
_bswap may be already defined.
2019-06-07 01:07:51 +02:00
Bartosz Taudul
a654b642ef
Compress frame images to ETC1 before sending.
2019-06-07 00:31:51 +02:00
Bartosz Taudul
aff3246f82
Add ETC1 compressor.
2019-06-07 00:31:51 +02:00
Bartosz Taudul
e5bb6011c5
Frame image transfer prototype.
2019-06-06 21:39:54 +02:00
Bartosz Taudul
b3812146cb
Fix atomics initialization.
2019-05-27 14:09:55 +02:00
Bartosz Taudul
340837e202
Callstack decode for android api <= 21.
...
libbacktrace/elf.cpp:3249:3: error: use of undeclared identifier 'dl_iterate_phdr'
2019-05-22 14:14:30 +02:00
Bartosz Taudul
84efe070fe
Make callstack logic more obvious.
2019-05-22 14:05:44 +02:00
Bartosz Taudul
efc54babe3
Transfer of colored messages.
2019-05-10 20:17:44 +02:00
Bartosz Taudul
9ec8704dad
Don't include LZ4 headers in tracy headers.
...
The LZ4 implementation is wrapped in tracy namespace, but it also adds
some defines, which may conflict with other LZ4 implementations.
2019-05-01 12:57:42 +02:00
Bartosz Taudul
2c9d9d0d27
/proc/stat might be inaccessible.
2019-04-04 15:25:26 +02:00
Bartosz Taudul
302ad87686
Fix typo.
2019-03-21 22:06:37 +01:00
Bartosz Taudul
94ed1c637c
Try to check if cntcvt reads are monotonic.
...
https://lore.kernel.org/patchwork/patch/904607/
2019-03-21 21:59:51 +01:00
Bartosz Taudul
7f57b3dba9
Fallback to reading CLOCK_MONOTONIC_RAW, if available.
2019-03-21 21:49:23 +01:00
Bartosz Taudul
17fb589415
Try dladdr() resolution if libbacktrace fails.
2019-03-05 20:43:47 +01:00
Bartosz Taudul
49f1277e55
Cast void* to char*.
2019-03-05 20:20:55 +01:00
Bartosz Taudul
afe2fad1a7
Send native callstack before allocated one.
2019-03-05 19:18:43 +01:00
Bartosz Taudul
4509412efb
Fast callstack retrieval for linux.
2019-03-05 18:56:39 +01:00
Bartosz Taudul
1bbf296351
Use fast callstack frame decoding to cut callstack.
2019-03-05 02:42:51 +01:00
Bartosz Taudul
cb62b63fe2
Fast callstack frame decoder.
...
Returns only function name, doesn't retrieve inlined functions, doesn't
perform demangling.
2019-03-05 02:42:51 +01:00
Bartosz Taudul
b11f932078
Cut lua callstack at lua_pcall.
2019-03-05 02:42:51 +01:00
Bartosz Taudul
ec73178733
Move callstack cutting to a separate function.
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
e3c31e4a4e
Send callstack alloc payload.
2019-03-03 18:05:03 +01:00
Bartosz Taudul
d863245b49
Serialize discontinuous frame messages.
2019-02-28 19:21:23 +01:00
Bartosz Taudul
b89db6e926
Don't send CPU usage data when there's no readings.
2019-02-25 15:11:35 +01:00
Bartosz Taudul
963d2b3ca8
CPU usage getter for apple.
2019-02-25 15:04:06 +01:00
Bartosz Taudul
85f29a0f22
Collect system time before server connection is made.
2019-02-24 19:12:17 +01:00
Bartosz Taudul
bafc8a1330
Implement getting CPU usage in linux.
2019-02-24 19:02:49 +01:00
Bartosz Taudul
0b9fa8f3c8
Track CPU usage also on cygwin.
2019-02-21 23:11:09 +01:00
Bartosz Taudul
9f4f5bcb63
CPU usage retrieval.
2019-02-21 22:45:53 +01:00
Bartosz Taudul
938d8ce69e
Properly initialize demangled pointer.
2019-02-21 15:04:17 +01:00
Bartosz Taudul
44009b6fda
Use mach_absolute_time() to get time on iOS.
2019-02-21 14:45:13 +01:00
Bartosz Taudul
e839a3153f
Just use getprogname().
2019-02-21 11:40:56 +01:00
Bartosz Taudul
c4d46f1c24
No libproc.h on iOS.
2019-02-21 11:33:45 +01:00
Till Rathmann
9d7c4a2861
Merged in tillrathmann/tracy (pull request #33 )
...
Fixed DLL support
2019-02-20 17:24:12 +00:00
Till Rathmann
29140afe0c
Fixed compiler warnings.
2019-02-20 17:50:49 +01:00
Till Rathmann
77abc3bffd
Fixed DLL support.
2019-02-20 16:15:13 +01:00
Bartosz Taudul
22329ae5d9
Collect call stacks on apple.
2019-02-20 16:01:41 +01:00
Bartosz Taudul
34d24b16bb
Retrieve memory size on apple.
2019-02-20 13:52:55 +01:00
Bartosz Taudul
9c966b6224
Process name retrieval on apple.
2019-02-20 13:13:29 +01:00
Bartosz Taudul
8f75839d66
Fix apple target detection.
2019-02-20 12:43:48 +01:00
Bartosz Taudul
5afadcb11d
Fix if condition.
2019-02-19 21:51:41 +01:00
Bartosz Taudul
ef5e30056e
Implement delayed initialization of the profiler.
...
Enabled on osx, ios.
2019-02-19 20:43:30 +01:00
Bartosz Taudul
3f914834b7
Hide rest of statics.
2019-02-19 19:33:37 +01:00
Bartosz Taudul
9fabafbeca
Fix DLL code.
2019-02-19 18:46:59 +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
44753dd4ac
thread_local implies static.
2019-02-19 16:52:05 +01:00
Bartosz Taudul
c7e64bb8a8
Replace select() with poll().
2019-02-10 15:45:23 +01:00
Bartosz Taudul
9dd869a5eb
Fix call stacks on cygwin.
2019-02-02 13:58:17 +01:00
Bartosz Taudul
653caf159f
Assign return value only once.
2019-01-29 22:21:01 +01:00
Bartosz Taudul
a708bebbfd
Use language neutral header for callstack capability detection.
...
This fixes call stack collection in C API when TRACY_CALLSTACK is
defined.
2019-01-27 13:41:32 +01:00
Bartosz Taudul
01bddf95a6
Trace inline function calls on MSVC call stacks.
2019-01-26 23:50:58 +01:00
Bartosz Taudul
49b0a3500d
Enable tracing incline functions in callstacks.
2019-01-20 19:33:37 +01:00
Bartosz Taudul
ddad475c19
Make it possible to store multiple frames at single frame address.
2019-01-20 19:11:48 +01:00
Bartosz Taudul
bf7cc0a0d5
Add missing header for PRIxMAX.
2019-01-20 17:17:09 +01:00
Bartosz Taudul
9e7714c45a
Decode callstack frames using libbacktrace.
2019-01-20 16:55:59 +01:00
Rokas Kupstys
36c76456f7
Fix mistakes from MingW support commit.
2019-01-19 15:03:43 +02:00
Rokas Kupstys
8157e3a0b3
Fix builds with MingW.
2019-01-19 13:53:10 +02:00
Bartosz Taudul
92f3a4bba0
Add ZoneText and ZoneName to the C API.
2019-01-16 02:10:21 +01:00
Bartosz Taudul
b72d30af80
Allow disabling zone verification.
2019-01-15 18:59:05 +01:00
Bartosz Taudul
8e52ab318b
Send zone validation messages.
...
This is only performed for C API, as C++ scoped zones are always
properly ordered, due to RAII. With manual submission of zone begin and
end events there's no such guarantee.
2019-01-14 22:36:54 +01:00
Bartosz Taudul
970108fbbf
Track zone id for verification purposes.
2019-01-14 22:36:54 +01:00
Bartosz Taudul
1a8518dcc2
Allow filtering zones in on-demand mode.
2019-01-14 22:36:54 +01:00
Bartosz Taudul
1f0d1fdfdc
C API prototype.
2019-01-14 21:07:29 +01:00
Bartosz Taudul
070888f80d
Make it possible to have multiple vulkan contexts.
...
API change!
2019-01-10 17:11:17 +01:00
Bartosz Taudul
b1ba2f9bf7
Fix extern "C" initialization.
2018-12-29 01:00:14 +01:00
Bartosz Taudul
1733961885
Proper printf type for DWORDLONG on cygwin.
2018-12-29 01:00:14 +01:00
Bartosz Taudul
ee718f18d9
Cygwin headers provide their own FORCEINLINE macro.
2018-12-29 01:00:14 +01:00
Bartosz Taudul
0a6c6606bf
Don't use MSVC pragmas on gcc/clang (cygwin).
2018-12-29 01:00:14 +01:00
Miguel Fernandez
baa870fa8c
Moved NoMinMax before windows.h
2018-12-24 18:50:52 +00:00
Miguel Fernandez
7c164375a4
Moved NoMinMax inside _MSC_VER
2018-12-24 18:49:53 +00:00
Miguel Fernandez
51bdb004f9
Avoid conflicts with min/max macros
2018-12-24 15:26:50 +00:00
Bartosz Taudul
e9ce8fdfda
Flush queues when opening listen socket fails.
2018-12-21 18:14:30 +01:00
Bartosz Taudul
a4be9b51b0
Use common queue clearing function.
2018-12-21 18:12:26 +01:00
Bartosz Taudul
331693d7f1
Use proper pattern for acquiring serial lock.
...
This fixes a potential hang during crash handling. Also, lock duration
is reduced.
2018-12-21 18:11:09 +01:00
Rokas Kupstys
a931b9eaf1
HOST_NAME_MAX and LOGIN_NAME_MAX availability is not consistent across linux/android/macos platforms. However all of them do have versions of these macros with _POSIX_ prefix.
...
In addition to that hostname and user variables may be uninitialized in some configurations, however they are always used. Initializing these arrays fixes conditional depending on uninitialized memory warning uncovered by valgrind.
2018-12-18 17:19:03 +02:00
Bartosz Taudul
083320820f
OSX doesn't define HOST_NAME_MAX and LOGIN_NAME_MAX.
...
Fix based on patch from Jack Skalski.
2018-12-17 15:11:59 +01:00
Bartosz Taudul
a7e615d42e
Cosmetics.
2018-12-17 15:09:10 +01:00
Bartosz Taudul
0b816ce0b7
Add lock termination event.
2018-12-16 20:46:33 +01:00
Bartosz Taudul
61ac0b8afc
Send lock creation time.
2018-12-16 20:33:18 +01:00
Bartosz Taudul
f19b559f6e
InitOnceExecuteOnce requires targeting Windows Vista.
...
Cygwin fix.
2018-11-25 19:03:17 +01:00
Sherief Farouk
591f04ad0f
Renamed preprocessor #define for consistency.
2018-10-28 22:41:08 -07:00
Sherief Farouk
5110d55f17
Fix for using Tracy with multithreaded NT loader in Windows 10 RS5 (Issue #26 ) [Take 2].
2018-10-28 18:55:55 -07:00
Sherief Farouk
27447902ef
Fix for using Tracy with multithreaded NT loader in Windows 10 RS5 (Issue #26 ).
2018-10-27 18:13:59 -07:00
Bartosz Taudul
6be66d7a3c
Fix on-demand mode.
2018-09-09 19:44:41 +02:00
Bartosz Taudul
9211ce42da
Non-on-demand client is only able to handle one connection.
2018-09-09 19:42:06 +02:00
Bartosz Taudul
984a711666
Send protocol version to verify handshake.
2018-09-09 19:28:53 +02:00
Bartosz Taudul
db1d7d2c92
Free socket after disconnection.
2018-09-09 18:31:06 +02:00
Bartosz Taudul
270072b09e
Require shibboleth match at start of connection.
2018-09-09 18:26:53 +02:00
Bartosz Taudul
00da3ba6eb
SEGV_{BND,PKU}ERR might not be defined.
2018-08-27 14:45:07 +02:00
Bartosz Taudul
2ebe9b72d1
There's no getlogin_t() on android.
2018-08-27 13:59:19 +02:00
Bartosz Taudul
a1a9f6d610
Fix printf types.
2018-08-22 16:31:09 +02:00
Bartosz Taudul
8a78fcd2f9
Cut off Linux stack trace at sigreturn.
2018-08-21 01:53:00 +02:00
Bartosz Taudul
22346feea3
Fun fact: two threads can crash at the same time.
2018-08-21 01:45:33 +02:00
Bartosz Taudul
47943d6a86
Use proper type.
2018-08-21 01:24:00 +02:00
Bartosz Taudul
facb05f8cb
Don't mark FastVector element as used until it's ready.
...
This should prevent a race condition that would result in invalid last
element of the queue, in case a freezed thread already got the queue
item, but didn't wrote to it (or didn't wrote fully).
2018-08-20 22:35:50 +02:00
Bartosz Taudul
8c0ff67796
Cut windows crash call stack at the exception dispatcher.
2018-08-20 22:21:35 +02:00
Bartosz Taudul
d1adf9e8d6
Allow skipping functions on top of call stack.
...
Note that this is on-client performance intensive and shouldn't be used,
except in special situations, like processing crashes.
2018-08-20 22:20:44 +02:00