Wednesday, September 16, 2009

Sloppy Graph, Sloppy Design

I was spending time trying to fine-tune a graphviz file documenting the call graph of a piece of code and describing some of the critical functions. graphviz isn't really designed for the kind of long node labels I wanted to give it, so it would do things like put nodes in places which made it have to draw arrows reaching clear across the page.

Finally I realized that rather than trying to talk graphviz into reordering its nodes, I could just refactor the thing I was graphing so that the flow wasn't so darned convoluted in the first place.

Before (image links to full size version):

calls-old-greek

After (image links to full size version):

calls-new-greek

Corollary? If it's hard to get your call flow graph to look pretty, well, the graph isn't the only thing that's ugly...