<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body><div>Make `rdtl` a post compile hook. escriptize runs compile automatically so if you add:<br></div>
<div> </div>
<div>{provider_hooks, [{<span class="cm-atom">post</span>, [{<span class="cm-atom">compile</span>, rdtl}]}]}.<br></div>
<div> </div>
<div>Then running `rebar3 escriptize` will run compile, rdtl, escriptize. Also without the hook you can do: `rebar3 do compile, rdtl, escriptize`<br></div>
<div> </div>
<div id="sig19496053"><div class="signature">--<br></div>
<div class="signature">Tristan Sloughter<br></div>
<div class="signature">t@crashfast.com<br></div>
<div class="signature"> </div>
</div>
<div> </div>
<div> </div>
<div>On Thu, Dec 24, 2015, at 07:42 PM, Geoff Cant wrote:<br></div>
<blockquote type="cite"><div>Hi all, merry holiday of your choice. This year, I got a nice block of time in New Zealand and wrote a new Erlang Crashdump analysis library that I’ve been meaning to get around to for ages.<br></div>
<div> </div>
<div><a href="https://github.com/archaelus/edump">https://github.com/archaelus/edump</a> is a library for building indexes of crashdump files so that you can have efficient random access to information in arbitrarily large dump files. The index step is a one time cost that saves significant time for subsequent analyses.<br></div>
<div> </div>
<div>Edump also provides parsers for most segment types, and analysis code that can reconstruct most process information (process dictionary terms, messages in message queues, values on the call stack and so on). Edump has a few high level analyses - process trees (in graphviz .dot format), process list summaries, system memory summaries and so on. There’s also an escript tool that provides a rudimentary CLI to poking around in crashdumps.<br></div>
<div> </div>
<div><img src="cid:AD896A0F-7A67-4CA2-B280-86D5D645F8F4@home" height="214" width="788"><br></div>
<div> </div>
<div>It should be useful right now - I’d love github issue reports of dump files it can’t analyse and other bugs.<br></div>
<div> </div>
<div>Issues I know about (and would like help with):<br></div>
<div>* edump info is pretty basic. How do you even write CLI tools in Erlang? (escript with getopt seems OK, but I was hoping for a CLI tool framework that would be a bit more comprehensive (how do I have high level tasks that have lots of different options per task?)) Suggestions for a CLI framework would be welcome (I looked at clique, but it didn’t seem quite like me)<br></div>
<div>* More analyses, particularly process graphs.<br></div>
<div>* Better .dot output that draws process trees the way people expect to read them (how do I get the ‘ur process’ “erlang” at the top of the graph?)<br></div>
<div>* edump doesn’t have a web interface but should.<br></div>
<div>* The build process is a pain (rebar3 compile, rebar3 rdtl, rebar3 escriptize - I don’t know how to make that a one step process).<br></div>
<div> </div>
<div> </div>
<div>Anyway, I hope you find it useful (or you file a bug :)<br></div>
<div> </div>
<div>Happy holidays,<br></div>
<div>-Geoff<br></div>
<div><img style="max-width:100%;height:auto;" src="cid:AD896A0F-7A67-4CA2-B280-86D5D645F8F4@home"><br></div>
<div><u>_______________________________________________</u><br></div>
<div>erlang-questions mailing list<br></div>
<div><a href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org</a><br></div>
<div><a href="http://erlang.org/mailman/listinfo/erlang-questions">http://erlang.org/mailman/listinfo/erlang-questions</a><br></div>
<p>Email had 1 attachment:<br></p><ul><li><div><code>erl_crash.png</code><br></div>
<div> 105k (image/png)<br></div>
</li></ul></blockquote><div> </div>
</body>
</html>