Record type 121 (X'79') — Java runtime performance statistics

SMF record type 121 is written by the IBM JZOS batch launcher for z/OS and is used to record z/OS Java runtime performance statistics. For more information about the JZOS batch launcher, see JZOS Java Launcher and Toolkit Overview.

Record mapping

Header/self-defining section

Offsets Name Length Format Description
0 0 SMF121LEN 2 binary Record length of the entire SMF record.
2 2 SMF121SEG 2 binary Segment descriptor.
4 4 SMF121FLG 1 binary System indicator.
5 5 SMF121RTY 1 binary Record type 121 (X'79').
6 6 SMF121TME 4 binary Time since midnight
10 A SMF121DTE 4 packed Date record was moved to SMF.
14 E SMF121SID 4 EBCDIC System identification.
18 12 SMF121SSI 4 EBCDIC Subsystem identification.
22 16 SMF121STY 2 binary Record subtype 1.
24 18 SMF121SDS_TRIPLETS 2 binary Number of triplets (offset/length/number combinations), currently three:
  • Java runtime
  • Garbage collector
  • Thread
26 1A SMF121SDS_RSERVD 2 binary Reserved.
28 1C SMF121SDS_OFFJRS 4 binary Offset to Java runtime section.
32 20 SMF121SDS_LENJRS 2 binary Length of each Java runtime section.
34 22 SMF121SDS_NUMJRS 2 binary Number of Java runtime sections. (There is only one Java runtime section.)
36 24 SMF121SDS_OFFGCS 4 binary Offset to garbage collector section.
40 28 SMF121SDS_LENGCS 2 binary Length of each garbage collector section.
42 2A SMF121SDS_NUMGCS 2 binary Number of garbage collector sections. This depends on how many garbage collectors are active in the JVM.
44 2C SMF121SDS_OFFTS 4 binary Offset to thread section.
48 30 SMF121SDS_LENTS 2 binary Length of each thread section.
50 32 SMF121SDS_NUMTS 2 binary Number of thread sections. This depends on the number of active Java threads.

Java runtime section

Triplet information: This section is located on the record using the following triplet fields, which are located in Header/self-defining section:
Offset
 
SMF121SDS_OFFJRS
Length
SMF121SDS_LENJRS
Number
SMF121SDS_NUMJRS
Offsets Name Length Format Description
0 0 SMF121JRS_FDFLAGS 4 binary Field flags:
Byte 1
Bit
Meaning when set
0
Contains CPU usage summary fields, including:
  • SMF121JRS_APPCPU
  • SMF121JRS_SYSCPU
  • SMF121JRS_GCCPU
  • SMF121JRS_JITCPU
1-7
Reserved
Byte 2
Reserved
Byte 3
Reserved
Byte 4
Reserved
4 4 SMF121JRS_NAME 80 EBCDIC Formatted JVM name. If longer than 80 characters, string will be truncated.
84 54 SMF121JRS_STRTTME 8 binary Start time, in milliseconds.
92 5C SMF121JRS_UPTIME 8 binary Up time, in milliseconds.
100 64 SMF121JRS_GCMODE 40 EBCDIC Garbage collection mode. If longer than 40 characters, string will be truncated.
140 8C SMF121JRS_PEAKTHRD 4 binary Peak live thread count.
144 90 SMF121JRS_CURRTHRD 4 binary Current number of live threads.
148 94 SMF121JRS_APPCPU 8 binary Total CPU usage of all application threads, in microseconds. If not available, value is -1.
156 9C SMF121JRS_SYSCPU 8 binary Total CPU usage of all system threads, in microseconds. If not available, value is -1.
164 A4 SMF121JRS_GCCPU 8 binary Total CPU usage of all GC threads, in microseconds. If not available, value is -1.
172 AC SMF121JRS_JITCPU 8 binary Total CPU usage of all JIT threads, in microseconds. If not available, value is -1.

Garbage collector section

Triplet information: This section is located on the record using the following triplet fields, which are located in Header/self-defining section:
Offset
 
SMF121SDS_OFFGCS
Length
SMF121SDS_LENGCS
Number
SMF121SDS_NUMGCS
Offsets Name Length Format Description
0 0 SMF121GCS_FDFLAGS 4 binary Field flags, currently all zeros.
4 4 SMF121GCS_NAME 40 EBCDIC Garbage collector name. If longer than 40 characters, string will be truncated.
44 2C SMF121GCS_COLLCNT 8 binary Total number of collections.
52 34 SMF121GCS_COLLTME 8 binary Approximate accumulated collection elapsed time, in milliseconds.
60 3C SMF121GCS_TMEMFREED 8 binary Cumulative total amount of memory freed, in bytes.
68 44 SMF121GCS_TCOMPACTS 8 binary Cumulative total number of compacts performed.
76 4C SMF121GCS_MEMUSED 8 binary Snapshot of the amount of heap memory used, in bytes.

Thread section

Triplet information: This section is located on the record using the following triplet fields, which are located in Header/self-defining section:
Offset
 
SMF121SDS_OFFTS
Length
SMF121SDS_LENTS
Number
SMF121SDS_NUMTS
Offsets Name Length Format Description
0 0 SMF121TS_FDFLAGS 4 binary Field flags, currently all zeros.
4 4 SMF121TS_ID 8 binary Thread ID.
12 C SMF121TS_NAME 24 EBCDIC Thread name.
36 24 SMF121TS_CAT 8 EBCDIC Thread category. Possible values are:
  • APP
  • APP-U1
  • APP-U2
  • APP-U3
  • APP-U4
  • APP-U5
  • SYS
  • GC
  • JIT
  • OTHER
  • RM
  • Empty string (""), if not available
44 2C SMF121TS_CPU 8 binary Total CPU time, in nanoseconds. If not available, value is -1.
52 34 SMF121TS_NATIVEID 8 binary Native OS thread ID. If not available, value is -1.