commit | e2bfbaa13a083dad3219058001b27ff1c7056a0b | [log] [tgz] |
---|---|---|
author | Fred Hebert <mononcqc@ferd.ca> | Sun Apr 17 16:47:16 2016 -0400 |
committer | Fred Hebert <mononcqc@ferd.ca> | Sun Apr 17 16:47:16 2016 -0400 |
tree | d71c6519e7419433fd8df08a173d067b4ab83716 | |
parent | 0cb7c858c2ddc5e8b6e47136d3534a2408eb458e [diff] | |
parent | bb901de8ab182a9a6026ad3bdb12dbe7c219343f [diff] |
Merge pull request #42 from lucafavatella/ci Minor Travis CI updates
Recon wants to be a set of tools usable in production to diagnose Erlang problems or inspect production environment safely.
To build the library:
./rebar compile
Documentation for the library can be obtained at http://ferd.github.io/recon/
It is recommended that you use tags if you do not want bleeding edge and development content for this library.
Versions supported: R15B02 and up
Branches are organized by version. master
contains the bleeding edge, 2.x
contains all stable changes up to the latest release of v2, and 1.x
contains all stable changes of the first version of Recon.
2.x
app_deps
script to run with rebar3 dependenciesrecon:proc_count
and recon:proc_window
.recon:port_types/0
and recon_lib:count/1
, thanks to @lucafavatellarecon_trace:calls/2
interface to allow multiple match specs, which was currently only allowed for calls/3
.mbcs_pool
data in erts_alloc
, and some internal refactoring, thanks to Lukas Larsson.recon_alloc
operations with dumps on diskrecon_trace:mfa()
type to recon_trace:tspec()
to avoid issues in older Erlang versions regarding redefining an existing type (Thanks Roberto Aloi)recon_trace
script to allow safe tracing of function calls on production nodes.queue_fun.awk
script to inspect running functions of processes with large mailboxes in a crash dump.recon_alloc
when certain expected allocators do not return results (Thanks to Michal Ptaszek)recon_alloc
.recon_alloc
, thanks to Lukas Larsson. Things that changed include:average_sizes/0
is renamed average_block_sizes/1
and now takes the keywords current
and max
.memory/1
has new options in allocated_types
and allocated_instances
.memory/2
has been added, which allows to choose between current
and max
values. memory(Term)
is made equivalent to memory(Term, current)
.sbcs_to_mbcs/0
to take the arguments current
and max
.set_unit/1
, which allows to get the recon_alloc
results in bytes (default), kilobytes, megabytes, and gigabytes, to help with readability.recon:port_info/1
no longer includes the parallelism
option by default within the meta
category as this would hurt backwards compatibility on some installations.recon:get_state/2
is added in order to specify timeouts. recon:get_state/1
keeps its 5000 milliseconds timeout.binary_memory
, which is callable in recon:info/2,4
, recon:proc_count/2
, and recon:proc_window/3
. This attribute allows to fetch the amount of memory used by refc binaries for a process, and to sort by that value for counts and windows.1.x
recon_alloc:snapshot*
functions, which allow memory allocation snapshots to be taken, saved on disk, reloaded, and analyzed on-demand. Thanks to Lukas Larsson for this functionality.parallelism
data from port_info
for better OTP backwards compatibility with little loss of information.recon_lib:term_to_port
to convert a string back to a usable port.recon:port_info/1
and recon:port_info/2
recon_alloc
moduleinfo/2
and info/4
. The memory
info type thus gets renamed to memory_used
, in order to avoid conflicts when picking between a type and a specific process attribute. Types exported by the module also get updated.app_deps.erl
to read apps/ directories for releasesbin_leak
function call.recon_lib
for the window and count functions that take a specific pid as an argument.recon:info/1
into recon_lib:term_to_pid
and allowed arbitrary terms to be used for pids in recon:get_state/1
.