Specifying parameters for the SMF log stream dump program

Table 1 lists the parameters that control the processing of the SMF log stream dump program. When you specify the parameters as input to the program, the following syntax rules apply:
Table 1. SMF log stream dump program (IFASMFDL) parameters
Parameter Meaning and Use
LSNAME(lsname,OPTIONS(data)) Specifies the log stream, where lsname is the name of the log stream. You can specify the following to specify that you want a log stream to be dumped:
LSNAME(lsname)
The OPTIONS subparameter is optional; the data value can be:
  • ARCHIVE
  • DELETE
  • DUMP

The DUMP option indicates that the log stream is to be dumped, as does no OPTIONS specification at all. The OPTIONS statement is allowed for easier migration from the data set dump utility.

When you specify the ARCHIVE option, IFASMFDL dumps the data to a data set and then deletes the data from the log stream.

When you specify the DELETE option, IFASMFDL only deletes the data from the log stream without dumping the data.

You can specify any number of LSNAME parameters. If you do not specify the LSNAME parameter, the default is:
LSNAME(IFASMF.DEFAULT)
The system generates a summary activity report if at least one record was read and written. For more information, see Creating the summary activity report.
OUTDD(ddname,filters) Describes the output data set, where ddname is the data definition name (DDNAME) of the output data set. If a syntax error occurs in the OUTDD parameter, the job is terminated. The filters value can be any one of the following:
TYPE (list) | NOTYPE(list)DATE( yyddd|yyyyddd,yyddd|yyyyddd )END(hhmm)START(hhmm)

TYPE(list)|NOTYPE(list) is a required parameter indicating that the record types and subtypes are to be selected for or excluded from dumping. If you specify both TYPE and NOTYPE for the same data set, the first valid specification is used.

The list variable can be any record type and subtype or combination of records and subtypes; the record types and subtypes can be specified individually or as a range. For example, TYPE(2,4:7,9,30(2,4:6)) indicates that records 2, 4, 5, 6, 7, 9, and subtypes 2, 4, 5, and 6 of the type 30 record are to be included in the data set. NOTYPE(30(1,3:5)) indicates that subtypes 1, 3, 4, and 5 of record type 30 will not be recorded.

You can filter the records written to the output data set by using the DATE, START, and END subparameters on the OUTDD statement. The syntax and descriptions of DATE, START, and END are shown in the table below.

Use the following guidelines when coding the DATE, START, and END subparameters on the OUTDD statement:
DATE:
The OUTDD DATE subparameter values must be values that equate to a matching set or subset of the corresponding IFASMFDL DATE parameters. The specified OUTDD start DATE must be greater than or equal to the global start date. The OUTDD end date must be less than or equal to the global end date.
Example: Given that data for the date of 2008342 exists in the logstream:
  • The following combination of DATE parameters results in an error because the dates specified in the OUTDD DATE parameter are outside the range of the global dates:
    LSNAME (IFASMF.MULTSYS.STREAM1)
    OUTDD (OUTDD2,...,DATE(2008342,2008342))
    DATE(2008340,2008341)
  • The following combination of DATE parameters results in records for 2008342 being selected for OUTDD1:
    LSNAME (IFASMF.MULTSYS.STREAM1)
    OUTDD (OUTDD2,...,DATE(2008342,2008342))
    DATE(2008340,2008342)
START and END
As with the DATE OUTDD subparameter values, START and END OUTDD subparameter values must be within the range of the IFASMFDL (global) START and END values.

You may specify any number of OUTDD parameters.

See Running the SMF log stream dump program for examples of specifying various subparameters on the OUTDD statement.

DATE({yyddd|yyyyddd},      {yyddd|yyyyddd}) Specifies the start and end date for the period for which records are to be written, where yy is the last two digits of the year, yyyy is all four digits of the year, and ddd is the Julian date. If only the last two digits of the year is specified, the first two digits defaults to 19. For example, DATE(92001,92366) indicates only records from January 1, 1992 to December 31, 1992 are to be written. The value for ddd cannot exceed 366. If DATE is specified, both a start and an end date must be included.
If DATE is not specified, the default is:
DATE(1900000,2099366)

You can specify DATE either as a IFASMFDL-level parameter (on a separate line) affecting all the OUTDD statements, or as a subparameter on the OUTDD parameter to customize a specific output data set.

Note that dates and times specified are based on the local time on the system running the IFASMFDL program. Use caution when dumping data from a system in a different timezone to ensure the proper data is dumped.

START(hhmm) Specifies that only those records that were recorded at and after the START time and before the END time are to be written, where hh is the hours and mm is the minutes (based on a 24-hour clock).

If START is not specified, the default is: START(0000)

You can specify START in the following ways:
  • On a separate input line as an IFASMFDL-level parameter affecting all the OUTDD statements
  • As a subparameter on the OUTDD parameter to customize a specific output data set. Specifying START on the OUTDD statements allows you to filter the records read and write different sets to different OUTDDs. In other words, you can create several data sets with different contents from one read of the log stream.
END(hhmm) Specifies that only those records that were recorded after the START time and before the END time are to be written, where hh is the hours and mm is the minutes (based on a 24-hour clock).

If END is not specified, the default is: END(2400)

You can specify END in the following ways:
  • On a separate input line as an IFASMFDL-level parameter affecting all the OUTDD statements
  • As a subparameter on the OUTDD parameter to customize a specific output data set. Specifying END on the OUTDD statements allows you to filter the records read and write different sets to different OUTDDs. In other words, you can create several data sets with different contents from one read of the log stream.
RELATIVEDATE(unit, n, x) Specifies a date range based on the current day to be selected by the IFASMFDL program. The start date of the date range is calculated by going backward n time units measured by day, week, or month from the current day, week, or month. The end date of the date range is calculated by moving x time units forward from the start date. You can use the RELATIVEDATE option instead of the DATE option. The RELATIVEDATE parameter is not compatible with the DATE parameter.
unit
Indicates the unit used to calculate the start date and end date of the range. The value of unit can be BYDAY, BYWEEK, or BYMONTH.
BYDAY
Indicates that the unit is a day.
BYWEEK
Indicates that the unit is a week.

WEEKSTART is an optional parameter that specifies whether the first day of a week in the calculation is Sunday or Monday. If WEEKSTART is not specified, the default is Sunday.

BYMONTH
Indicates that the unit is a month.
n
A required parameter that specifies the number of the unit to go backward to calculate the beginning of the range.
Value range:
  • When BYDAY is specified: 0-31
  • When BYWEEK is specified: 0-26
  • When BYMONTH is specified: 0-12
x
A required parameter that specifies the number of unit to go forward from the calculated beginning of the range to calculate the ending month of the range.
Value range:
  • When BYDAY is specified: 1-31
  • When BYWEEK is specified: 1-26
  • When BYMONTH is specified: 1-12
WEEKSTART(y)
When the unit is specified as BYWEEK, you can use WEEKSTART(y) to specify if the first day of the week is Sunday or Monday, where:
y
A required parameter that specifies the first day of the week. The value can be either of the following:
SUN
A week is defined as the days Sunday through Saturday.
MON
A week is defined as the days Monday through Sunday.
This parameter is meaningless in either of the following situations:
  • The RELATIVEDATE parameter is not used.
  • The unit option on the RELATIVEDATE parameter is not BYWEEK.
SID(xxxx) Specifies that only records written by the operating system with the specified system identifier are written to the output data set, where xxxx, which indicates the system identifier, can be any one to four alphameric characters. A separate SID parameter can be specified for each system the SMF dump program is expected to handle. If SID is not specified, records pertaining to any operating system are written.

You can only specify SID on a separate input line as a IFASMFDL-level parameter affecting all the OUTDD statements. You cannot us it as a subparameter on the OUTDD parametert.

ABEND(RETRY|NORETRY) Specifies whether the SMF log stream dump program attempts to recover from an abend (abnormal end of task). When specified, this option overrides the SMF parmlib option (DUMPABND).

If you specify RETRY, then the SMF log stream dump program attempts to recover from the abend.

If you specify the NORETRY, then the SMF log stream dump program terminates after the abend has occurred.

You can only specify ABEND on a separate input line as a IFASMFDL-level parameter affecting all the OUTDD statements.

USER1(name) Specifies the name of an installation-written exit routine that is given control after each record is read and the counters incremented. The parameter list pointed to by register 1 contains the address of the three-word user work area in word 1, the address of the SMF record in word 2, and the address of the log stream name in word 3. See Figure 1.

You can only specify USER1 on a separate input line as a IFASMFDL-level parameter.

The exit routine must set a return code in register 15 before passing control back to the SMF log stream dump program. The return codes are as follows:
Code
Meaning
00
Normal processing should continue
04
The record should not be written to the output data set.

Any other return code indicates that a problem was encountered and that the SMF log stream dump program is not to invoke the exit again.

USER2(name) Specifies the name of the installation-written exit routine that is given control when the SMF log stream dump program selects a record to be written. The parameter list pointed to by register 1 contains the address of the three-word user work area in word 1, the address of the SMF record in word 2, and the address of the OUTDD ddname in word 3. See Figure 1.

You can only specify USER2 on a separate input line as a IFASMFDL-level parameter.

The return codes are the same as those for USER1.

USER3(name) Specifies the name of the installation-written exit routine that is given control after the output data set is closed. This routine is invoked for each output data set. The parameter list pointed to by register 1 contains the address of the three-word user work area in word 1, the address of the output DCB in word 2, and the address of the OUTDD ddname in word 3. See Figure 1.

You can only specify USER3 on a separate input line as a IFASMFDL-level parameter.

The exit routine must set a return code in register 15 before passing control back to the SMF log stream dump program. The return codes for USER3 are as follows:
Code
Meaning
0
Normal processing should continue
Non 0
A problem was encountered and the SMF log stream dump program is not to invoke the exit again.
User records must include a standard record header; the SMF log stream dump program might not flag an error in a record that does not have a standard header.
SMARTENDPOINT Specifies that processing of input records in the logstream should discontinue after it has been determined that records for all known SIDS contain a date and time that is Start of changepast the IFASMFDL specified date and time plus the SMARTEPOVEREnd of change value.

The default behavior is that IFASMFDL continues to read records all the way to the end of the logstream.

In z/OS® V1R9 through z/OS V1R12, this keyword only applies to the DUMP option. Beginning with z/OS V1R13, this keyword applies to all the OPTIONS subparameter (ARCHIVE, DELETE, and DUMP).

SMARTEPOVER(hhmm) This keyword only applies when SMARTENDPOINT is specified; it specifies the amount of time that is added to the end date and time to determine the SMARTENDPOINT time. The value specified in hhmm can range from zero (0000) to two hours (0200). The default value is two hours (0200).
To determine which value to specify, take into account the following considerations:
  • If no SIDs are specified, you can set this value to double the maximum MAXDORM value of any image recording into the logstream. This allows for the best results from SID auto-detection.
  • If all SIDs are specified, this value can be minimized down to zero.
  • If only a single SID is recorded into this logstream (for example, in a DASD-only logstream), this value can be minimized down to zero.

For more information about the MAXDORM option, see parmlib member SMFPRMxx in z/OS MVS Initialization and Tuning Reference.

FLDSTATS(xxxx) Prints out a table with statistics related to record flooding. The output table includes statistics for the records that matched the output filters. Each line of the report is for a given record type. Statistics are gathered based on the xxxx value. This value indicates the number of records that make a single interval for the statistical calculations. See Figure 7.
Start of changeSOFTINFLATE | NOSOFTINFLATEEnd of change Start of changeSpecifies whether the SMF log stream dump program can decompress SMF records that were compressed with zEDC using software decompression.
NOSOFTINFLATE
The default. Specifies that SMF records compressed with zEDC cannot be decompressed using software decompression. This option results in an error when SMF records compressed with zEDC are found and either the zEDC Express® feature is unavailable or the system is running a pre-z/OS V2R1 release.
SOFTINFLATE
Specifies that SMF records compressed with zEDC can be decompressed using software decompression. When a zEDC Express feature is unavailable and at pre-z/OS V2R1 releases, software algorithms are used to decompress SMF records. Note that this may result in greater CPU utilization or a longer job time than expected.
End of change
Note:
  1. If a syntax error occurs in the processing of a parameter, SMF does not process the parameter and sends a message to the SYSPRINT data set. If a parameter is not specified, the default is used. The valid dump parameters specified or used by default are listed in the SYSPRINT data set on completion of the SMF log stream dump program.
  2. START and END parameters: If the start time is less than the end time, the records selected for any particular day are those records produced after the start time and before the end time. For example, if you specify START(0800),END(2000), SMF selects records during the period indicated by the shaded area in Figure 1.
    Figure 1. Showing how SMF selects records (START(0800),END(2000))
    Showing how SMF selects records (START(0800),END(2000))

    If the start time is greater than the end time, all records produced between the start time on one day and the end time on the following day are selected. For example, if you specify START(2000),END(0800), SMF selects records during the time period indicated by the shaded area in Figure 2.

    Figure 2. Showing how SMF selects records (START(2000),END(0800))
    Showing how SMF selects records (START(2000),END(0800))

    SMF does not select the records produced between 0800 hours and 2000 hours in any day.

  3. ARCHIVE and DELETE options:
    When you specify the ARCHIVE or DELETE option in LSNAME, pay attention to these items:
    • The start date and time of the IFASMFDL is always the start date and time of the log stream. The start time that is specified by the START parameter is ignored. The start date that is specified by DATE or RELATIVEDATE parameter will also be ignored.
    • When using the ARCHIVE option, you can use any combinations of the OUTDD filters except for START and END.
    • For an ARCHIVE request, you must write each record in the log stream up until the end date and time to at least one OUTDD. Ensure that all the types and subtypes and all SIDs are being written to a data set or are specified on the OUTDD parameters. If any record fails to match any specified OUTDD, the request fails.
    • If you specify the DELETE option, everything in the specified log stream is removed, from the start of the log stream up until the end date that is specified by the DATE or RELATIVEDATE parameter and the end time that is specified by the END parameter. The OUTDD statements are not permitted when the DELETE option is used.
    • ARCHIVE and DELETE requests are performed on logger block boundaries. If the logger block timestamp matches the criteria that is specified on the ARCHIVE or DELETE request, all of the records in that block are included in the ARCHIVE or DELETE request. For an ARCHIVE or DELETE request, you might not get data in the time range that is written past the point of your end date and time. For example, if you are using the following series of logger blocks where the time above them is the time they are written,
      2008.150 2300    2008.151 0100    2008.151 0300    2008.151 0400
      +----------------+----------------+----------------+-----------------+
      |                |                |                |                 |
      | Block 1        | Block 2        | Block 3        | Block 4         |
      |                |                |                |                 |
      +----------------+----------------+----------------+-----------------+
      and each logger block has SMF records at the following times:
      Block 1 --> 2008.150 2200 to 2008.150 2259
      Block 2 --> 2008.150 2300 to 2008.151 0059
      Block 3 --> 2008.151 0100 to 2008.151 0259
      Block 4 --> 2008.151 0300 to 2008.151 0359
      When you specify an ARCHIVE or DELETE option on this log stream where the end date is 2008.150 and the end time is 2400, only the data from Block 1 is dumped and deleted for an ARCHIVE request, and only the data from Block 1 is deleted for a DELETE request.

      The MAXDORM option in SMFPRMxx can be used to align the logger block boundaries with the date and time selection criteria of the ARCHIVE and DELETE options. For more information about the MAXDORM option, see parmlib member SMFPRMxx in z/OS MVS Initialization and Tuning Reference.

    • When using the DELETE and ARCHIVE options, you must ensure that only one instance of the IFASMFDL program is running at a time for a given log stream. Running multiple instances of the dump program against the same log stream leads to unexpected results.
  4. SMARTENDPOINT: The IFASMFDL SMARTENDPOINT processing can dynamically detect the z/OS images while reading the logstream or use the SID(xxxx) statement to specify the images. If there is the possibility that buffering occurred on an z/OS image that writes to this logstream, IFASMFDL might not dynamically detect the image that was buffering data. To ensure all systems writing to a logstream are accounted for, despite any buffering that has occurred, use the SID(xxxx) option to specify each system of interest.
  5. RELATIVEDATE parameters:
    • The date range specified through the RELATIVEDATE parameter is calculated starting at the previous full unit. For example, if you use the RELATIVEDATE parameter with the BYMONTH option on May 15th, the calculation of the time range starts at counting backwards from April, because April is the first previous full month.
    • To get RELATIVEDATE parameter to resolve to the current date, you can use RELATIVEDATE(unit,0,1).
    • If the date range calculated by the RELATIVEDATE parameters exceeds the date and time that the job was submitted, the end date and time in use are set to the date and time that the job was submitted. In this case, a return code X'04' is returned and message IFA834I is issued, indicating the end date and time for the dump.
    • If the date range calculated through the RELATIVEDATE parameter exceeds the year that the job was submitted, the calculated end date is undefined.
  6. USERx parameters: The name fields in USER1, USER2, or USER3 specify the name of a load module that the SMF log stream dump program loads and calls at the indicated times. You can either link-edit each exit into an APF-authorized library in LINKLIST (but do not use the AC=1 attribute) or use a //STEPLIB DD card. You must define all the exits you specify to the system in the SMFPRMxx member with the SMFDPEXIT parameter.