Commit Graph

7837 Commits

Author SHA1 Message Date
Bartosz Taudul
6ca1c98655
Handle symbol thread crashes.
Should the symbol thread crash, mark that it is gone. This will allow the
profiler to transmit crash call stack, including resolved symbol names and
locations (which will resolve on the main profiler thread).
2022-10-13 00:30:17 +02:00
Bartosz Taudul
9657bdec72
Initialize rpmalloc properly in symbol worker. 2022-10-12 23:51:50 +02:00
Bartosz Taudul
4416dff342
Increase extra data in SymbolQueueItem to 64 bit. 2022-10-12 22:23:06 +02:00
Bartosz Taudul
f64fb95a77
Fix preprocesor condition. 2022-10-12 22:05:19 +02:00
Bartosz Taudul
8ca4bc761d
s_symbolTid is only available if crash handler is there. 2022-10-12 19:56:46 +02:00
Bartosz Taudul
a235dca7ea
Cleanup. 2022-10-12 01:42:22 +02:00
Bartosz Taudul
816101a72f
Update NEWS. 2022-10-12 00:46:00 +02:00
Bartosz Taudul
70dd37bbea
Display local call stack for assembly lines. 2022-10-12 00:45:05 +02:00
Bartosz Taudul
c041b962c0
Construct fake callstack frames for code location data. 2022-10-12 00:27:12 +02:00
Bartosz Taudul
ed455339b3
Remove codeAddressToLocation map. 2022-10-12 00:13:07 +02:00
Bartosz Taudul
0b84b50d9f
Remove locationCodeAddressList map from Worker.
Mapping of source code locations to code addresses is now performed
dynamically during disassembly in SourceView.
2022-10-12 00:13:07 +02:00
Bartosz Taudul
57e039f96c
Restore building code symbol map. 2022-10-11 23:04:06 +02:00
Bartosz Taudul
383ecb6a12
Remove CodeLocation query and CodeInformation response. 2022-10-11 22:56:23 +02:00
Bartosz Taudul
ac6902501a
Get location for address from callstack frame data. 2022-10-11 21:47:28 +02:00
Bartosz Taudul
4d0768ba9d
Replace code location queries with callstack frame ones. 2022-10-11 21:40:45 +02:00
Bartosz Taudul
c9adadf86a
When opening a new trace, set view to whole time span. 2022-10-10 22:55:56 +02:00
Bartosz Taudul
4f3f0e1aae
Update NEWS. 2022-10-10 00:09:58 +02:00
Bartosz Taudul
05f4efa2f4
Display PID in available client tooltip. 2022-10-09 22:01:09 +02:00
Bartosz Taudul
76213331f4
Store PID in broadcasting clients data. 2022-10-09 21:59:18 +02:00
Bartosz Taudul
f2f36876e1
Remove unnecessary check. 2022-10-09 21:59:10 +02:00
Bartosz Taudul
f509ed1561
Include PID in broadcast message. 2022-10-09 21:54:54 +02:00
Bartosz Taudul
ff36c9004f
Update manual. 2022-10-09 21:36:33 +02:00
Bartosz Taudul
c34062cd78
Update NEWS. 2022-10-09 21:21:54 +02:00
Bartosz Taudul
60f0ed8c0e
Include child calls in inline propagation. 2022-10-09 21:12:47 +02:00
Bartosz Taudul
720f339784
Implement inline cost propagation down the stack. 2022-10-09 21:09:25 +02:00
Bartosz Taudul
dbad69cd4f
Add inlines propagation UI. 2022-10-09 21:04:41 +02:00
Bartosz Taudul
a87cbacbc1
Fix offset of source code separator line. 2022-10-09 13:45:20 +02:00
Bartosz Taudul
17d3ac0141
Disable assertions in release builds. 2022-10-08 14:54:54 +02:00
Bartosz Taudul
63743f2760
Don't listen for broadcasts on emscripten. 2022-10-08 14:51:21 +02:00
Bartosz Taudul
fadd103169
Disable update check on emscripten. 2022-10-08 14:44:53 +02:00
Bartosz Taudul
2b6c53a73e
Set initial memory size to 384 MB to prevent growth at start. 2022-10-08 14:43:12 +02:00
Bartosz Taudul
a9afe18c26
Limit running environment support to web. 2022-10-08 14:34:44 +02:00
Bartosz Taudul
6c507a123a
Enable growing of wasm heap. 2022-10-08 14:33:49 +02:00
Bartosz Taudul
f476e6a0f7
Ditto on windows. 2022-10-08 14:09:58 +02:00
Bartosz Taudul
2c289dbb84
Do not freeze symbol thread. 2022-10-08 14:08:31 +02:00
Bartosz Taudul
4399656e83
__GNUC__ version checks are not valid on clang. 2022-10-08 14:04:54 +02:00
Bartosz Taudul
2595f983e6
Include gcc patchlevel in compiler version report. 2022-10-08 14:04:54 +02:00
Bartosz Taudul
6f9dfc8469
Use dladdr, not libbacktrace in fast callstack decode path.
DecodeCallstackPtrFast() may be called outside the symbol processing thread,
for example in the crash handler. Using the less-capable dladdr functionality
doesn't have a big impact here. Callstack decoding in this context is used to
remove the uninteresting top part of the callstack, so that the callstack ends
at the crashing function, and not in the crash handler. Even if this
functionality would be impacted by this change, the damage done is close to
none.

The other alternative is to use locking each time a libbacktrace is to be
used, which does not seem to be worthy to do, considering that the problem
only occurs in a very rare code path.

NB everything was working when it was first implemented, because back then the
callstack decoding was still performed on the main thread, and not on a
separate, dedicated one.
2022-10-08 13:22:56 +02:00
Bartosz Taudul
94ccc37979
Bump available heap to 2GB. 2022-10-06 18:12:51 +02:00
Bartosz Taudul
9f60b53729
Enable file selector on emscripten. 2022-10-06 18:12:51 +02:00
Bartosz Taudul
b369c784a6
Disable closure compiler. 2022-10-06 18:12:50 +02:00
Bartosz Taudul
ec0757c03a
Change file selector to work with callbacks. 2022-10-06 18:12:50 +02:00
Bartosz Taudul
a4e39f3d5f
Enable redraw after screen resize. 2022-10-06 17:32:25 +02:00
Bartosz Taudul
5d7cf137cf
Convert std::string to const char* in printf call. 2022-10-05 23:45:59 +02:00
Bartosz Taudul
754f7a5167
Add makefile target for starting httpd. 2022-10-05 23:44:39 +02:00
Bartosz Taudul
3ca61ad227
Extract file selector functionality. 2022-10-05 22:50:17 +02:00
Bartosz Taudul
5940af8995
Support opening web pages on emscripten. 2022-10-05 01:22:35 +02:00
Bartosz Taudul
7552341ff0
Increase possible inline stack size to 64 elements. 2022-10-04 22:16:20 +02:00
Bartosz Taudul
5874ac11f7
Sample parents show function, not symbol. 2022-10-04 22:03:05 +02:00
Bartosz Taudul
05b639e3b6
Use 32-bit vertex indices on emscripten. 2022-10-02 18:24:26 +02:00