Erlang Recon粗浅笔记
Recon是什么
他的作者Ferd说:他希望Recon是一个用于在生产环境诊断Erlang系统问题或者是能安全的检查生产环境的工具库。
所以recon的一系列脚本最主要用于在发生crashdump的时候帮助用户分析到原因(最关键是帮你查到那个进程堵消息了)。因为它设计的时候充分考虑到了对系统的最小影响,所以在线上使用是很安全的。
各个模块的作用
recon
最主要的模块,提供了一些函数帮助查看进程的信息、虚拟机的总体状态和OTP在节点中的行为。
recon_alloc
重新组合的一些函数来处理Erlang的内存分配器。用更简洁的方法来展示内存分配想信息帮助发现问题。
recon_lib
主要由recon调用的,重新组合的一些用于处理Erlang节点数据的函数。
recon_trace
提供了一个生产环境下安全的方式去追踪函数调用。
recon_rec
recon_trace的拓展,可以根据已知的记录定义以更易读的格式打印记录。
一些常用的接口
recon:proc_count(message_quque_len, 10)
列出本节点消息队列最多的前10个进程信息recon:node_stats_print(10, 5000)
每隔5000毫秒打印节点信息,总共打印打印10次。recon_alloc:memory(used|allocated)
返回内存使用信息used
是正在占用的内存量,allocated是Erlang VM预定的内存量。
Erlang Recon粗浅笔记
https://qiil.github.io/2022/12/09/Erlang-Recon粗浅笔记/