The Call Tree view displays the performance data as a hierarchical tree.
Read on, or click a part of the image below to jump straight to the help for that area.
As with many of the tab views, the display is split into two resizable panes.
•the left side shows an ordered hierarchical view of the functions called in the program's execution
The tree's popup menu provides options to filter data or to examine it in more detail.   
 
•The right side shows the source code view for any function selected on the left
Performance data is shown in an ordered tree for every function that has been hooked and called.
Functions are initially ordered by Total Time - the time a function and its child functions contribute to the total run time.
Child functions that get called will appear as child nodes in the tree; just expand a node to dig deeper.
Selecting a function shows its source code in the right hand pane.
Double clicking any item will display the function on the Relations tab.
 As this is a call tree, functions can appear in multiple locations if called by different parent functions.
 Unlike the Call Graph, function timings shown here are for the time spent in the relevant part of the call tree, not a combined total for everywhere that a function may be used.
To adapt to your screen layout, the horizontal or vertical orientation of the call tree and source code panes can be toggled with the orientation button.
                  
•Refresh 
 updates the display with the called functions and performance data - as does the 
 button on the Tools menu and toolbar 
A refresh automatically expands the first nodes in the tree and highlights the most time consuming low-level function.
As there's no auto update here, you'll need to use this Refresh button to update the display when you wish.
•Collapse / Expand All 
 hide or show every node in the tree 
•Display... 
 shows the Call Tree Display Settings dialog
 
The tree is coloured using the customisable Hotspot Colours settings that range from 100% down to 0%.

•Colours 
 choose the way the colour scheme is applied in the tree 
•Parent % 
 colouring is based on function time relative to that of its parent's function time
 
In the example below:
qsCompFunc is in the 90-100% colour band as it contributed 97.44% of its parent's function time
 
doCombSort is in the 90-100% colour band as it contributed 98.44% of its parent's function time

•Total % 
 colouring is based on function time relative to the total execution time
Now in the example:
qsCompFunc is in the 50-60% colour band as it contributed 34.51% to the total run time
 
doCombSort is in the 30-40% colour band as it contributed 57.47% to the total run time

•No Colour 
 black and white display only
The tree is initially ordered by most time consuming function first (Total Time)
•Sort 
 choose one of the criteria from the list 
 Refresh the display  
The options are:
•Total Time 
 the time all calls to a function and it's child functions contribute to the total run time  
 
•Average Time 
 the time an average call to a function and it's child functions contribute to the total run time 
 
•Call Count 
 the number of times a function appears in the sampled collection data 
    
 When in sampling mode, Call Count will be the only available option here
•Ascending / Descending  
 change the ordering direction of the data  
 Note that while your application is executing, the sorted data is live. Sorting may not complete correctly as the data may change during the sort. Only when your program has finished executing is the sorted data guaranteed accurate.
You can't filter out functions by name but there are two ways to change what's displayed in the view:
Change the amount of detail shown for each function:
•Address  
 check to show the address in memory for the function  
•Filename  
 check to show the file location in which the function was found  
•Modulename  
 shows the function's module  
Reduce the scope of the tree by hiding less significant functions:
•Threshold  
 set a percentage threshold below which contributing functions are hidden  
Higher numbers exclude more nodes.
 You'll need to do a manual Refresh to update the display.
 
 By default the threshold applies to the top level functions only.
The threshold percentage is based on each callstack's contribution to the total runtime or total number of function calls.
The default All option includes all nodes.
•Apply Threshold to Children  
 check to hide any function (as opposed to just top level nodes) in the tree that lies below the threshold contribution  
To find text in the tree, use the Find Dialog where you can search for functions, files and modules.
The source code view has its own Find and Goto dialogs.

The following popup menu is available over the tree to add filters, examine relations or edit code.
Menu actions apply to the function in the tree at the menu-click location.

Menu options: Previous and next call tree nodes
Functions may appear in the tree more than once if called by different parent functions.
•Go to Previous Call Tree Node for this Function 
 jump to the previous instance of this function in the tree  
 +
has the same action
•Go to Next Call Tree Node for this Function 
 jump to the next instance of this function in the tree  
 +
has the same action
If there are no previous or next instances, nothing will happen.
Menu options: Call graph
The Call Graph view is similar to the Call Tree, but where a function would appear multiple times, it instead appears once as the main instance, and is then linked to from other locations.
The times shown in a call graph are accumulated total times rather than the time spent strictly under their parent functions.
•Go to Call Graph Node 
 open the Call Graph view at the main entry for the selected function  
Menu options: Function filter (Instrumentation)
While the display filter controls visibility of hooked data, instrumentation filters control which functions are hooked in the first place.
The function instrumentation filter sub-menu lets you add hook filters at different levels of granularity.

 The affect of adding function filters here depends on the current filter settings:
•If the current filters are set to hook everything, adding new filters will switch to excluding newly selected hooks 
 
•Otherwise, the current filter will be retained, i.e. hook or don't hook newly selected items
The first three options add filters to the Class and Function Filter Settings:
•By Class 
 adds a new filter, excluding the entire class from the results of subsequent sessions 
 
•By Class and Method 
 excludes only the selected function from new sessions 
 
•By Function 
 excludes all matching function names irrespective of their containing class or even if not in a class at all 
 
The next two, Filename and Directory, are part of the Source Files Filter settings.
•By FileName 
 adds a new filter, excluding all functions in the same file (as the selected item) from the results of subsequent sessions 
 
•By Directory 
 excludes functions in all files in the same directory as the selected function 
 
Finally, the DLL level is controlled by the Hooked DLLs settings.
•By DLL 
 excludes functions in all files belonging to the same executable or DLL as the selected function 
 
 Instrumentation filters become effective at the start of the next session. Adding a filter during a session will show the relevant rows in grey so that you can see which files would be filtered, but the performance data will continue to be included for the rest of the current session.
Menu options: Line timing filter (Instrumentation)
Line timing instrumentation filters control which lines are hooked for line timing and are independent of the function filters above.
 The affect of adding line timing filters here depends on the current line timing filter settings:
•If the current filters are set to hook everything, adding new filters will switch to only including newly selected hooks
Note that this is the opposite of function filters.
 
•Otherwise, the current filter will be retained, i.e. hook or don't hook newly selected items
The line timing instrumentation filter sub-menu lets you add hook filters at three different levels of granularity.
Each option add filters to the Line Timing Filter Settings:
•By Class 
 adds a new filter, appending the entire class in the line timing results of subsequent sessions 
 
•By Class and Method 
 include only the selected function in the line timing of new sessions 
 
•By Function 
 includes all matching function names irrespective of their containing class or even if not in a class at all 
 
 Instrumentation filters become effective at the start of the next session. Adding a filter during a session will show the relevant rows in grey so that you can see which files would be filtered, but the performance data will continue to be included for the rest of the current session.
Menu option: Show in Analysis tab
The Analysis tab shows results of a query on the call tree based on the selected function and the criteria chosen from the menu:
•Show in Analysis tab 
 choosing any item in the following sub-menu, to be switched to the Analysis tab 

For example:
•Class 
 the Analysis tab will show all points in the call tree that match the class of the selected function 
 
•File name 
 shows all points in the call tree that match the file name of the selected function 
•Slower Functions (%) 
 shows all functions that are slower than the selected function 
Menu options: Show in Relations tabs
•Show in Relations tab 
 switch to the Relations tab where you can examine functions that either call, or are called by, the selected function 
Double clicking any item will also display it in the Relations tab.
Menu options: Remove entry
You can hide some entries from the Call Tree display.
Hiding entries is a very temporary action since a function and its children will only be hidden from view until the next Refresh.
•Remove entry 
 hides the selected function in the tree 
Only the selected node is hidden. Other calls to the same function in a different part of the call tree will remain.
Menu option: editing source code
•Edit Source Code... 
 opens the default or preferred editor to edit the source code 
Menu options: Expand and collapse
The last few menu options expand and collapse parts of the tree.
•Expand Next Hotspot 
 finds the next most significant performance hotspot in the call tree and expands all the callstack nodes to make it visible 
•Collapse / Expand Entry 
 close or recursively open the selected function to its full extent 
•Collapse / Expand All 
 completely collapse or expand the entire tree 
Clicking on a function in the call tree shows that function's source code file in the right hand pane.
The source code view is described in detail separately as its behaviour is the same for all views.