ANN: prof2dot, a graphical profiling tool

Gregory Wright gwright at comcast.net
Fri Mar 7 18:57:45 EST 2008



I am pleased to announce the first release of prof2dot, a graphical  
profiling tool
for use with GHC.

While GHC has in the past worked with graphical profiling tools, they
have been heavyweight and/or proprietary.  Prof2dot is a simple tool for
converting profiling information into a graphical format, released  
under a BSD3
license.  It is simple because it offloads all of the work of  
rendering the graph
onto Graphviz.  So you need to install the Graphviz tools in order to  
use it.

The program is a filter that takes the profiling output generated by  
running
a GHC-compiled program with the "+RTS -px -RTS" option and turns it into
a dot file.  (The "dot" format is a textual representation of a  
directed or undirected graph.)
The dot file can rendered in any format supported by Graphviz's
dot program, and the file itself can be post-processed or edited to  
adjust the
layout.

Features of prof2dot:

	* display either the call graph (default) or the call tree,

	* colorize by cost center count, time or allocations,

	* group cost centers in the same module.

Prof2dot installs as a typical caballized application.
Running "prof2dot -?" from the command line will give a short summary of
how to use the program and its options.

Rendering very large graphs can exceed the internal resource limits of  
dot.
You may have to compile your own version of the Graphviz tools with  
higher limits
to handle these cases.

A example of a colorized profile of a medium sized project is shown on  
our
company's web site: http://antiope.com/downloads.html.  Click on the  
small
image to download a pdf of the complete profile graph.

Prof2dot is available from hackage or the link given above.


-Greg
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.haskell.org/pipermail/glasgow-haskell-users/attachments/20080307/af178fa0/attachment-0001.htm


More information about the Glasgow-haskell-users mailing list