AQTime profilers can analyze application code at three levels of detail: class, routine and line.
Class Level
Areas of the class level are supported only by the Allocation and Reference Count profilers. These profilers track creation and deletion of objects whose class names were added to class-level areas. If you add a file or module to a class-level area, AQTime will track all objects whose classes are declared in this file or module.
Routine Level
You can create profiling and stack areas of the routine level:
-
If you create a routine-level profiling area, AQTime gathers profiling information for entire routines that were added to that area. For example, the Performance profiler will trace how many times the routines were called, how long they worked, etc.
-
Routine-level stack areas specify what routines should be included into call stacks.
Line Level
See how to profile individual source lines:
Line-Level Profiling With AQTime |
Areas of the line level can also be profiling and stack.
-
If you create a line-level profiling area, AQTime gathers information for each line of the source code within routines that were added to the area. For instance, for each source line, the Performance profiler will measure the execution time, the Hit Count value, etc. If you add a class or module to the line-level profiling area, all methods of this class or module will be profiled at the line level.
Line profiling requires information about lines in the source code. That is why to profile a .NET application at the line level, you must compile it with debug information. Metadata is not enough (See How AQTime Profilers Use Metadata and Debug Information for details).
- If you create a line-level stack area, AQTime collects the line number of a call for each routine in the area.