Selecting Measurement Types for Individual Modules

Related Topics

 

1.    Open the Default Settings or Executable Settings dialog box, or click Settings in the Run Program dialog box.

The Default Settings dialog box always contains all the fields mentioned in this procedure. The Settings for <exename> dialog box, however, displays them only if you are monitoring native-compiled (unmanaged) code.

2.    Select the PowerTune tab.

3.    Select All Modules for inclusive instrumentation.

4.    Click the active Configure button to select measurement types for specific modules.

5.    Select one or more modules in the Module list.

6.    Select whether to measure functions in the selected modules using the default, line, function, or time measurement type.

7.    Click OK, and then click OK in the Settings dialog box.

Notes:

§      These instructions apply only if you are using inclusive instrumentation, and profiling native-compiled code. If you are using selective instrumentation, read Selecting Specific Modules for Instrumentation for information about selecting measurement types. If you are profiling .NET managed code, read Selecting Specific Classes for Instrumentation.

§      Click images\modnew.gif to select modules to add to the Module Instrumentation dialog box. For example, select explicitly loaded modules (such as LoadLibrary files) that Quantify isn't aware of until run time.

§      Click images\moddel.gif to remove selected modules from the Module Instrumentation dialog box. If you remove any modules that the current program requires to run, Quantify will instrument those modules using the appropriate default measurement type.

§      Click images\modreset.gif to reset measurement types to Quantify's defaults.

§      In the Module list, parentheses indicate default measurement types, as specified in the settings dialog boxes. For example, if Time all modules in Windows directories is selected in the PowerTune tab, then the measurement type for those modules appears within parentheses. Or if the program uses modules whose measurement types are specified in the Default Settings dialog box, those modules' measurement types appear within parentheses.

§      Quantify always times functions in system modules. The measurement type for these modules appears as (System) and cannot be changed. The system DLL Kernel32.dll is an example.

§      Certain DLLs that are injected into multiple processes using SetWindowsHook are excluded from measurement and appear with a measurement type of Exclude.

§      If you choose to time functions in an executable, the only data Quantify includes for the executable is the .exe's entry point. The entry point's function time includes the function time of the other functions in the .exe.

§      Quantify uses debug line information to collect line-by-line performance data. If debug line information is not available for a module, Quantify times that module.

§      For native-compiled (unmanaged) programs, Quantify also requires relocation data to collect data at line or function level. If relocation data is not available for an .exe, Quantify times the functions. Quantify identifies programs that do not contain relocation data by adding (No Relocs) after the executable name in the Module Instrumentation dialog box.

§      For a DLL, only data for exported functions is recorded. Time for internal, non-exported functions is attributed to the calling exported functions.

§      For changes to a module's measurement type to take effect, you must reinstrument the module and rerun the program.

(C) Copyright IBM Corporation 1993, 2009.