Profvis is a visualisation tool that helps developers navigate the HPROF output of unfamiliar programs, developed in collaboration with my student Shen Lin, and my colleagues Tom Ormerod and Linden Ball from Lancaster's Department of Psychology. Profvis exploits the structural information present in profiling call trees to selectively raise or lower the abstraction level at which performance data is presented, greatly simplifying the task of exploring complex profiling data.Latest version:
profvis-2011-05-05_15-50-31.tgz (updated 5/5/2011)How to use
Before using Profvis, you'll need to obtain some profiling traces you want to visualise. Profvis works on HPROF output files that are generated either with the 'cpu=samples' (for CPU profiling) or 'heap=sites' (for memory profiling) options. For instance:
(Please see the HPROF documentation for more detail.)
To view you traces (saved in the file 'cpu.txt' and 'heap.txt' in the above examples), simply unpack the profvis archive, and add the resulting directory to your PATH variable (on Unix-like systems---a equivalent script for Windows will come soon hopefully.) Alternatively you can create a symbolic link to the 'profvis' executable (in effect a shell script that sets all the necessary JAVA environment).
You should then be able to visualise your profiling traces with:
Which should give you something like:
Type 'profvis -h' for a full set of options. (Caution: some are still experimental.)
Check the videos! The first one demonstrates profvis's animation capabilities on a Globus trace, and the second provides a short tutorial of Profvis' basic workings.
Towards anomaly comprehension: using structural compression to navigate profiling call-trees
Shen Lin, François Taïani, Thomas C. Ormerod, and Linden J. Ball, Proceedings of the 5th international symposium on Software visualization (SOFTVIS'10), Salt Lake City, Utah, USA, October, pp. 103-112, ISBN 978-1-4503-0028-5, ACM, 2010 (10p.), doi:10.1145/1879211.1879228, abstract, bibtex, complete document, talk.
ACM Copyright Notice: © ACM, 2010. This is the author's version of the work. It is posted here by permission of ACM for your personal use. Not for redistribution. The definitive version was published in Proceedings of the 2010 ACM Symposium on Software Visualization (SOFTVIS'10), October 25-26, 2010, Salt Lake City, Utah, USA. Copyright 2010 ACM 978-1-4503-0028-5/10/10.