【发布时间】:2018-02-02 14:13:09
【问题描述】:
我正在为 Elixir 应用构建一些监控,并希望跟踪进程的消息队列的总长度 - 如果它们超过任何合理的值,则意味着系统没有跟上。
如何在现实系统中进行查询? :erlang.system_info/1 似乎没有提供它,您只能从 :erlang.process_info/1 获取每个进程的信息。我不喜欢使用后者并手动聚合消息队列长度的想法,因为可能有数千个相关的 GenServer 进程,并且检测它们感觉像是不必要的开销。
我似乎记得Wombat OAM 有这个功能,这让我觉得这是可能的,但我可能弄错了。
【问题讨论】: