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粗浅笔记/
作者
QSY
发布于
2022年12月9日
许可协议