Program Usage by Procedure report
The Program Usage by Procedure report details the time the CPU spent executing code within each area of each control section of each module of the program or subsystem. The report is ordered alphabetically by module and, within module, by control section. Examine this report when the Program Section Usage Summary or the Most Intensively Executed Procedures reports show a concentration of CPU use. This report normally appears in two formats: a report formatted for system modules and a report formatted for user-written modules.
Program Usage by Procedure Report for System Modules
Reports for System Modules
This report shows CPU usage for all system service routines under the pseudo-module .SYSTEM.
A report for a system module begins with a header line that shows the pseudo-module (.SYSTEM) and the pseudo-section, with a description of its function.
Detail lines show:
- MODULE NAME, the true module name or an SVC identified by number.
- SECTION NAME, the control section name (if Strobe obtained one during sampling).
- FUNCTION, the function descriptor of the control section (if available) or the function descriptor of the module. Function descriptors do not appear for Strobeoptions not installed at your site.
Reports for User-Written Modules
A report for a user-written module begins with a header line that contains the following:
- MODULE, the name of the module
- SECTION, the control section name (if Strobe obtained one during sampling)
- FUNCTION, the function descriptor of the control section, if the Strobe system programmer has supplied one.
This report groups compiler library routines included in the target program or subsystem by library under a pseudo-section name that corresponds to its function.
Program Usage by Procedure Report for User-Written Modules
SOURCE LANGUAGE
The name of the language in which the section was programmed, such as ANSI COBOL VS. The value appears if you provided a DDIO file or map data set for the control section.
Control Code
The level number of the compiler and the generation of the StrobeIndexer used to produce the map data set. The code is given in the format VCvcXgg, where vc indicates the level number of the compiler and gg indicates the level of the StrobeIndexer used to produce the map data set. If you provided a map data set for the control section, this code appears at the far right of the subheading.
Procedure Identification for Indexed Control Sections
If a control section has been indexed, the report also shows:
- LINE NUMBER, the number assigned by the compiler to a line in the source program
- PROCEDURE NAME, a label derived from the source program that identifies the subsequent statement or statements
The rules for identifying procedures in this report depend on source language and are specified in Indexed Source Performance Profiles. This information guides you to the compiled source listing, so that you can analyze alternatives for ways to code procedures that invoke a high percentage of CPU resources.
STARTING LOCATION
The first storage location of the area, relative to the beginning of the control section, expressed in hexadecimal notation.
INTERVAL LENGTH
The length in bytes of the area covered by the entry line, expressed in decimal notation.
CPU TIME PERCENT
CPU time for each area as a percentage of all CPU time used within the address space. Each detail entry records the solo and total CPU time attributable to an area of code identified by line number and procedure name. There are two measures of CPU time:
- SOLO shows activity without any concurrent I/O activity for the target program or subsystem.
- TOTAL shows activity with or without concurrent I/O activity.
Totals for solo and total CPU time are presented after the detail entries for each control section. These totals appear in the Program Section Usage Summary report.
CPU TIME HISTOGRAM
The intensity of CPU usage within neighboring areas of each procedure. Solo CPU time is indicated by the asterisk symbol (*). The remaining CPU time is indicated by the plus symbol (+). If the report combines some areas because they are inactive, the hyphen symbol (-) precedes the histogram line. Spikes, or lengthy lines in the histogram, highlight procedures with a high proportion of activity.
MARGIN OF ERROR
The margin of error for CPU time percentages. This value also appears in the CPU MARGIN OF ERROR PCT field on the Measurement Session Data report. (See CPU MARGIN OF ERROR PCT.)