<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">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.<div class=""><br class=""></div><div class=""><a href="https://github.com/archaelus/edump" class="">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.</div><div class=""><br class=""></div><div class="">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.</div><div class=""><br class=""></div><div class=""><img height="214" width="788" apple-width="yes" apple-height="yes" apple-inline="yes" id="DD8BCD60-5B5F-4195-AA9E-76FFD96D17E3" src="cid:AD896A0F-7A67-4CA2-B280-86D5D645F8F4@home" class=""></div><div class=""><br class=""></div><div class="">It should be useful right now - I’d love github issue reports of dump files it can’t analyse and other bugs.</div><div class=""><br class=""></div><div class="">Issues I know about (and would like help with):</div><div class="">* 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)</div><div class="">* More analyses, particularly process graphs.</div><div class="">* 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?)</div><div class="">* edump doesn’t have a web interface but should.</div><div class="">* The build process is a pain (rebar3 compile, rebar3 rdtl, rebar3 escriptize - I don’t know how to make that a one step process).</div><div class=""><br class=""></div><div class=""><br class=""></div><div class="">Anyway, I hope you find it useful (or you file a bug :)</div><div class=""><br class=""></div><div class="">Happy holidays,</div><div class="">-Geoff</div></body></html>