java.lang.Object
com.blackhillsoftware.smf.Data
com.blackhillsoftware.smf.SmfData
com.blackhillsoftware.smf.cics.monitoring.PerformanceRecord

public final class PerformanceRecord extends SmfData
CICS Monitoring Performance Record.

Monitoring Performance Records are returned in a list from Smf110Record.performanceRecords()

Individual fields are extracted from the performance record by passing a MonitoringField to the getField(...) method. The MonitoringField classes define the specific fields to be retrieved.

A CICS Monitoring Dictionary is also required before fields can be retrieved. Dictionaries are maintained automatically for each APPLID, but the record containing the dictionary must have been processed before you can call getField(...).

You can use Smf110Record.haveDictionary() to test whether a dictionary is available for a specific CICS SMF record.

Specific fields are accessed by defining subclasses of MonitoringFields to define the specific field and type and accessing them like so:

 ByteStringField transactionField = ByteStringField.define("DFHTASK","C001");
  ClockField cpuField = ClockField.define("DFHTASK","S008");
  
  try (SmfRecordReader reader = 
          SmfRecordReader.fromDD("INPUT"))
  {
      reader.include(110,1);
      for (SmfRecord record : reader)
      {
          Smf110Record r110 = new Smf110Record(record);
          if (r110.haveDictionary())
          {
              for (MonitoringPerformanceRecord mn : r110.performanceRecords())
              {
                  String txName = mn.getField(transactionField); 
                  double cpuTime = mn.getFieldTimerSeconds(cpuField); 
                  // do stuff
              }
          }
      }
  }