Coverage Profiler - Report Panel (Routines Category)

Applies to AQTime 8.81, last modified on May 21, 2021

When the Routines category is active in the Explorer panel, the Report panel shows profiling results for individual routines.

The panel contains the following columns:

Columns (in the alphabetical order) Description
Address Routine’s address in memory. This column is used for unmanaged (native-code) routines only.
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 contains no 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 routine's binary code is intermixed with data areas. See Profiling Routines That Have Unsafe Code.

No ret instruction - The routine’s binary code does not contain the ret instruction (this may happen if the routine finishes with the jmp instruction). See Profiling Routines That Do Not Have the ret Instruction.

Duplicated code - The routine whose code coincides with the code of another routine. To learn more about this, see Profiling Duplicated Code.

Class Name If the routine is a method, the name of the class it belongs to.
Code Type Specifies the type of the routine's code. The following values are possible:
  • MSIL - Managed-code routine with MSIL (Microsoft Intermediate Language) code.
  • x64 - 64-bit code routine.
  • x86 - Native-code (unmanaged) routine.
  • Pseudo - Pseudo routine that was created by the context. For example, <JIT Compiler>, <Garbage Collector>, <Unknown PInvoke> or <Root>.
  • PInvoke - Native-code routine for which there is a declaration in one of managed modules and that is called from within the unmanaged code.
  • NGen - Managed routine that was compiled by the ngen utility (CLR Native Image Generator) with the /prof argument in its command line. The ngen compilation means the routine was compiled before the application starts.
  • Script - The routine belongs to a script that was profiled along with the host application. See Profiling Scripts - Overview for details.
  • Byte-code - Java routine that was compiled into an intermediate byte-code format. See Profiling Java Applications for details.
Hit Count The number of routine calls that were profiled. See also Skip Count. The total number of times the routine was executed is determined as Hit Count + Skip Count.
Lines Covered Specifies the number of the routine’s source lines that were executed during the profiler run.
Lines Uncovered Specifies the number of the routine’s source lines that were not executed during the profiler run.
Note: According to the Mark partially executed lines as option, partially executed lines can be counted either as executed or as non-executed. If the routine was profiled at the routine level, AQTime considers all lines of this routine executed (if the routine was called) or unexecuted (if the routine was not called).
Mark Specifies if the routine was executed or not during the profiler run.

If the routine was profiled at the routine level, Mark contains a green dot if the method was executed or a red dot if the method was not executed.

If the method was profiled at the line level, Mark contains a green dot if all lines of the method were executed, a red dot if no line of the method was executed, a yellow dot if some lines were executed and some were not.

Module Name The name of the module which contains the profiled routine.
Namespace Namespace of the method’s class (this column is used only for managed routines).
Routine Name The name of the routine.
Skip Count The number of times the routine was excluded from the profiling because the profiling status was off (this can be, for example, the number of times the routine was affected by an off-trigger or the number of times the routine was executed when the Enable/Disable Profiling button was not pressed). See also Hit Count. The total number of times the routine was executed is determined as Hit Count + Skip Count.
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 The source file’s line number where the routine’s implementation begins. The values for this column are read from the application’s debug info.
Token The routine’s token. This column is used only for managed routines.
Total Lines The total number of source code lines in the routine.
Unit Name Name of the linkage unit that contains the routine. This column is used for unmanaged (native-code) routines only.
% Covered The percentage of covered lines against the total number of lines in the routine. Partially executed lines are counted according to the Mark partially executed lines as option value.

See Also

Coverage Profiler - Report Panel
About the Report Panel
Results of the Routines Category

Highlight search results