On erlang vm (beamvm), you can safely trace in production. It makes tracing and debugging tools in other ecosystems look like they are primitive in comparison.
I think erlang ecosystem has its own warts like any other one but debugging definitely isn't one
Here are a few examples of what you can do in erlang/elixir:
Inspect function calls that match specific argumrnt patterns, which can get pretty detailed.
Tag processes by id, future processes under a supervisor, or other criteria, and limit tracing to these.
Limit tracing to n occurences. As in automatically disable tracing after it triggered n times.
Typically one combines these and more to identify issues pretty rapidly.
tracing Erlang in prod is literally a fun game, and very easy. Like...one of the best things about the ecosystem. The dbg module (part of the stdlib) is your friend. Trace messages, function calls, with as wide or as specific a net as you need. I've found bugs quickly that would have taken a lot of trial and error on other platforms.
I think erlang ecosystem has its own warts like any other one but debugging definitely isn't one
Here are a few examples of what you can do in erlang/elixir:
Inspect function calls that match specific argumrnt patterns, which can get pretty detailed. Tag processes by id, future processes under a supervisor, or other criteria, and limit tracing to these. Limit tracing to n occurences. As in automatically disable tracing after it triggered n times.
Typically one combines these and more to identify issues pretty rapidly.