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:
|
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:
|
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:
|
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 . |