Create graphs of Erlang systems and programs
Erlang Makefile
Latest commit 0063341 Oct 20, 2015 @eproxus Merge pull request #6 from PandaWill/writing_dot_support
Added support for writing .dot files


Create graphs of Erlang systems and programs.

Getting Started

First, install graphviz. On Ubuntu:

$ sudo aptitude install graphviz

On OS X, download and install the OS X version of graphviz or use homebrew:

$ brew install graphviz

To compile grapherl, type:

$ make

or the equivalent ./rebar compile.

To start a grapherl shell after compilation, type:

$ erl -pa ebin

Alternatively, compile a grapherl stand-alone executable by doing:

$ ./rebar escriptize

This will produce a grapherl executable in the root directory. Use the flags -h or --help to see wich arguments it needs.


Here's some examples of using grapherl.

The following two calls are equal. They will both generate my_app.png in the current directory.

Eshell V5.7.5  (abort with ^G)
1> grapherl:modules("/path/to/my_app", "my_app").
2> grapherl:modules("/path/to/my_app/ebin", "my_app", [no_ebin]).

For example, if you have an Erlang release in the folder my_node, you can create a application dependency graph in SVG format by doing the following:

Eshell V5.7.5  (abort with ^G)
1> grapherl:applications("/path/to/my_node/lib", "my_node", [{type, svg}]).

This will create my_node.svg in the current directory.


If you're using Gnome under Linux, use the option {open, "gnome-open"} to directly see the resulting image.

If you're using OS X, use the option {open, "open"}.


Should you find yourself using grapherl and have issues, comments or feedback please create an issue!

Patches are greatly appreciated!