SMF real-time interface

SMF provides an application programming interface (API) that offers real-time access to SMF in-memory resources. You can use the callable services that comprise the SMF real-time interface from an application program to access SMF records from an in-memory resource as they are written.

About the SMF real-time interface

The SMF real-time interface provides applications with a high-speed data feed with low system overhead, both in terms of CPU time and elapsed time. The real-time interface is designed to offer the following advantages over accessing records using the IEFU83, IEFU84, IEFU85, and Start of changeIEFU86End of change user exits:
SMF real-time interface Start of changeIEFU83, IEFU84, IEFU85, IEFU86 user exitsEnd of change
  • Maintains low latency and is non-disruptive to SMF processing.
  • You can specify which SMF record types you want written to an in-memory resource and, thus, presented to your application.
  • No requirement for application programs to be authorized; access to in-memory resources is controlled by SAF resources.
  • Responsibility to maintain low latency falls on the user exit programmer, as the exits are called before an SMF record is buffered.
  • All records are presented to the user exits, unconditionally.
  • User exits run in an authorized code path.

SMF real-time callable services provides details about using the real-time interface to access SMF data.

About SMF in-memory resources

SMF must be running in logstream recording mode in order to define and use in-memory resources and, thus, the real-time interface. Records can be recorded to an in-memory resource without also being written to a logstream.

Note: Record types that are defined to an in-memory resource are not recorded in the logstream defined to SMF with the DEFAULTLSNAME option. For a record to be written to both an in-memory resource and a logstream, the record type must be defined to one or more LSNAME logstreams and one or more in-memory resources.

An SMF in-memory resource is a wrap-around buffer that keeps selected records in memory and provides real-time access to those records. You can specify the size when you define an in-memory resource.

Note: There is no protection for discarded data. When an in-memory resource is full, new records overwrite the oldest records. Therefore, plan your in-memory resource capacity accordingly to avoid missing data.

You can define one or more in-memory resources, each with a unique set of record types, up to a maximum of 32 in-memory resources. This is useful both for managing resource capacity and usage, and for segregating record types by application requirements.

Defining in-memory resources describes the process to define in-memory resources.