Go to Home Page
Questions?
Call 1-800-572-5517
 
  Go to Home Page  
  See all products
  See price schedules
  See manuals, tutorials, articles
  Download a free 30-day trial
  See user testimonials
  About Pacific Systems Group
 
 
SMF Tools
  See SMF Record Layouts
  See Sample SMF Reports
  Learn How to Export SMF Data
  Download Free SMF Reporting Software (30 days)
 
One of the greatest SMF record parsing programming languages I've ever seen. Chief, Large Systems Services Branch, NIH
  Choose Spectrum Writer to add 4GL to your product
  Free 60-Page Book (PDF) - How to Make an SMF Report
Spectrum DCOLLECT Reporter - the 4GL DCOLLECT Report Writer.

Spectrum SMF Writer - the 4GL SMF Report Writer.

SMF Type 89 Record

This table shows the record layout for type 89 SMF records
(RACF Usage - z/OS 1.10).

List of other SMF record layouts available.
List of sample SMF reports.

Purpose: The type 89 record provides information about product usage on a particular MVS system. For more information see z/OS MVS Product Management. The record is generated on a scheduled interval (1 hour maximum).

Record type 89 has two subtypes:

  • Subtype 1 Usage Data

    Contains, for the scheduled interval, summary usage data for all products across the system that have registered to request usage recording. These products must issue the IFAUSAGE macro to specify:
    – Registration information.
    – Level and scope of data collection (task or address space level).
    – Start and end of collection period.

  • Subtype 2 State Data

    Contains, for the scheduled interval, summary state data for all products across the system that have registered to indicate that they are running. These products issue the MVS Register service to indicate that they are running. MVS uses information a product supplies to determine if the product is enabled and to maintain a list of active products.

The installation controls the scheduling of the type 89 record by checking the INTERVAL value specified for the SMF address space. Because SMF is a started task, this is the INTERVAL value for SUBSYS=STC in the SMFPRMxx member. If the INTERVAL value is less than or equal to one hour, then that value is used as the reporting interval for type 89 records. If that value is greater than one hour, or if no INTERVAL value is specified, then one hour is used as the reporting interval for type 89 recording.

There are two sets of interval START and STOP times in the record:

  • Usage data interval START/STOP.
  • Reporting interval START/STOP.

The usage data interval represents the hourly buckets that the usage reporting program records product usage in. This interval is synchronized to the top of the hour.

The reporting interval represents the increment when the type 89 records are generated and is also synchronized to the top of the hour. For example, if you specified an interval value of 30 minutes, type 89 records would be generated at 9:00, 9:30, 10:00... If you are collecting usage data at the task level, you may want to synchronize interval processing to the top of the hour in your SMFPRMxx member because task level data collection is scheduled by interval processing.

SMF type 89 records are generated on the interval as requested; if no products are registered, then a type 89 record is generated with a product count of 0.

It's easy to report on SMF 89 data! (Jump to sample reports)

SMF Spectrum Writer
We have a low-cost 4GL report writer especially for SMF files. It's called Spectrum SMF Writer.

Spectrum SMF Writer handles the difficult SMF record parsing for you automatically. You just specify which fields you want to see.

Spectrum SMF Writer also converts the arcane date and time fields and reformats them into an attractive report.

Plus, Spectrum SMF Writer can export SMF data as comma delimited files to use on your PC.
 
Try It FREE Now!

SMF Type 89 Record -- RACF Usage - z/OS 1.10
Offset
(Dec.)
Offset
(Hex)
NameLengthFormatDescription
00SMF89LEN2binary
Record length. This field and the next field (total of four bytes) form the RDW (record descriptor word).
22SMF89SEG2binary
Segment descriptor (see record length field).
44SMF89FLG1binary
System indicator: Bit Meaning When Set 0-2 Reserved 3-6 Version indicators* 7 Reserved.
55SMF89RTY1binary
Record type 89 (X'59').
66SMF89TME4binary
Time since midnight, in hundredths of a second, that the record was moved to the SMF buffer.
10ASMF89DTE4packed
Date that the record was moved to the SMF buffer, in the form 0cyydddF.
14ESMF89SID4EBCDIC
System identification (from the SID parameter in the SMFPRMxx parmlib member).
1812SMF89WID4EBCDIC
Subsystem identifier for the SMF address space - ‘STC' for Started Task.
2216SMF89STP2binary
Record subtype 1 Usage Data Interval Record 2 State Data Interval Record
2418SMF89SDL4binary
Length of self-defining section - '28'
Self-Defining Section
This section contains the triplet fields (offset/length/number) that locate other sections on the record. This triplet information should be checked prior to accessing a section of the record. The ‘number’ triplet field is the primary indication of the existence of the field. This section is an extension of the header and follows it physically in the record.
(Offset from beginning of record: 28)
00SMF89PRO4binary
Offset to Record Product section from start of record, including the record descriptor word (RDW).
44SMF89PRL2binary
Length of Record Product section - ‘36’.
66SMF89PRN2binary
Number of Record Product sections - ‘1’.
88SMF89SIO4binary
Offset to System ID section from start of record, including the record descriptor word (RDW).
120CSMF89SIL2binary
Length of System ID section - ‘76’.
140ESMF89SIN2binary
Number of System ID sections on record - ‘1’.
1610SMF89UDO4binary
Offset to first Usage or State Data section from start of record, including the record descriptor word (RDW).
2014SMF89UDL2binary
Length of each Usage Data section (‘84’) or State Data section (‘68’).
2216SMF89UDN2binary
Number of Usage or State Data sections on record (minimum of ‘0’).
2418SMF89UDR4binary
Number of State Data sections remaining (or ‘0’ for Usage Data section)
Record Product Section
This section provides information about the type 89 record, the system, and the recording interval.
Triplet Information: This section is located in the record using the following triplet fields, which are located in the ‘self-defining’ section:
Offset SMF89PRO
Length SMF89PRL
Number SMF89PRN - This field is always ‘1’ because each type 89 record that is generated has one record product section.
(Offset from beginning of record: SMF89PRO)
00SMF89PNM8EBCDIC
Record product name - ‘SMF’.
88SMF89RVN4binary
Record version number - ‘1’.
120CSMF89OSL8EBCDIC
MVS system level (ie. ‘SP4.3.0’).
2014SMF89IST4binary
Reporting interval START Time (local, hundredths of a second from midnight). This field and SMF89IET define the recording interval. This is different from the usage data interval that is used to collect data into hourly buckets.
2418SMF89ISD4packed
Reporting interval START Date in the form 0cyydddF.
281CSMF89IET4binary
Reporting interval END Time (local, hundredths of a second from midnight). This field and SMF89IST define the recording interval. This is different from the usage data interval that is used to collect data into hourly buckets.
3220SMF89IED4packed
Reporting interval END Date in the form 0cyydddF.
3624SMF89PFL1binary

Bit Meaning When Set
0 reserved
1 Indicates that LICENSE=zNALC was specified in IEASYSxx. (SMF89ZNA)
2 - 7 reserved
3725--3binary
Reserved
4028SMF89HOF8binary
Hypervisor date/time offset in STCK format. When present, this field contains the sysplex timer offset value.
4836SMF89DTO8binary
Local data/time offset, copied from CVTLDTO.
System ID Section Triplet Information: This section is located on the record using the following triplet fields, which are located in the ‘self-defining’ section:
Offset SMF89SIO
Length SMF89SIL
Number SMF89SIN - This field is always ‘1’ because each type 89 record that is generated has one system ID section.
(Offset from beginning of record: SMF89SIO)
00SMF89SYN8EBCDIC
MVS system name (SYSNAME from IEASYSxx).
88SMF89UST4binary
Usage data interval START time (local, hundredths of a second from midnight). This will usually be an hour value (such as 01:00:00.00) except in the case of the first record during an IPL (which will report the “IPL” time). This is different from the recording interval which is used to report on the generation of the usage records. This field and SMF89UET define the hour ‘bucket’ that the usage data reflects.
120CSMF89USD4packed
Usage data interval START Date in the form 0cyydddF.
1610SMF89UET4binary
Usage data interval END time (local, hundredths of a second from midnight). This will usually be an hour value (such as 01:00:00.00). This field and SMF89UST define the hour ‘bucket’ that the usage data reflects.
2014SMF89UED4packed
Usage data interval END date in the form 0cyydddF.
2418--4binary
Reserved.
281C--4binary
Reserved.
3220SMF89CMN2packed
CPU model number.
3422SMF89CVN1binary
CPU version number.
3523SMF89LPI1binary
LPAR indicators: Bit Meaning When Set 0 The one digit LPAR ID contained in SMF89LP2 (bit 4) is valid (SMF89LPV) 1 The two digit LPAR ID contained in field SMF89LP3 is valid (SMF89LPM) 2 - 3 reserved 4-7 The one digit LPAR ID (X'0-F') (SMF89LP2)Notes: 1. For one digit LPAR IDs (X'0-F'), both SMF89LPV (bit 0) and SMF89LPM (bit 1) will be on and both SMF89LP2 (bits 4-7) and field SMF89LP3 will contain the LPAR ID. 2. For two digit LPAR IDs (greater than X'F'), SMF89LPM (bit 1) will be on, and SMF89LP3 will contain the LPAR ID.
3624SMF89SER1packed
CPU serial number.
3927SMF89LP31binary
LPAR ID.
4028SMF89RPP4binary
CPU relative processing power indicator
442CSMF89SPN8EBCDIC
Sysplex name (from the SYSPLEX parameter in the COUPLExx parmlib member).
5234SMF89CPT6EBCDIC
CPC type number (blanks if data is not available)
583ASMF89CPM3EBCDIC
CPC model number (blanks if data is not available)
613DSMF89CPS12EBCDIC
CPC sequence number (blanks if data is not available)
7349SMF89SIF1binary

Bit Meaning When Set
0 Field SMF89LPN is valid. (SMF89LNV)
1 - 7 reserved
744A--2binary
Reserved.
764CSMF89MNF16EBCDIC
V1-CPC manufacturer
925CSMF89TID4EBCDIC
V1-CPC type
9660SMF89MDL16EBCDIC
V1-CPC model
11270SMF89SQC16EBCDIC
V1-CPC sequence code
12880SMF89POM4EBCDIC
V1-CPC plant of manufacturer
13284SMF89CPC4binary
CPU capability
13688SMF89CCC2binary
Configured CPU count
1388ASMF89SCC2binary
Standby CPU count
1408CSMF89MAF30binary
Array of multiprocessing CPU capability adjustment factors
170AASMF89LPN8EBCDIC
LPAR name when SYSIB 2.2.2 is valid, when returned by the STSI instruction (such as when running under z/VM). Bit SMF89LPV is on when the field is valid. Avoid looking at this field unless SMF89LNV is on.
Subtype 1 — Usage Data Section
This section contains the product information (specified on the IFAUSAGE REGISTER request) and the usage data that has been collected for the interval specified by the start and end times (SMF89UST and SMF89UET) for that product.
There will be one usage data section for each unique product identification (specified by owner, name, version, qualifier) that is actively registered for any part of that specified interval. The data reported will be accumulated for ALL address spaces that had any interaction with the product.
Triplet Information: This section is located on the record using the following triplet fields, which are located in the ‘self-defining’ section:
Offset SMF89UDO
Length SMF89UDL
Number SMF89UDN
(Offset from beginning of record: SMF89UDO)
00SMF89UPO16EBCDIC
Product owner or vendor name (specified on the PRODOWNER option of the IFAUSAGE macro).
1610SMF89UPN16EBCDIC
Product name (specified on the PRODNAME option of the IFAUSAGE macro).
3220SMF89UPV8EBCDIC
Product version (specified on the PRODVERS option of the IFAUSAGE macro).
4028SMF89UPQ8EBCDIC
Product qualifier (specified on the PRODQUAL option of the IFAUSAGE macro).
4830SMF89UPI8EBCDIC
Product ID number (specified on the PRODID option of the IFAUSAGE macro).
5638SMF89UCT8long
floating point Product TCB time (in hundredths of a second).
6440SMF89USR8long
floating point Product SRB time (in hundredths of a second).
7248SMF89UFG1binary
Usage entry flags Bit Meaning When Set 0 Unauthorized register 1-7 Unused
7349--2binary
Reserved.
754BSMF89URT1binary
Data format of value in SMF89URD (specified on the FORMAT option of the IFAUSAGE macro FUNCTIONDATA request). 0 No data specified 1 CPU Time in long floating point (in hundredths of a second). 2 Binary (64-bit) 3 long floating point
764CSMF89URD8BIN
Product specific resource data (specified by the data option of the IFAUSAGE macro FUNCTIONDATA request). SMF89URT identifies the format of the data in this field.
Subtype 2 — State Data Section
This section contains the product information (specified on the MVS Register service or in the IFAPRDxx parmlib member) and the state data that has been collected for the interval specified by the start and end times (SMF89UST and SMF89UET) for that product.
There will be one state data section for each unique product identification (specified by owner, name, feature, version, release, and modification level) registered for any part of the interval.
Triplet Information: This section is located on the record using the following triplet fields, which are located in the ‘self-defining’ section:
Offset SMF89UDO
Length SMF89UDL
Number SMF89UDN
00SMF89T2ProdOwner16EBCDIC
Product owner or vendor name (from the prodowner parameter on the Register service or the OWNER field on the PROD statement in IFAPRDxx).
1610SMF89T2ProdName16EBCDIC
Product name (from the prodname parameter on the Register service or the NAME field on the PROD statement in IFAPRDxx).
3220SMF89T2FeatureName16EBCDIC
Feature name (from the featurename parameter on the Register service or the FEATURENAME field on the PROD statement in IFAPRDxx).
4830SMF89T2ProdVers2EBCDIC
Product version (from the prodvers parameter on the Register service or the VERSION field on the PROD statement in IFAPRDxx).
5032SMF89T2ProdRel2EBCDIC
Product release (from the prodrel parameter on the Register service or the RELEASE field on the PROD statement in IFAPRDxx).
5234SMF89T2ProdMod2EBCDIC
Product modification level (from the prodmod parameter on the Register service or the MOD field on the PROD statement in IFAPRDxx).
5436SMF89T2ProdID8EBCDIC
Product identifier (from the prodID parameter on the Register service or the ID field on the PROD statement in IFAPRDxx).
623ESMF89T2Flags1binary
State entry flags Bit Meaning When Set 0 Entry is not defined in IFAPRDxx 1 Entry is enabled in IFAPRDxx 2-3 Reserved 4 Register entry 5 State entry 6 ‘No Report’ entry — registered with Ifaedreg_Type_NoReport 7 Registered with Ifaedreg_Type_LicensedUnderProd
633F--1EBCDIC
Reserved.
6440SMF89T2NumInstances4binary
Number of instances of registration for this product.

The table above is based on the description provided by IBM in its "MVS Systems Management Facilities (SMF)" manual.

Sample RACF Report from SMF 89 Subtype 1 Records


The sample SMF report below was created with Spectrum SMF Writer, the low-cost 4GL SMF report writer.

It reads as input the SMF file and selects just the type 89 (RACF Usage) records. (See SMF 89 record layout.)

We print a report showing the TCB and SRB time for each monitored product during each recording interval. The information is sorted and report by Sysplex name, then by System name and finally by Product name, with subtotals for each product. We have report both the TCB and SRB times in two ways: as the number of seconds, as they appear in the record. And again after converting the seconds into standard hour, minute and second notation. Spectrum SMf Writer makes this easy with its powerful built-in time handling functions.

All of this with just a few lines of code!
Why not install a Spectrum SMF Writer trial right now and start making your own SMF reports!

These Spectrum SMF Writer Statements:

INPUT:  SMF89V10

INCLUDEIF: SMF89RTY = 89 AND SMF89STP=1

COMPUTE: TCB_TIME = #MAKETIME(SMF89UCT)
COMPUTE: SRB_TIME = #MAKETIME(SMF89USR)

COLUMNS:
     SMF89SYN('MVS|SYSTEM|NAME')
     SMF89UST('INTERVAL|START|TIME')
     SMF89UET('INTERVAL|END|TIME')
     SMF89UPN('PRODUCT|NAME')
     SMF89UCT('TCB|TIME|SECONDS' 12)
     TCB_TIME('TCB|TIME')
     SMF89USR('SRB|TIME|SECONDS' 12)
     SRB_TIME('SRB|TIME')

SORT:  SMF89SPN SMF89SYN SMF89UPN SMF89UST     
BREAK: SMF89UPN SPACE(1)                       

TITLE: 'SMF 89 - RACF INITIALIZATION'
TITLE: 'SUBTYPE 1 - INTERVAL STATS FOR' SMF89SPN 'ON' SMF89USD

 

Produce This SMF Report:

 
                                    SMF 89 - RACF INITIALIZATION
                         SUBTYPE 1 - INTERVAL STATS FOR ZPACPLX2 ON 10/02/09

   MVS     INTERVAL    INTERVAL                        TCB                      SRB
  SYSTEM     START        END         PRODUCT          TIME         TCB         TIME         SRB
   NAME      TIME        TIME           NAME         SECONDS       TIME       SECONDS       TIME
 ________ ___________ ___________ ________________ ____________ ___________ ____________ ___________

 SYSZ1    11:00:00.00 12:00:00.00 z/OS                 5,342.00 01:29:02.00       305.00 00:05:05.00
 SYSZ1    12:00:00.00 13:00:00.00 z/OS                 3,955.00 01:05:55.00       343.00 00:05:43.00
 *** TOTAL FOR z/OS             (    2 ITEMS)          9,297.00 02:34:57.00       648.00 00:10:48.00

 SYSZ1    11:00:00.00 12:00:00.00 MQM MVS/ESA             69.00 00:01:09.00         0.00 00:00:00.00
 *** TOTAL FOR MQM MVS/ESA      (    1 ITEM )             69.00 00:01:09.00         0.00 00:00:00.00

 SYSZ9    11:00:00.00 12:00:00.00 z/OS                31,090.00 08:38:10.00       318.00 00:05:18.00
 SYSZ9    12:00:00.00 13:00:00.00 z/OS                27,710.00 07:41:50.00       290.00 00:04:50.00
 *** TOTAL FOR z/OS             (    2 ITEMS)         58,800.00 16:20:00.00       608.00 00:10:08.00

 SYSZ9    11:00:00.00 12:00:00.00 IMS/ESA             13,565.00 03:46:05.00         0.00 00:00:00.00
 *** TOTAL FOR IMS/ESA          (    1 ITEM )         13,565.00 03:46:05.00         0.00 00:00:00.00

 
 ****** GRAND TOTAL (     6 ITEMS)                    81,731.00 22:42:11.00     1,256.00 00:20:56.00

See other sample SMF reports.

Copyright 2024.
Pacific Systems Group.
All rights reserved.


Spectrum Writer 4GL - the economical alternative to SAS, Easytrieve, DYL-280...

Home | Products | Prices | Documentation | 30-Day Trials | Customer Reviews | Company | FAQ | Sample Reports | SMF Records
Send Your Comments or Questions