Understanding program structure and Strobe Pseudo-Entities
Strobe defines a program or subsystem as all instructions executed during task execution for an address space. It is a complex structure that includes:
- Instructions generated directly from user-coded source program statements during assembly or compilation
- Instructions that make up IBM-supplied library routines included in the user’s program load modules during linkage editing
- Instructions in the IBM-supplied operating system routines that perform required supervisory and support functions
Schematic Organization of a Program
The preceding figure contains a schematic representation of the structure of a simple program.
A complex batch processing program may be made up of many load modules invoked by one another during program execution. In the case of an online subsystem, the structure of each transaction processing program is similar to that shown in the preceding figure.
Strobe uses the following simplifications to make reports more concise and useful:
- Within a user program, Strobe attributes activity to a sequence of instructions that implement a source program procedure. When a DDIO file or Strobe Indexer is used, Strobe identifies the sequence of instructions by the programmer-assigned procedure name.
- Strobe treats library routines link-edited with a user program as procedures within library-specific pseudo-sections.
- Strobe treats IBM-supplied service modules as procedures within function-specific pseudo-sections. Function-specific pseudo-sections, in turn, are treated as components of the pseudo-module .SYSTEM.
Pseudo-Activity | Description |
---|---|
.FILEMGT | Catalog and index searches; open, close, and end-of-volume processing; other data management activities, such as execution of certain supervisor calls and execution of access method modules (module names beginning with IGG) when the file being processed cannot be identified (as with some BDAM and ISAM modules); and file access activities performed by IOS drivers that Strobe does not recognize. |
Pseudo-Module | Description |
.SYSTEM | Supervisor functions. The resource usage is attributed to the component pseudo-sections of this pseudo-module, as defined below. |
Pseudo-Section | Description |
.ADABAS | Adabas database activity (module names beginning with ADA). |
.ADASQL | Adabas SQL Server statements (module names beginning with ESQ). |
.AMBLIST | List service aid activity (module names beginning with AMB). |
.AMS | Activity in Access Method Services modules (module names beginning with IDC). |
.APPC | Activity in Advanced Program-to-Program Communication (APPC) scheduler modules (module names beginning with ASB and ATB). |
.C370LIB | IBM C/370 modules (module names beginning with EDC and EDS). |
.CDSA | Activity within the CICS dynamic storage area storage pool that is not within an identifiable module. |
.CICS | CICS modules (module names beginning with DFH). |
.CLB3 | Activity in C++ DLL routines. |
.COBLIB | COBOL library modules (module names beginning with IGZ, IHD, or ILB). |
.COMMON | Activity in the system common area, including the CSA, system queue area, and link pack areas. |
.COMMONG | Activity in the high-virtual common area above the 2-gigabyte address bar that Strobe cannot otherwise identify, such as, code moved to a memory object acquired by an IARV64 REQUEST=GETCOMMON. |
.COMMONX | Activity in the extended system common areas above the 16-megabyte address line, including the CSA, system queue area, and link pack areas. |
.COMPRES | Cumulative mean service time for CICS resources and commands that is less than the specified baseline. |
.COMSERV | Communications server for OS/390 activity (module names beginning with EZA, EZB, EZY, EZZ, and IKT). |
.DB2 | Db2 modules (module names beginning with DSN) that are performing Db2 services execution or SQL execution within Db2 for the measured address space. |
.DELAY | Mean service time when a CICS mirror or user transaction is ready to execute but the MVS task control block on which it needs to run is servicing another transaction. |
.DMS | Display Management Service modules (module names beginning with DMX). |
.DSA | Identifies activity within the CICS dynamic storage area storage pool that is not within an identifiable module. |
.DSM | Distributed Security Manager for MVS activity (module names beginning with EXR, EXS and FMH). |
.ECDSA | Activity within the extended CICS dynamic storage area storage pool that is not within an identifiable module. |
.EDSA | Activity within the CICS extended user dynamic storage area storage pool that is not within an identifiable module. |
.EMULATE | Emulation modules (module names beginning with IIP, IIQ, IIR, or IIS). |
.ERDSA | Activity within the CICS extended read-only dynamic storage area storage pool that is not within an identifiable module. |
.ESDSA | Activity within the CICS extended shared dynamic storage area storage pool that is not within an identifiable module (for CICS V4.1). |
.EUDSA | Activity within the CICS extended user dynamic storage area storage pool that is not within an identifiable module. |
.FETCH | Identifies activity within program Fetch. |
.FORTLIB | FORTRAN library modules (module names beginning with AFB, IHC, IHO, IFY, or IHN). |
.GTF | Activity in Generalized Trace Facility (GTF) modules (module names beginning with AHL). |
.HFS | Wait within Hierarchical File System (HFS) or Hierarchical File System (HFS) Adapter files. |
.HPJ | Activity within High Performance Java modules. |
.IAM | Modules supporting Innovation Access Method (IAM). |
.IDMS | CA-IDMS modules (module names beginning with IDMS or RHDC). |
.IEFLIB | CA Gen run-time library modules (module names beginning with TIR). |
.IGW | Activity in OS/390 System Services file management routines. |
.IMS | IMS modules (module names beginning with DFS, DBF, or DLZ). |
.IOCS | Access method modules (module names beginning with IGG or IEC), such as GET and PUT modules. |
.INVALID | Invalid characters found in module names. |
.IPCS | Activity in Interactive Problem Control System modules (module names beginning with BLR and BLS). |
.IRB | Asynchronous I/O error-recovery routines (routines executed under the control of an IRB). |
.IRLM | Internal resource lock manager (module names beginning with DXR). |
.ISG | Activity in Global Resource Serialization (GRS) modules. |
.JAVA | Activity for the JVM (Java Virtual Machine) runtime. |
.JAVAG | Activity for the JVM (Java Virtual Machine) runtime above the 2-gigabyte address bar. |
.JES2 | Job Entry Subsystem 2 activity (module names beginning with HAS, IAS, and IAZ). |
.JES3 | Job Entry Subsystem 3 activity (module name s beginning with IAT). |
.LELIB | LE/370 library modules (modules beginning with CEE). |
.LKD/LDR | Linking and loading modules (module names beginning with IEW). |
.LOKWAIT | Indicates that the suspended task cannot acquire a lock on a requested resource. |
.MEDIAMG | Media Manager modules (module names beginning with ICY). |
.MQSRIES | Activity in MQSeries modules. |
.NATNUC | Activity in the Natural nucleus (module names beginning with ACM, NAT, NCI, and NDB). |
.NFSS | Activity in network file system server (NFSS) modules (module names beginning with GFSA). |
.NONCICS | Mean service time that a CICS transaction is suspended by a resource manager interface (RMI) such as a subsystem interface. Mean service time is reported under this pseudo-section when the associated Strobe option is not installed. |
.NOWORK | The amount of wait attributed to the CICS dispatcher waiting for new work (transactions) to process. |
.NUCLEUS | Activity in the MVS nucleus, generally branch-entered by the target program. |
.NUCLEUX | Activity in the MVS supervisor above the 16-megabyte address line. |
.PATHNME | Activity in system services or user modules with names that exceed eight characters but for which Strobe could not identify a module name. |
.PL/ILIB | PL/I library modules (module names beginning with IBM, IHE, or IEL) and VisualAge Pl/I modules. |
.PRIVATE | Activity in the private area that Strobe cannot otherwise identify, such as code moved to an area acquired by a GETMAIN. |
.PRIVATG | Activity in the high-virtual private area above the 2-gigabyte address 'bar' that Strobe cannot otherwise identify, such as, code moved to a memory object acquired by an IARV64 REQUEST=GETPRIVATE. |
.PRIVATX | Activity in the extended private area above the 16-megabyte address line that Strobe cannot otherwise identify, such as code moved to an area acquired by a GETMAIN. |
.PSA | Activity in the Prefixed Storage Area. |
.RACF | Resource Access Control Facility (RACF) activity (module names beginning with ICH and IRR). |
.RDSA | Activity within the CICS read only dynamic storage area storage pool that is not within an identifiable module. |
.REXX | Activity in REXX Language modules (module names beginning with IRX). |
.RMF | Resource Measurement Facility activity (RMF) (module names beginning with AMS and ERB). |
.RUCSA | Activity in the restricted user common service area which requires security authorization. |
.RUCSAX | Activity in the restricted user common service area above the 16-megabyte address line which requires security authorization. |
.SADMP | Stand-alone dump activity (module names beginning with AMD). |
.SDSA | Activity within the CICS shared dynamic storage area storage pool that is not within an identifiable module. |
.SHAREDG | Activity in the high-virtual shared area above the 2-gigabyte address 'bar' that Strobe cannot otherwise identify, such as, code moved to a memory object acquired by an IARV64 REQUEST=GETSHARED. |
.SMP | System Maintenance Program activity (module names beginning with AMA and BCN). |
.SMS | Activity in System Managed Storage (SMS) modules. |
.SORT | Sort modules (module names beginning with ICE, IER, IGH, or SYN). |
.STROBEC | Activity in the extended private area below the 16-megabyte address line associated with the Strobe capture facility routine. |
.STROBEX | Activity in the extended private area above the 16-megabyte address line associated with the Strobe capture facility routine. |
.SUPERVS | Supervisor Services activity (module names beginning with IGC). |
.SVC | Modules invoked by supervisor calls, that is, routines executed under control of a Supervisor Request Block (SVRB), such as GETMAIN, FREEMAIN, OPEN, CLOSE. |
.TCAM | Telecommunications Access Method modules (module names beginning with IED). |
.TSO | Time Sharing Option (TSO) and Time Sharing Option/Extended (TSO/E) activity (module names beginning with ADF, CHS, END, ICQ, IGX0, IHASU, IKJ, INM, IRX, JBB, and SGIK). |
.UDSA | Activity within the CICS user dynamic storage area storage pool that is not within an identifiable module. |
.UNNAMED | Activity in modules whose names contain unprintable characters. |
.USERTASK | The amount of wait attributed to CICS-managed tasks waiting for an event to complete. Examples of events include data set I/O, program loads, and timer expiration. |
.USS | Activity in OS/390 UNIX System Services support routines (module names beginning with BOP, BPX, FOM, and FSUM). |
.VLF | Virtual Lookaside Facility activity (module names beginning with COF). |
.VSAM | Virtual Storage Access Method modules (module names beginning with IDA). |
.VTAM | Virtual Telecommunications Access Method modules (module names beginning with IST). |
.WAS | WebSphere Application Server modules. |
WLM | Workload Manager (WLM) activity (module names beginning with IWM). |
.XES | Activity in coupling facility service routines for cross-system data sharing in a sysplex environment (module names beginning with IXL). |
.xx-TCB | Always associated with.DELAY, xx identifies the dispatcher mode task control block that has been requested. |
.XMEMORG | Activity in the high-virtual area of another address space above the 2-gigabyte address bar that Strobe cannot otherwise identify; generally, code moved to a memory object acquired by an IARV64. |
.XMEMORX | Activity in the extended private area of another address space above the 16-megabyte address line that Strobe cannot otherwise identify; generally, code moved to an area acquired by a GETMAIN. |
.XMEMORY | Activity in the private area of another address space that Strobe cannot otherwise identify; generally, code moved to an area acquired by a GETMAIN. |