Copyright © 2012-2019 Fred Hebert (BSD 3-Clause License)
Authors: Fred Hebert (mononcqc@ferd.ca) [web site: http://ferd.ca/].
Recon is a library to be dropped into any other Erlang project, to be used to assist DevOps people diagnose problems in production nodes.
The source code can be obtained from the github repo.
Included modules are:
recon
recon
application. It includes functions to gather
information about processes and the general state of the
virtual machine, ports, and OTP behaviours running in the
node. It also includes a few functions to facilitate RPC
calls with distributed Erlang nodes.
recon_alloc
recon_lib
recon
when dealing
with data from the node. Would be an interesting place to look
if you were looking to extend Recon's functionality
recon_trace
recon_rec
This library contains few tests -- most of the functionality has been tried directly in production instead, and for many Erlang installs, Recon functionality should be safe to use directly in production, assuming there is still memory left to be used in the node.
To help with regular DevOps tasks, a variety of scripts has also been included
in the repository's script/
directory:
app_deps.erl
escript app_deps.erl
.
erl_crashdump_analyzer.sh
./erl_crashdump_analyzer.sh <crashdump>
and will extract generic
information that can be useful in determining the most common causes
of node failure.
queue_fun.awk
awk -v threshold=<queue size> -f queue_fun.awk <crashdump>
and will
show what function processes with queue sizes larger or equal to
<queue size>
were operating at the time of the crash dump. May help
find out if most processes were stuck blocking on a given function
call while accumulating messages forever.
Generated by EDoc