The main window consists three lists, accessible using the tabs at top of the window. Each lists presents the profile reults in a different way, and serves a different purpose:
The Flat list displays all profile entries one after the other
The Hierarchical list displays each entry as an expandable tree. Child items are the called functions.
The Object list displays methods grouped by C++ class name. This is useful only if you are profiling C++ code.
The Call-graph view offers a grpahical view of the call-tree. Requires GraphViz (homepage) to be installed.
The Method view is a cross-referenced view of individual methods, in more detail, driven by the Call-graph view.
Each list displays the same columns. You can click on the colum title to sort using this column, click a second time to change the sort order (ascending or descending). Here is a brief description of the columns:
Function/Method: displays the function or method name. If the function is recursive,
a
icon is displayed in front of the name.
Count: the total number of times the function was called.
Total (s): the total time (in seconds) the function ran, including calls to subroutines.
%: the percent of total CPU time for the process that was used by this function and the subroutines it called.
Self (s): the number of seconds used by the routine itself, excluding calls to the subroutines.
Total us/call: average number of microseconds per call, including calls to the subroutines.
Self us/call: average number of microseconds per call, excluding calls to the subroutines.
Self cycles: if profiler gives the information, number of cycles used by the function excluding calls to the subroutines.
Total cycles: if profiler gives the information, number of cycles used by the function including calls to the subroutines.
When right-clicking a function name, a pop-up menu appears with a list of functions called by this one (if any) and a list of functions that this one calls (if any). You can select one of these functions to go directly to it in the main window.
Would you like to make a comment or contribute an update to this page?
Send feedback to the KDE Docs Team