How to Tell if a Program or Module is Profiled or Enabled for Collection
How to Tell if a Program or Module is Profiled or Enabled for Collection
How to Tell if a Program or Module is Profiled or Enabled for Collection
Use the Display Program (DSPPGM) or Display Service Program (DSPSRVPGM) commands, specifying DETAIL(*BASIC), to determine the program profiling data attribute of a program. The value of “Profiling data” will be one of the following values:
- *NOCOL - The program is not enabled to collect profiling data.
- *COL - One or more modules in the program are enabled to collect profiling data. This value does not indicate if profiling data was actually collected.
- *APYALL - Block order and procedure order profiling data are applied to this program. The collection of profiling data is no longer enabled.
- *APYBLKORD - Block order profiling data is applied to the procedures of one or more bound modules in this program. This applies to only the bound modules that were previously enabled to collect profiling data. The collection of profiling data is no longer enabled.
- *APYPRCORD - Procedure order program profiling data is applied to this program. The collection of profiling data is no longer enabled.
To have only procedure order profiling applied to a program:
- First profile it by specifying *APYALL or *APYPRCORD (which is the same as *APYALL).
- Then remove the *BLKORD observability and recreate the program.
To display the program profiling data attribute of a module bound within the program, use DSPPGM or DSPSRVPGM DETAIL(*MODULE). Specify option 5 on the modules bound into the program to see the value of this parameter at the module level. The value of “Profiling data” will be one of the following values:
- *NOCOL - This bound module is not enabled to collect profiling data.
- *COL - This bound module is enabled to collect profiling data. This value does not indicate if profiling data was actually collected.
- *APYBLKORD - Block order profiling data is applied to one or more procedures of this bound module. The collection of profiling data is no longer enabled.
In addition DETAIL(*MODULE) displays the following fields to give an indication of the number of procedures affected by the program profiling data attribute.
- Number of procedures - Total number of procedures in the module.
- Number of procedures block reordered - The number of procedures in this module that are basic block reordered.
- Number of procedures block order measured - Number of procedures in this bound module that had block order profiling data collected when block order profiling data was applied. When the benchmark was run, it could be the case that no data was collected for a specific procedure because the procedure was not executed in the benchmark. Thus this count reflects the actual number of procedures that were executed with the benchmark.
Use DSPMOD command to determine the profiling attribute of a module. The value of “Profiling data” will be one of the following. It will never show *APYBLKORD because basic block data can be applied only to modules bound into a program, never to stand-alone modules.
- *NOCOL - module is not enabled to collect profile data.
- *COL - module is enabled to collect profile data.