3 ms·
I think it might actually be easier to inspect the BEAM over those other VMs. For one, it is much older and stable. And secondly, the BEAM has a lot of self-int
by bmitc 3y ago
I think it might actually be easier to inspect the BEAM over those other VMs. For one, it is much older and stable. And secondly, the BEAM has a lot of self-introspection features.
I highly recommend the talk The Soul of Erlang and Elixir by Sasa Juric which shows off the essence of the BEAM.
https://youtu.be/JvBT4XBdoUE https://youtu.be/JvBT4XBdoUE
- cpursley 3y agoDefinitely way easier than tracing Node for any type of async exceptions.
- mikercampbell 3y agoI transferred from Node.js to elixir for that reason. Uncaught throws, hanging errors - while someone much smarter than I could have done it better, I was doing a lot of async/retry of APIs with high failure rate and the BEAM just made it easy.
- cdaringe 3y agoYou can put node into debug mode after launch (SIGUSR1) and remote debug it as well, with sources, which is really incredible. This BEAM demo is rad, but chrome/v8 debug is actually really good too if you take the time to learn all the remote debug tips n tricks.
- mikercampbell 3y agoWHAT. I will catch up with you after the rabbit-hole. I’ve got massive hopes for things like Bun, but especially Deno’s architecture of message passing, but I’m now humbled by my not knowing that existed in V8.
- mikeurbach 3y agoSince you brought up Sasa Juric, I will second that and also mention their book Elixir in Action. It really helped me get from toy examples to feeling confident running the BEAM in production. This is of course Elixir-centric, but the parts about OTP, inspecting running applications, etc. are really about the BEAM.
- bmitc 3y agoYes, that book is excellent, and I definitely recommend it to anyone new to Elixir. I'd also recommend Joe Armstrong's Erlang book, even if one is eventually wanting to use Elixir.
- pjmlp 3y agoWhat is BEAM's version of Visual VM, JDK Flight Recoder or ETW?
- mattbaker 3y agoGreat question, check out Erlang’s “Observer”, it’s incredibly powerful, one of my favorite parts of the BEAM :)
- pjmlp 3y agoThanks.
- di4na 3y agoTo extend, the answer is the BEAM itself. It ships with these tools built in. From the whole zoo of system probing stuff or the downright amazing dynamic tracing. Have a quick look at https://www.erlang-in-anger.com/ https://www.erlang-in-anger.com/