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

image2022-11-4_14-45-19.png

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.

Note

For all module or section names that exceed eight characters, Strobe generates a token, which is an eight-byte identifier. The token comprises the first four characters of the module or section name followed by a hyphen (-) and then the last three characters of the name. See Token - Longname Cross Reference report to reconcile all tokens with their long names.

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

image2021-2-3_16-47-29.png

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.

Note

Specifying the PUBP parameter when you create the Performance Profile combines values for control sections that use less than a given percentage of CPU time and can significantly shorten the length of the report that you need to review.

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.

Note

Specifying the PUBP parameter when you create the Performance Profile suppresses the histogram for combined lines.

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.)

 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*