When the Routines category is active in the Explorer panel, the Call Tree panel shows profiling results for individual routines.The Parents pane displays a tree of calls that led to a call to the given routine. The pane contains several columns that do not depend on the active counter and there is also a set of columns that depend on the counter that was used during profiling.
Below is the description of available columns (both Call Tree and Details have the same set of columns):
Columns that do not depend on the active counter
Columns (in alphabetical order) | Description |
---|---|
Address | Routine’s address in memory. This column is only used for unmanaged (native-code) routines. |
Analysis Result | Specifies if the routine was instrumented or not. If the routine was instrumented, this column is empty. Otherwise, the column specifies why the routine was not profiled. These are the same values as the values displayed in the Analysis Result column of the Report panel. For more information, see Performance Profiler - Report Panel Columns. |
Class Name | Name of the class where the parent routine is defined. |
Code Type | Specifies the type of the routine’s code. The following values are possible:
|
Exceptions (#) | Number of times the parent routine was entered but not successfully exited when calling the Report panel routine. This is usually a count of exceptions that occurred when calling the Report panel routine. |
Hit Count | Number of times the parent routine called the Report panel routine. |
Module Name | The name of the module which contains the parent routine. |
Namespace | Namespace of the method’s class (this column is used for managed routines only). |
Routine Name | Name of the parent routine. |
Source File | Name of the source file for the parent routine. The values for this column are read from the application’s debug info. If debug info does not contain information on the file name, the column is empty. |
Source Line | Source files line number where the parent routine’s implementation begins. The values for this column are read from the application’s debug info.
|
Token | The routine’s token. |
Unit Name | The name of the linkage unit containing the routine. This column is used for unmanaged (native-code) routines only. |
Columns specific to the Elapsed Time, User Time and User+Kernel Time counters
For each of the following columns you can specify the measurement unit for the displayed values (seconds, milliseconds, microseconds or machine cycles) using the Counter unit box on the Profiler toolbar. See also Profiler Toolbar - Performance Profiler Items.
Columns (in alphabetical order) | Description |
---|---|
Average Time | Average time spent executing the code of the Report panel routine per call. To calculate this value AQTime only uses those calls to the Report panel routine that where made from within the given parent routine. |
Average Time with Children | Average time spent executing the Report panel routine per call (including calls to its child routines). To calculate this value AQTime only uses those calls to the Report panel routine that were made from within the given parent routine. |
Max Time and Min Time |
Maximum and minimum time (excluding child function calls) spent executing the Report panel routine when it was called from the parent routine. Exceptional values point out perhaps unexpected special conditions. |
Max Time with Children and Min Time with Children |
Maximum and minimum time (including child function calls) spent executing the Report panel routine when it was called from the parent routine. Exceptional values point out perhaps unexpected special conditions. |
Shared Time | Total time spent executing the code of the Report panel routine, as a percentage of the total time spent on calls to the Report panel routine including calls to child routines. In other words, Shared Time is the ratio of the routine’s Time to Time with Children values displayed in the Parents grid: (Time / Time with Children)*100. |
Time | Total time spent executing the Report panel routine’s code (excluding child calls) when it was called from the parent routine. Sort results by this column to find the parent routine that uses the Report panel routine more than other parent routines. |
Time with Children | Total time spent executing the Report panel routine when it was called from the parent routine. This value includes the time spent executing child routines. |
% Time | This is the Time value as a percentage of the sum of the Time values displayed in the Parents grid. |
% with Children | This is the Time with Children value as a percentage of the sum of the Time with Children values displayed in the Parents grid. |
Columns specific to the CPU Cache Misses counter
Columns (in alphabetical order) | Description |
---|---|
Average Misses | Average number of CPU cache misses that occurred during execution of the code of the Report panel routine per call. To calculate this value AQTime only uses those calls to the Report panel routine that were made from within the given parent routine. |
Average Misses with Children | Average number of CPU cache misses that occurred during execution of the Report panel routine per call (including cache misses in its child routines). To calculate this value AQTime only uses those calls to the Report panel routine that were made from within the given parent routine. |
Max Misses and Min Misses |
Maximum and minimum number of cache misses that occur during execution of the Report panel routine (child calls are excluded) when it was called from the parent routine. Exceptional values point out perhaps unexpected special conditions. |
Max Misses with Children and Min Misses with Children |
Maximum and minimum number of cache misses that occur during execution of the Report panel routine (including child calls) when it was called from the parent routine. Exceptional values point out perhaps unexpected special conditions. |
Misses | Total number of cache misses that occur during execution of the Report panel routine’s code (excluding child calls) when it was called from the parent routine. |
Misses with Children | Total number of cache misses that occur during execution of the Report panel routine (including its child routines) when it was called from the parent routine. |
Shared Misses | Total number of CPU cache misses that occurred during execution of the code of the Report panel routine’s code, as a percentage of the total number cache misses that occurred on calls to the Report panel routine (including calls to its child routines). To calculate this value AQTime only uses those calls to the Report panel routine that were made from within the given parent routine. In other words, Shared Misses is the ratio of the Misses to Misses with Children values displayed in the Parents grid. |
% Misses | This is the Misses value as a percentage of the sum of the Misses values displayed in the Parents grid. |
% with Children | This is the Misses with Children value as a percentage of the sum of the Misses with Children values displayed in the Parents grid. |
Columns specific to the CPU Mispredicted Branches counter
Columns (in alphabetical order) | Description |
---|---|
Average Branches | Average number of branches that were mispredicted during execution of the own code of the Report panel routine per call. To calculate this value AQTime uses only those calls to the Report panel routine that were made from within the given parent routine. |
Average Branches with Children | Average number of branches that were mispredicted during execution of the Report panel routine per call (including mispredictions in its child routines). To calculate this value AQTime uses only those calls to the Report panel routine that were made from within the given parent routine. |
Branches | Total number of mispredictions that occurred during execution of the Report panel routine?s code (excluding child calls) when it was called from the parent routine. |
Branches with Children | Total number of mispredictions that occurred during execution of the Report panel routine (including its child routines) when it was called from the parent routine. |
Max Branches and Min Branches |
Maximum and minimum number of mispredictions that occurred during execution of the Report panel routine (child calls are excluded) when it was called from the parent routine. Exceptional values point out perhaps unexpected special conditions. |
Max Branches with Children and Min Branches with Children |
Maximum and minimum number of mispredictions that occurred during execution of the Report panel routine (including child calls) when it was called from the parent routine. Exceptional values point out perhaps unexpected special conditions. |
Shared Branches | Total number of mispredictions that occurred during execution of the Report panel routine’s own code, as a percentage of mispredictions that occurred during calls to the Report panel routine including calls to its child routines. To calculate this value AQTime uses only those calls to the Report panel routine that were made from within the given parent routine. In other words, this is the ratio of the routine’s Branches to Branches with Children values displayed in the Parents grid. |
% Branches | This is the Branches value as a percentage of the sum of the Branches values displayed in the Parents grid. |
% with Children | This is the Branches with Children value as a percentage of the sum of the Branches with Children values displayed in the Parents grid. |
Columns (in alphabetical order) | Description |
---|---|
Average Faults | Average number of memory page faults that occurred during execution of the own code of the Report panel routine per call. To calculate this value AQTime only uses those calls to the Report panel routine that were made from within the given parent routine. |
Average Faults with Children | Average number of memory page faults that occurred during execution of the Report panel routine per call (including calls to its child routines). To calculate this value AQTime only uses those calls to the Report panel routine that were made from within the given parent routine. |
Faults | Total number of page faults that occurred during execution of the Report panel routine’s code (excluding child calls) when it was called from the parent routine. |
Faults with Children | Total number of page faults that occurred during execution of the Report panel routine (including its child routines) when it was called from the parent routine. |
Max Faults and Min Faults |
Maximum and minimum number of page faults that occurred during execution of the Report panel routine (child calls are excluded) when it was called from the parent routine. Exceptional values point out perhaps unexpected special conditions. |
Max Faults with Children and Min Faults with Children |
Maximum and minimum number of page faults that occurred during execution of the Report panel routine (including child calls) when it was called from the parent routine. Exceptional values point out perhaps unexpected special conditions. |
Shared Faults | Total number of memory page faults that occurred during execution of the Report panel routine’s code, as a percentage of the total number of page faults that occurred on execution of the Report panel routine including calls to its child routines. To calculate this value AQTime only uses those calls to the Report panel routine that were made from within the given parent routine. In other words, this is the ratio of the routine’s Faults to Faults with Children values displayed in the Parents grid. |
% Faults | This is the Faults value as a percentage of the sum of the Faults values displayed in the Parents grid. |
% with Children | This is the Faults with Children value as a percentage of the sum of the Faults with Children values displayed in the Parents grid. |
Columns (in alphabetical order) | Description |
---|---|
Average Replays | Average number of replays that occurred during execution of the code of the Report panel routine per call. To calculate this value AQTime only uses those calls to the Report panel routine that were made from within the given parent routine. |
Average Replays with Children | Average number of replays that occurred during execution of the Report panel routine per call (including calls to its child routines). To calculate this value AQTime only uses those calls to the Report panel routine that were made from within the given parent routine. |
Max Replays and Min Replays |
Maximum and minimum number of replays that occurred during execution of the Report panel routine (child calls are excluded) when it was called from the parent routine. Exceptional values point out perhaps unexpected special conditions. |
Max Replays with Children and Min Replays with Children |
Maximum and minimum number of replays that occurred during execution of the Report panel routine (including child calls) when it was called from the parent routine. Exceptional values point out perhaps unexpected special conditions. |
Replays | Total number of replays that occurred during execution of the Report panel routine’s code (excluding child calls) when it was called from the parent routine. |
Replays with Children | Total number of replays that occurred during execution of the Report panel routine (including its child routines) when it was called from the parent routine. |
Shared Replays | Total number of replays that occurred during execution of the Report panel routine’s code, as a percentage of the total number of replays that occurred on execution of the Report panel routine including calls to its child routines. To calculate this value AQTime only uses those calls to the Report panel routine that were made from within the given parent routine. In other words, this is the ratio of the routine’s Replays to Replays with Children values displayed in the Parents grid. |
% Replays | This is the Replays value as a percentage of the sum of the Replays values displayed in the Parents grid. |
% with Children | This is the Replays with Children value as a percentage of the sum of the Replays with Children values displayed in the Parents grid. |
Columns specific to the 64K Aliasing Conflicts counter
Columns (in alphabetical order) | Description |
---|---|
Average Conflicts | Average number of aliasing conflicts that occurred during execution of the code of the Report panel routine per call. To calculate this value AQTime only uses those calls to the Report panel routine that were made from within the given parent routine. |
Average Conflicts with Children | Average number of aliasing conflicts that occurred during execution of the Report panel routine per call (including calls to its child routines). To calculate this value AQTime only uses those calls to the Report panel routine that were made from within the given parent routine. |
Conflicts | Total number of aliasing conflicts that occurred during execution of the Report panel routine’s code (excluding child calls) when it was called from the parent routine. |
Conflicts with Children | Total number of aliasing conflicts that occurred during execution of the Report panel routine (including its child routines) when it was called from the parent routine. |
Max Conflicts and Min Conflicts |
Maximum and minimum number of aliasing conflicts that occurred during execution of the Report panel routine (child calls are excluded) when it was called from the parent routine. Exceptional values point out perhaps unexpected special conditions. |
Max Conflicts with Children and Min Conflicts with Children |
Maximum and minimum number of aliasing conflicts that occurred during execution of the Report panel routine (including child calls) when it was called from the parent routine. Exceptional values point out perhaps unexpected special conditions. |
Shared Conflicts | Total number of memory aliasing conflicts that occurred during execution of the Report panel routine’s code, as a percentage of the total number of conflicts that occurred on execution of the Report panel routine including calls to its child routines. To calculate this value AQTime only uses those calls to the Report panel routine that were made from within the given parent routine. In other words, this is the ratio of the routine’s Conflicts to Conflicts with Children values displayed in the Parents grid. |
% Conflicts | This is the Conflicts value as a percentage of the sum of the Conflicts values displayed in the Parents grid. |
% with Children | This is the Conflicts with Children value as a percentage of the sum of the Conflicts with Children values displayed in the Parents grid. |
Columns specific to the Context Switches counter
Columns (in alphabetical order) | Description |
---|---|
Average Switches | Average number of context switches that occurred during execution of the code of the Report panel routine per call. To calculate this value AQTime only uses those calls to the Report panel routine that were made from within the given parent routine. |
Average Switches with Children | Average number of context switches that occurred during execution of the Report panel routine per call (including calls to its child routines). To calculate this value AQTime only uses those calls to the Report panel routine that were made from within the given parent routine. |
Max Switches and Min Switches |
Maximum and minimum number of context switches that occurred during execution of the Report panel routine (child calls are excluded) when it was called from the parent routine. Exceptional values point out perhaps unexpected special conditions. |
Max Switches with Children and Min Switches with Children |
Maximum and minimum number of context switches that occurred during execution of the Report panel routine (including child calls) when it was called from the parent routine. Exceptional values point out perhaps unexpected special conditions. |
Shared Switches | Total number of context switches faults that occurred during execution of the Report panel routine’s code, as a percentage of the total number of switches that occurred on execution of the Report panel routine including calls to its child routines. To calculate this value AQTime only uses those calls to the Report panel routine that were made from within the given parent routine. In other words, this is the ratio of the routine’s Switches to Switches with Children values displayed in the Parents grid. |
Switches | Total number of context switches that occurred during execution of the Report panel routine’s code (excluding child calls) when it was called from the parent routine. |
Switches with Children | Total number of context switches that occurred during execution of the Report panel routine (including its child routines) when it was called from the parent routine. |
% Switches | This is the Switches value as a percentage of the sum of the Switches values displayed in the Parents grid. |
% with Children | This is the Switches with Children value as a percentage of the sum of the Switches with Children values displayed in the Parents grid. |
Notes
-
Though the columns in the Parents and Children panes have the same names that the Report columns have, the meaning of these values differ from the meaning of the Report panel values.
-
The Parents and Children tables may contain the <Root>, <JIT compiler> and <Garbage collector> routines. For more information on them, see Pseudo-Routines in Profiling Results.
-
You can arrange the Lines, Parents and Children tables in the Details panel as you wish. To do this, select Allow docking in Details from the context menu and then dock or undock the pages as you would dock or undock other AQTime panels. See Docking.
when conditions for the correct execution of this operation are not satisfied.
Replays may be caused by cache misses, store forwarding issues, etc.
Normally, certain number of replays always occur during the application
execution. However, a superfluous number of replays designates a
performance problem.
See Also
Performance Profiler - Call Tree Panel
About the Call Tree Panel
Results of the Routines Category