Relations<\/span><\/p>\n\r",
hmBody:" <\/p>\n\r The Relations<\/span> tab displays information about the slowest or most called functions in your program, as well as their calling functions or functions that are called by them.<\/p>\n\r <\/p>\n\r Read on, or click a part of the image below to jump straight to the help for that area.<\/p>\n\r <\/p>\n\r <\/p>\n\r <\/p>\n\r As with many of the tab views, the display is split into two resizable panes.<\/p>\n\r <\/p>\n\r •<\/span>the left side shows three tables of related functions: <\/span> •<\/span>most called and most time consuming functions<\/p> •<\/span>functions called by<\/span> one of those functions<\/p> •<\/span>functions that call<\/span> one of those function Each table\'s popup menu<\/a> provides options to filter data or to examine it in more detail <\/span> •<\/span>The right side shows the source code view<\/a> for any function selected from any table on the left <\/p> <\/p>\n\r <\/p>\n\r The table shows a list of functions, with the statistics displayed being identical to that shown in the Statistics view<\/a>.<\/p>\n\r <\/p>\n\r This top table can be populated with functions in several ways:<\/p>\n\r <\/p>\n\r •<\/span>use Refresh<\/a> to update the list with the top items, using display options <\/span> There is no automatic refresh - the display is only updated on a manual refresh.<\/p>\n\r <\/p>\n\r •<\/span>select a function from another tab view to make it appear here <\/span><\/p> <\/p>\n\r For example, double clicking any function in the Statistics<\/a> view will display the selected function here.<\/p>\n\r <\/p>\n\r •<\/span>promote<\/a> one or more functions from one of the two lower tables <\/span><\/p> <\/p>\n\r <\/p>\n\r The statistics can be sorted by any column and filtered<\/a> by class, function, file or module. <\/p>\n\r <\/p>\n\r The amount of information displayed can be controlled by adding or removing columns<\/a> or by filtering<\/a> for specific areas of interest.<\/p>\n\r When a function is selected in this table, the lower two tables update to show information about called and caller functions.<\/p>\n\r <\/p>\n\r <\/p>\n\r <\/p>\n\r Like the Statistics tab, all cells in the tables that show numerical data have a percentage bar indicating one of the following:<\/p>\n\r <\/p>\n\r •<\/span>the function\'s value relative to the maximum value in the column <\/span><\/p> <\/p>\n\r •<\/span>the function\'s percentage contribution to the total <\/span><\/p> <\/p>\n\r <\/p>\n\r <\/p>\n\r •<\/span>Refresh <\/span> updates the display with the top functions - as does the button on the Tools menu and toolbar <\/span><\/p> <\/p>\n\r As there\'s no auto update, you\'ll need to use this Refresh button to update the display when you wish.<\/p>\n\r <\/p>\n\r When manually refreshing the top functions, you may be interested in a certain performance measurement:<\/p>\n\r <\/p>\n\r •<\/span>Display<\/span> choose one of the available criteria by which to display the top functions <\/span><\/p> <\/p>\n\r <\/p>\n\r <\/p>\n\r The default is Average Total Time - i.e. the average time taken by a function and all its children.<\/p>\n\r <\/p>\n\r Changing the metric will refresh the list functions in the table.<\/p>\n\r <\/p>\n\r When in sampling mode<\/a>, Sample Count<\/span> will be the only available option here - i.e. the number of times a function appears in the sampled collection data.<\/p>\n\r <\/p>\n\r •<\/span>Quantity<\/span> set the number of items to show when refreshing the top functions <\/span><\/p> <\/p>\n\r <\/p>\n\r <\/p>\n\r There are two ways to change what\'s displayed in the view.<\/p>\n\r <\/p>\n\r •<\/span>hide or show whole columns of data in the table •<\/span>filter out unwanted functions, or only show specific functions of interest <\/span><\/p> <\/p>\n\r <\/p>\n\r <\/p>\n\r You can sort the data in the tables by clicking in the table headers.<\/p>\n\r <\/p>\n\r The choice of which columns to display is the same on the Statistics<\/a> and Relations tabs. In fact, you can control columns in both areas from the same configuration dialog.<\/p>\n\r <\/p>\n\r Each table on the Relations tab has control of its own columns, but by default, the displayed columns are synched across all three tables.<\/p>\n\r <\/p>\n\r •<\/span>Columns <\/span> shows the Configure Columns dialog for the Relations view <\/span><\/p> <\/p>\n\r If you\'re using a sampling method<\/a> to collect statistics, you\'ll see the dialog on the right.<\/p>\n\r <\/p>\n\r <\/span><\/p>\n\r <\/p>\n\r Check or uncheck which columns you want to show and hide.<\/p>\n\r <\/p>\n\r •<\/span>Up \/ Down <\/span> nudge a selected column name up or down in the list <\/span><\/p> <\/span><\/p>\n\r Columns at the top are displayed left-most in the table<\/p>\n\r <\/p>\n\r •<\/span>Reset <\/span> set the visibility and the order of columns back to their defaults <\/span><\/p> <\/p>\n\r •<\/span>Don\'t scroll first column <\/span> optionally keep the first column fixed when scrolling the table horizontally <\/span><\/p> <\/p>\n\r Unless you changed the visible columns, or reordered them, the first column will typically be Class::Method.<\/p>\n\r <\/p>\n\r All three tables are affected.<\/p>\n\r <\/p>\n\r •<\/span>Apply to all display tabs <\/span> if checked (default), the changes you make will affect all three tables and<\/span> the data on the Statistics<\/a> tab <\/span><\/p> <\/span><\/p>\n\r Once configured, click OK<\/span> to apply the changes.<\/p>\n\r <\/p>\n\r <\/p>\n\r <\/p>\n\r The display filters affect which functions are hidden and shown in the data. They do not affect which functions are hooked in the first place.<\/p>\n\r <\/p>\n\r •<\/span>Filters <\/span> shows the Relations Display Filter Manager: <\/span><\/p> <\/p>\n\r <\/p>\n\r <\/p>\n\r The dialog initially has no items in the list. Add some items manually or use the convenience filter options on the popup menus<\/a>.<\/p>\n\r <\/p>\n\r •<\/span>Add...<\/span> displays the display filter dialog<\/a> described below <\/span> •<\/span>Edit...<\/span> opens the display filter dialog<\/a> populated with the selected item\'s criteria, ready for editing <\/span> Alternatively, just double click an entry in the list to show the filter dialog.<\/p>\n\r <\/p>\n\r •<\/span>Remove<\/span> remove selected filter(s) in the list<\/p> •<\/span>Remove All<\/span> remove all filters<\/p> <\/p>\n\r •<\/span>Enable All<\/span> enables all filters in the list <\/p> •<\/span>Disable All<\/span> disables all filters<\/p> <\/p>\n\r You can also enable or disable individual items in the list via the yellow check box at the left of each row.<\/p>\n\r <\/p>\n\r •<\/span>Display Win32 API functions<\/span> if selected this displays Win32 API functions otherwise Win32 API functions are hidden<\/p> <\/p>\n\r •<\/span>Entries that match filters are displayed<\/span> select this to display only<\/span> matched items <\/p> <\/p>\n\r •<\/span>Entries that match filters are hidden<\/span> select this to remove<\/span> matched items from the display<\/p> <\/p>\n\r <\/p>\n\r Take care when selecting Entries that match filters are displayed<\/span> as clearing the list and leaving this checked will leave no functions being displayed at all<\/span>!<\/p>\n\r <\/p>\n\r The display filter affects all three tables.<\/p>\n\r <\/p>\n\r <\/p>\n\r <\/p>\n\r The dialog below allows you to create a filter based on matching one or more criteria.<\/p>\n\r <\/p>\n\r <\/p>\n\r <\/p>\n\r If you don\'t enter some of the details, they simply won\'t form part of the match criteria<\/p>\n\r <\/p>\n\r •<\/span>Enabled<\/span> set this particular filter active or inactive <\/p> <\/p>\n\r This is exactly equivalent to checking the listed item in the display filter manager.<\/p>\n\r <\/p>\n\r •<\/span>Class<\/span> enter the class name that the filter must match <\/p> <\/p>\n\r If you enter a class but no method name then all functions in the class are filtered. •<\/span>Method<\/span> enter the method name <\/p> <\/p>\n\r If you enter a method but no class then the filter will match the named function in any class.<\/p>\n\r <\/p>\n\r •<\/span>Filename<\/span> filter all functions in the specified file <\/p> <\/p>\n\r The full path to the file is required.<\/p>\n\r <\/p>\n\r •<\/span>Directory<\/span> filter all functions in the specified directory <\/span><\/p> <\/p>\n\r The full directory path is required.<\/p>\n\r <\/p>\n\r •<\/span>Module<\/span> filter all functions in the specified module<\/p> <\/p>\n\r The full path to the module is required.<\/p>\n\r <\/p>\n\r •<\/span>Address<\/span> filter an exact address in memory<\/p> <\/p>\n\r <\/p>\n\r <\/p>\n\r The History option provides a simple way to revisit previously refreshed or promoted functions:<\/p>\n\r <\/p>\n\r •<\/span><< \/ >><\/span> navigate backwards or forwards through the groups of functions<\/p> <\/p>\n\r These buttons will be disabled if there are no prior or later views available.<\/p>\n\r <\/p>\n\r •<\/span>History<\/span> select a result directly from the drop-down menu<\/p> <\/p>\n\r Where a set of functions resulted from a manual refresh, the item in the drop down list is labeled Filter Refresh<\/span>.<\/p>\n\r <\/p>\n\r Navigating the browsing history affects only the set of functions displayed. It does not revert display filters or other options.<\/p>\n\r <\/p>\n\r If your session is still running, navigating back and forth in the results doesn\'t update the numbers. Only a manual Refresh<\/span> does this.<\/p>\n\r <\/p>\n\r <\/p>\n\r When a function is selected in the top table, the lower two tables update to show information about called and caller functions.<\/p>\n\r <\/p>\n\r <\/p>\n\r <\/p>\n\r <\/p>\n\r <\/p>\n\r Column visibility is controlled as for the top table.<\/p>\n\r <\/p>\n\r Both tables give you the option to promote one or all functions into the top table.<\/p>\n\r <\/p>\n\r Repeating this process effectively navigates up or down the call tree hierarchy.<\/p>\n\r <\/p>\n\r •<\/span>Promote<\/span> push the selected function into the top table <\/p> <\/p>\n\r Double clicking an item has the same effect.<\/p>\n\r <\/p>\n\r •<\/span>Promote All<\/span> push all the functions into the top table <\/p> <\/p>\n\r <\/p>\n\r To find text in the top table, use the Find Dialog<\/a> where you can search in any or all of the different columns.<\/p>\n\r <\/p>\n\r <\/p>\n\r <\/p>\n\r <\/p>\n\r The following popup menu is available over the tables to add filters, examine relations or edit code.<\/p>\n\r <\/p>\n\r Menu actions apply to the function for the row at the menu-click location.<\/p>\n\r <\/p>\n\r <\/p>\n\r The menu options are identical in behaviour to the Statistics tab menu options<\/a> so if you\'ve already read that you can skip to the next topic - the Call Tree<\/a>.<\/p>\n\r <\/p>\n\r <\/p>\n\r <\/p>\n\r The display filter sub-menu below provides a quick and convenient way to hide or show data based on attributes of the selected item.<\/p>\n\r <\/p>\n\r <\/p>\n\r Choosing any of these options will add the filter to the Display Filter dialog<\/a>.<\/p>\n\r <\/p>\n\r For example:<\/p>\n\r <\/p>\n\r •<\/span>Class <\/span> hides all functions belonging to the same class <\/span> •<\/span>
\n\r <\/span><\/p>
\n\r <\/p>
\n\r <\/span><\/p>\n\r <\/span><\/h1>\n\r
<\/a>Most common and most time consuming functions<\/span><\/h1>\n\r
\n\r <\/span><\/p> <\/span><\/h1>\n\r
<\/a>Percentage bars<\/span><\/h1>\n\r
<\/a>Updating the display<\/span><\/h1>\n\r
<\/a>Managing the data being displayed<\/span><\/h1>\n\r
\n\r <\/p><\/a>Changing which columns are displayed<\/span><\/h1>\n\r
<\/a>Filtering data in the tables<\/span><\/h1>\n\r
\n\r <\/span><\/p>
\n\r <\/span><\/p><\/a>The Display Filter dialog<\/span><\/h1>\n\r
\n\r <\/p>\n\r<\/a>Browsing history<\/span><\/h1>\n\r
<\/span><\/h1>\n\r
<\/a>Called and caller functions<\/span><\/h1>\n\r
<\/a>Finding text<\/span><\/h1>\n\r
<\/span><\/h1>\n\r
The source code view<\/a> has its own Find and Goto dialogs<\/a>.<\/h1>\n\r
<\/a>Relations menu options<\/span><\/h1>\n\r
<\/span><\/h1>\n\r
<\/span><\/h1>\n\r
<\/a>Menu options: Display Filter<\/span><\/h1>\n\r
<\/span><\/h1>\n\r
\n\r <\/span><\/p>