extrospect-beam
extrospect-beam copied to clipboard
Tools for live extrospection of the Erlang BEAM VM — WARNING: early alpha
These terms come from perf_events but they aren't clear at the moment. Document their units, the defaults when no switch specified, and the tradeoffs of increasing/decreasing them.
Eventually this process should be automated, and I have a few ideas for that, but in the mean time, I should describe the process by which I confirm which registers...
Right now it's not at all obvious and full of gotchas.
Coming soon; I have a WIP for this but I need to improve the interface for it to be less of a hack.
If we monitor `the_active_code_index`, we can at least regenerate the perf map when it changes, which isn't foolproof but should be useful. I guess `erlang-write-perf-map` should actually become an agent...
From a clean build (meson got confused midway through the build) I go the following: ``` CC tests/llvm-src-kbuild.o CC util/pmu-flex.o CC tests/llvm-src-prologue.o CC tests/llvm-src-relocation.o LD tests/perf-in.o LD perf-in.o LD util/libperf-in.o...