A profiling tool is used to identify which functions in some program are consuming the most time in order to identify program areas that would benefit from optimisation. Such a tool can also be used to generate a call graph of some program execution. A call graph is a graphic representation of how the functions in a program call each other, where a graph node represents a function and directed edges connecting these nodes indicate one or more calls from one function to another. Usually with profiling tools, this call graph is in a textual form and consequently difficult to interpret by humans. The graph is made easier to comprehend by using computer graphics to represent it visually.

Existing profiling tools analyse pre-generated profiling data off-line, after the program under measurement has terminated. Often it would be useful to be able to examine the profile of a program while it is still executing. rtprof aims to be a tool capable of profiling a running process and rendering a call graph incorporating the profile interactively.

Some screenshots of rtprof in action:

The profile of the program being measured is incorporated into the visualisation as follows:

Sourceforge project pages

SourceForge.net Logo