Commit Graph

744 Commits

Author SHA1 Message Date
Bartosz Taudul
6c0c508280 Ignore kernel-only stacks.
It is common to receive duplicate stack traces for the same timestamp
(and thread), one containing proper user-space stack, and the second one
containing only kernel frames. Discard the second one, as there's no
documentation how this should be interpreted and the kernel stack is
mostly useless.
2020-03-21 15:25:30 +01:00
Bartosz Taudul
c7afda2562 Exit processing loops when trace has stopped. 2020-03-10 18:56:49 +01:00
Bartosz Taudul
c6bb08355c Allow specification of port through env variable. 2020-03-08 16:14:36 +01:00
Bartosz Taudul
1da62c2190 Send deferred lock names. 2020-03-08 15:05:35 +01:00
Bartosz Taudul
127224acc6 Send listen port in broadcast message. 2020-03-08 14:37:59 +01:00
Bartosz Taudul
14c896573d Separate config for data and broadcast port. 2020-03-08 14:34:09 +01:00
Bartosz Taudul
2ffaa88c9e Fix typo. 2020-03-08 14:19:08 +01:00
Bartosz Taudul
e7240cb77d Custom lock name transfer. 2020-03-08 13:47:38 +01:00
Bartosz Taudul
f945278959 Fix rpmalloc on android. 2020-03-02 17:10:47 +01:00
Bartosz Taudul
c36ed4b8b8 Boring warning fixes. 2020-03-01 01:48:20 +01:00
Bartosz Taudul
c23984dd6a Fix static assert in rpmalloc. 2020-03-01 01:31:31 +01:00
Bartosz Taudul
e9a32d5dc7 Greatly increase queue block size.
Previous block size could hold only 256 elements (8KB), which stressed
out the memory allocator. Storing 65536 elements (2MB) per block almost
completely reduces the allocator pressure.
2020-03-01 01:15:13 +01:00
Bartosz Taudul
82f463724c Update rpmalloc to 1.4.0.
Notable changes: use C++11 atomics everywhere.
2020-03-01 01:02:25 +01:00
Bartosz Taudul
710a2a64e4 Fix copy pasta. 2020-02-27 14:08:56 +01:00
Bartosz Taudul
4346620afa No need to copy module name. 2020-02-27 13:45:39 +01:00
Bartosz Taudul
fd8a9465d4 Cosmetics. 2020-02-27 13:40:41 +01:00
Bartosz Taudul
9ae71ac4ee Dl_info doesn't destroy data. 2020-02-27 13:28:45 +01:00
Bartosz Taudul
5f6b3d2cd5 No need for module name intermediate buffer. 2020-02-27 13:24:36 +01:00
Bartosz Taudul
474383b656 Only copy symbol strings, if needed. 2020-02-27 13:17:26 +01:00
Bartosz Taudul
2df6f9068a Don't retrieve symbol name for address. 2020-02-27 12:58:01 +01:00
Bartosz Taudul
be5793987e Don't send symbol name. 2020-02-27 12:49:48 +01:00
Bartosz Taudul
56dce646cc Symbol address decoding on unix. 2020-02-26 23:38:04 +01:00
Bartosz Taudul
4ddafdeeaf Symbol address decoding for old androids. 2020-02-26 23:24:18 +01:00
Bartosz Taudul
7c506d5426 Remove unused variables. 2020-02-26 23:24:11 +01:00
Bartosz Taudul
26cee8acf0 Perform symbol information queries. 2020-02-26 22:35:15 +01:00
Bartosz Taudul
ef05570540 Symbol address decoding (win32 implementation). 2020-02-26 22:32:42 +01:00
Bartosz Taudul
03ff08a934 Increase max name size. 2020-02-26 22:32:09 +01:00
Bartosz Taudul
d1fcf80c2d Move definition of max symbol name size to one place. 2020-02-26 22:30:11 +01:00
Bartosz Taudul
c0f49c648b Validate size. 2020-02-26 22:27:10 +01:00
Bartosz Taudul
890cec9872 Retrieve symbol addresses on unix. 2020-02-26 02:25:45 +01:00
Bartosz Taudul
9231261d73 Retrieve image name on unix. 2020-02-26 02:11:51 +01:00
Bartosz Taudul
fe80a7ed46 Retrieve symbol address on old androids. 2020-02-26 02:06:44 +01:00
Bartosz Taudul
abf8c42a7c Send module name. 2020-02-26 00:33:09 +01:00
Bartosz Taudul
7d0dac9ae2 Store callstack frame module name. 2020-02-26 00:32:47 +01:00
Bartosz Taudul
4cf520db93 Unify copying symbol strings. 2020-02-26 00:02:30 +01:00
Bartosz Taudul
c5b2d14f8c Send sampling period in welcome message. 2020-02-25 23:12:31 +01:00
Bartosz Taudul
2b7f5091f1 Store sampling period. 2020-02-25 23:08:52 +01:00
Bartosz Taudul
3402d16548 Send symbol base address. 2020-02-25 23:03:40 +01:00
Bartosz Taudul
85ffe0ea04 Don't search module list for kernel addresses. 2020-02-24 23:04:53 +01:00
Bartosz Taudul
ece32b47df Zero capacity is invalid. 2020-02-24 23:04:53 +01:00
Bartosz Taudul
9c9e854005 Replace list with vector.
Maybe next time let's not forget that there's already a custom
allocating vector available.
2020-02-24 23:04:53 +01:00
Bartosz Taudul
24cd73e366 Fix linux tracing with long pids. 2020-02-23 18:23:53 +01:00
Bartosz Taudul
0fa1d25d98 Disable trace annotations. 2020-02-23 18:20:48 +01:00
Bartosz Taudul
02d200878d Process queue data in-place. 2020-02-23 15:18:24 +01:00
Bartosz Taudul
96034bca3e Force inline AppendData(), NeedDataSize(). 2020-02-23 14:44:19 +01:00
Bartosz Taudul
bd34c24b84 Increase block size. 2020-02-23 12:35:30 +01:00
Bartosz Taudul
26b13abac8 Pre-fill module cache. 2020-02-22 21:32:18 +01:00
Bartosz Taudul
0a02cf32be Add module name cache. 2020-02-22 21:32:10 +01:00
Bartosz Taudul
096e8cd8ae Retrieve module name if symbol name cannot be found. 2020-02-22 21:06:32 +01:00
Bartosz Taudul
d0930e9053 Use maximum possible sampling rate. 2020-02-22 19:08:15 +01:00