The Function Trace profiler organizes results into two categories: Routines and Call Trace. When the Call Trace category is active, the Report panel contains results for each routine call. Which values are displayed also depends on the counter that was used for profiling.
Columns That Do Not Depend on the Active Counter
Columns (in alphabetical order) | Description |
---|---|
Analysis Result | Specifies if the routine was instrumented or not. If the routine was instrumented, this column is empty. Otherwise, the column displays a short description why the routine was not instrumented:
Less than 5 bytes - The routine occupies less than 5 bytes in memory (for 32-bit applications). See Profiling Small Functions. Less than 6 bytes - The routine occupies less than 6 bytes in memory (for 64-bit applications). See Profiling Small Functions. No line info - The routine was added to a line-level area, but debug information does not contain info about routine lines. These routines can be profiled only at the routine level. Unsafe code - AQTime was not able to instrument the routine safely. This typically occurs when the binary code of the routine is intermixed with data areas. See Profiling Routines That Contain Unsafe Code. No ret instruction - The routine’s binary code does not contain the Duplicated code - The routine whose code coincides with code of another routine. To learn more about this, see Profiling Duplicated Code. |
Call No | The number of a single routine call. |
Class Name | If the routine is a method, name of the class it belongs to. |
Code Type | Specifies the routine's code type. The following values are possible:
|
Module Name | The name of the module which contains the profiled routine. |
Parent Name | Name of the routine that called the given routine. |
Routine Name | Name of the routine. |
Source File | Name of the source file for the method. 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 file’s line number where the routine’s implementation begins. The values for this column are read from the application’s debug info.
|
Unit Name | Name of the linkage unit containing the routine. This column is used only for unmanaged (native-code) routines. |
Columns That Depend on the Active Counter
Counters | Columns | Description |
---|---|---|
Elapsed Time, User Time, User+Kernel Time |
Time | Total time spent executing the routine’s code excluding child calls. The sum of all profiled methods appears in the footer of this column. |
Time with Children | Total time spent on calls to the routine including calls to child routines. The sum for all profiled routines is displayed in the footer of this column. | |
CPU Cache Misses | Misses | Total number of cache misses that occurred during execution of the routine’s code excluding child calls. The sum for all profiled routines appears in the footer of this column. |
Misses with Children | Total number of cache misses that occurred during execution of the routine (including its calls to child methods). The sum for all profiled routines is displayed in the footer of this column. | |
CPU Mispredicted Branches | Branches | Total number of branches that were mispredicted during execution of the routine’s code excluding child calls. The sum for all profiled routines appears in the footer of this column. |
Branches with Children | Total number of branches that were mispredicted during execution of the routine (including mispredictions in child methods). The sum for all profiled routines is displayed in the footer of this column. | |
Hard Memory Page Faults, Soft Memory Page Faults, All Memory Page Faults |
Faults | Total number of page faults that occurred during execution of the routine’s code (child calls are excluded). The sum for all profiled routines appears in the footer of this column. |
Faults with Children | Total number of page faults that occurred during execution of the routine (including page faults that occurred in child methods). The sum for all profiled routines is displayed in the footer of this column. | |
Split Load Replays, Split Store Replays, Blocked Store Forwards Replays |
Replays | Total number of replays that occurred during execution of the routine’s code (child calls are excluded). The sum for all profiled routines appears in the footer of this column. |
Replays with Children | Total number of replays that occurred during execution of the routine (including replays that occurred in child methods). The sum for all profiled routines is displayed in the footer of this column. | |
64K Aliasing Conflicts | Conflicts | Total number of aliasing conflicts that occurred during execution of the routine (including conflicts that occurred in child methods). The sum for all profiled routines is displayed in the footer of this column. |
Conflicts with Children | Total number of aliasing conflicts that occurred during execution of the routine (including conflicts that occurred in child methods). The sum for all profiled routines is displayed in the footer of this column. | |
Context Switches | Switches | Total number of context switches that occurred during execution of the routine’s code (child calls are excluded). The sum for all profiled routines appears in the footer of this column. |
Switches with Children | Total number of context switches that occurred during execution of the routine (including switches that occurred in child methods). The sum for all profiled routines is displayed in the footer of this column. |
Additional information about routines chosen in the Report panel is shown in the Details, Call Tree and Call Graph panels. Information displayed in the Call Tree and Call Graph panels help you trace the routine call hierarchy, whereas the Detail panel displays exact parameters passed to the selected routine. See column descriptions in the Call Trace Category topic.
See Also
Function Trace Profiler - Overview
Call Trace Category
Arranging Columns, Lines and Panels