Run Time Instrumentation report
RTI options section
The RTI options section displays the default RTI configuration. These options are fixed and cannot be changed. For example:
*********************************************************************************
* RTI options 2020/03/02 14:23:04 *
*********************************************************************************
SCALING-FACTOR=0000500000
ANALYSIS-MODE=1, PDF-MODE=0, VERBOSE=0
BUF-SIZE=0000001024, #BUFS=0000000004, TIMER-INTERVAL=0000000050
********************************************************************************
Module info section
Detailed module information is displayed next. This information includes the module name (specified by MJNAME), address, and length and other information on the content of the module. For example:
********************************************************************************
* Module Info *
********************************************************************************
QUERYING MODULE INFO: ADDR=X'26EA5154'
CSVQUERY: RC=00, VALID=X'573C0800'
MJNAME=COBMOD
EPTKN=X'000003B703E8003B'
EPA=X'26EA4C48'
EXTENT=X'0001', ADDR=X'26EA4C48', LEN=X'000013B8'
ATTR1=X'08'
ATTR2=X'10'
ATTR3=X'C0'
XATTR1=X'00'
PID=PGMF
DIAG=X'7F6E4F48'
MJNAME=COBMOD , EPADDR=X'26EA4C48'
EXTENT=X'0001', ADDR=X'26EA4C48', LEN=X'000013B8'
OPENING BINDER INTERFACE
CLASS=B_TEXT , SEG=X'0001', LOAD=X'0', OFF=X'00000000', LEN=X'000013B8'
CLASS=B_MAP , SEG=X'0001', LOAD=X'2', OFF=X'00000000', LEN=X'00000000'
...
SEG=X'0001' => EXTENT=X'0001'
********************************************************************************
* List of CSECTs processed for module COBMOD *
********************************************************************************
COBMAIN: Enterprise COBOL V4 , VER=42, MOD=00, PID=5655S7100
TYPE=B_TEXT , OFF=X'00000000', LEN=X'00000988'
ADDR=X'26EB6A30'-X'26EB73B7'
COBMAIN: Automatic Binary Optimizer, VER=13, MOD=00, PID=5697-AB1
SUB1: Enterprise COBOL V4 , VER=42, MOD=00, PID=5655S7100
TYPE=B_TEXT , OFF=X'00000670', LEN=X'00000C26'
ADDR=X'26900670'-X'26901295'
CEESTART: HIGH-LEVEL ASSEMBLER , VER=01, MOD=06, PID=569623400
TYPE=B_TEXT , OFF=X'00001F00', LEN=X'000000B0'
ADDR=X'26901F00'-X'26901FAF'
...
Each entry in the CSECT list represents CSECT details in the format:
Module name: Translator name, Major and minor version, mod level, PID
There are also additional data provided, such as CSECT offset (OFF
) in the
module, length (LEN
) of the CSECT, and the loaded address (ADDR
)
of the CSECT.
Note that some CSECTs may have been translated by more than one product, in which case an additional entry appears one for each translator used. In this example, there are two entries for the CSECT COBMAIN – one for Enterprise COBOL V4 and another for ABO. This indicates that COBMAIN is the ABO optimized version of a program originally compiled by Enterprise COBOL V4.
If no translator name is available then a dash sign (-) is displayed in the translator name field, but the PID of the translator product is always displayed.
Summary report section
A high-level summary report section is displayed next, which includes a summary report by language subsection and a summary report by module subsection. This section is useful for obtaining an overall view of CPU performance without having to drill down into the detailed profiling information per CSECT.
********************************************************************************
* Summary report 2020/03/02 14:23:18 *
********************************************************************************
* CPU TIME 00:00:56.30 *
********************************************************************************
#TOTAL SAMPLES=0000000000012450, #MAPPED SAMPLES=0000000000011946
********************************************************************************
* Summary report by language *
********************************************************************************
Language | Number Of Samples | % TOTAL
COBOL | 32724 | ( 100.00% )
Application | 12 | ( 0.03% )
LE | 32712 | ( 99.96% )
PLI | 0 | ( 0.00% )
C/C++ | 0 | ( 0.00% )
Java | 0 | ( 0.00% )
********************************************************************************
* Summary report by module *
********************************************************************************
MODULE=COBMOD, EPADDR=X'26B2E8E0', #SAMPLES=0000000000011946, ( 93.55% )
CSECT Name | StartADDR | Number Of Samples | % of COBMOD | % TOTAL
COBMAIN | X'26B954F8' | 10234 | ( 85.67% ) | ( 82.20% )
SUB1 | X'26B96D18' | 1203 | ( 10.07% ) | ( 9.66% )
SUB2 | X'26B97100' | 507 | ( 4.24% ) | ( 4.07% )
RICHK | X'26B81B28' | 2 | ( 0.02% ) | ( 0.02% )
MODULE=IGZCPAC, EPADDR=X'27239318', #SAMPLES=0000000000000430, ( 3.45% )
CSECT Name | StartADDR | Number Of Samples | % of IGZCPAC | % TOTAL
IGZCXDI | X'27196F78' | 267 | ( 62.09% ) | ( 1.87% )
IGZCXMU | X'272411B0' | 163 | ( 37.91% ) | ( 1.33% )
MODULE=MODC, EPADDR=X'270FCA30', #SAMPLES=0000000000000074, ( 0.59% )
********************************************************************************
RTI reports the CPU time of a program it running with after the words CPU TIME in format
hh:mm:ss.th
All numeric values in the profiling report are displayed in either decimal or hexadecimal. All hexadecimal values in the profiling output are indicated by wrapping the number in the X` ` notation. If the value is not wrapped in the X` `notation, then it is in a decimal representation. All the samples values in the profiling report are in decimal.
A larger number of samples attributed to a particular module or CSECT means a higher relative amount of CPU time is spent in these parts of the application when it ran.
The percentage values provided per module (for example, 93.55% for MODULE=COBMOD) are the total number of samples found for this module out of the overall TOTAL SAMPLES.
The percentage values provided per CSECT (for example, 62.09% for CSECT IGZCXDI) are the number of samples found for this CSECT out of the overall SAMPLES found for only the particular module where this CSECT is contained (MODULE=IGZCPAC in this case).
Note that it is normal and expected to see CSECT names starting with the RI prefix (such as RICHK in this example) in the profiling report. These RI* CSECTs are part of the RTI program modules bound into the modules using RTIBIND and they are used to manage the profiling and report collection. The samples attributed to these RI* CSECTs will be very low as the profiling overhead using the RTI profiler is negligible.
Sampling tables section
This next section provides a detailed per CSECT breakdown that shows the samples attributed to the CSECT offsets.
A samples count is shown for an offset if at least one sample was attributed to this offset. The offsets are sorted in increasing order and match those found in the compiler or optimizer listing file.
********************************************************************************
* Sampling tables *
********************************************************************************
MODULE=IGZCPAC , EXTENT=X'0001', #SAMPLES=0000000000000430
CSECT=IGZCXDI, #SAMPLES=0000000000000267
TABLE=X'26D970B0'
SIZE=X'00000048', ALIGN=X'00000002', #ENTRIES=0000000082
Offset | Number Of Samples |
X'00000000' | 25 |
X'00000028' | 10 |
X'0000002C' | 3 |
X'0000002E' | 12 |
X'00000032' | 38 |
X'00000040' | 8 |
X'00000048' | 32 |
...
MODULE=COBMOD , EXTENT=X'0001', #SAMPLES=0000000000011946
CSECT=COBMAIN, #SAMPLES=0000000000010234
TABLE=X'26EB51A0'
SIZE=X'00000077', ALIGN=X'00000002', #ENTRIES=0000000006
Offset | Number Of Samples |
X'000004E2' | 1 |
X'000004EC' | 1 |
X'000004F8' | 2 |
X'00000506' | 121 |
X'0000050C' | 411 |
X'0000051A' | 234 |
X'0000051E' | 34 |
...
Module locations section
For each module profiled by RTI, this section provides information about the module locations. Such as, the module entry point address, followed by the name of the data set from which the module was loaded for execution, followed by the volume serial number where the data set is located.
********************************************************************************
* Module locations *
********************************************************************************
Module | EPADDR | DSNAME | VOLSER
IGZCPAC | X'26B2E8E0' | SYS2.CEEZ220.SCEERUN | SYS004
IGZXLPKA | X'27239318' | SYS2.CEEZ220.SCEERUN | SYS004
IGZOLPA | X'2710C390' | N/A | N/A
COBMOD | X'270FCA30' | USER1.OPTLOAD3 | PROD79
COBOL1 | X'27105000' | USER1.INLOAD | TEST0A
********************************************************************************
The STEPLIB data set concatenation is searched first for the module location. If not found in the STEPLIB, then the JOBLIB data set concatenation is searched. If the module is not found in these concatenations, then its data set and volume names are marked as N/A (not available).
Report totals section
At the bottom of the RTI report, the sum totals for the internal state used to store and process the RTI data are displayed.
List=0000004192 bytes, ListEntry=0000032053 bytes
SamplingTable=0001101276 bytes, SamplingEntry=0000028080 bytes
#ListEntries=0000000517, #SamplingEntries=0000001404
RIBuffers=0004194304 bytes