Skip to content

eproxus/grapherl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

6218e99 · Jun 19, 2023

History

29 Commits
Apr 27, 2020
Jun 19, 2023
Feb 21, 2011
Jun 19, 2023
Jun 19, 2023
Jun 19, 2023
Jun 19, 2023
Feb 16, 2011
Jun 27, 2018
Jan 20, 2011
Jun 19, 2023
Jun 19, 2023

grapherl

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.

Examples

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").
ok
2> grapherl:modules("/path/to/my_app/ebin", "my_app", [no_ebin]).
ok

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}]).
ok

This will create my_node.svg in the current directory.

Tips

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"}.

Contribute

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

Patches are greatly appreciated!