Impact of ErlangPL on the monitored system
Hello, so ErlangPL looks amazing, but I couldn't find any mentions of its impact on the monitored system. Erlang tools like cprof, eprof and fprof take a hit on the system and aren't recommended to be kept running in production.
I guess ErlangPL uses the :sys module and :proc_lib to retrieve runtime info from the system. Therefore, I'd like to know if ErlangPL is intended to be kept running as to monitor a running production system or if it's only meant for development and debugging.
Thanks!
To answer your question first: you should not run erlangpl on any production node. Ever. Currently our implementation is based on erlang:trace function with all trace flags enabled. That means that we track every message passed, every spawn, exit and link. You could imagine an impact it would have on a busy system (erlangpl would probably die together with it).
However we don't aim to be production monitoring system, because there is so much excellent and battle-tested software which does exactly that.
We want to give BEAM developers a tool to quickly find potential bottlenecks and performance issues, when they are still developing their projects. We also believe in a value EPL has as a learning tool for newcomers.
We should add it to README.