See: Description
Package | Description |
---|---|
com.blackhillsoftware.smf |
Classes common to all SMF record types - see
SmfRecordReader
to get started reading SMF data. |
com.blackhillsoftware.smf.cics |
Provides support for CICS SMF records - for usage details see
Smf110Record . |
com.blackhillsoftware.smf.cics.monitoring |
Classes related to CICS monitoring record processing
|
com.blackhillsoftware.smf.cics.monitoring.fields |
Classes to define fields in CICS Monitoring Performance Records
|
com.blackhillsoftware.smf.cics.statistics |
Classes mapping CICS statistics sections
|
com.blackhillsoftware.smf.cics.statistics.cics420 |
Specializations of CICS statistics sections for CICS 4.2.0.
|
com.blackhillsoftware.smf.cics.statistics.cics510 |
Specializations of CICS statistics sections for CICS 5.1.0.
|
com.blackhillsoftware.smf.cics.statistics.cics530 |
Specializations of CICS statistics sections for CICS 5.3.0.
|
com.blackhillsoftware.smf.cics.statistics.cics540 |
Specializations of CICS statistics sections for CICS 5.4.0.
|
com.blackhillsoftware.smf.controlblock |
Control block mappings not specific to a particular record type.
|
com.blackhillsoftware.smf.db2 |
Provides support for DB2 SMF records - for usage details see
SmfDb2Record . |
com.blackhillsoftware.smf.db2.section |
Classes mapping DB2 sections
|
com.blackhillsoftware.smf.racf |
Classes mapping RACF control blocks included in SMF records.
|
com.blackhillsoftware.smf.security |
Map security token information included in various records
|
com.blackhillsoftware.smf.smf0 |
Mapping for SMF type 0 (IPL) record - for usage details see
Smf0Record . |
com.blackhillsoftware.smf.smf10 |
Mapping for SMF type 10 (Allocation Recovery) record - for usage details see
Smf10Record . |
com.blackhillsoftware.smf.smf11 |
Mapping for SMF type 11 (Vary Device Offline) record - for usage details see
Smf11Record . |
com.blackhillsoftware.smf.smf121 |
Mapping for SMF type 121 (Java Performance Statistics) record - for usage details see
Smf121Record . |
com.blackhillsoftware.smf.smf14 |
Mapping for SMF type 14 (Read dataset) record - for usage details see
Smf14Record . |
com.blackhillsoftware.smf.smf15 |
Mapping for SMF type 15 (Write Dataset) record - for usage details see
Smf15Record . |
com.blackhillsoftware.smf.smf16 |
Mapping for SMF type 16 (DFSORT Statistics) record - for usage details see
Smf16Record . |
com.blackhillsoftware.smf.smf17 |
Mapping for SMF type 17 (Scratch dataset) record - for usage details see
Smf17Record . |
com.blackhillsoftware.smf.smf18 |
Mapping for SMF type 18 (Rename Non-VSAM dataset) record - for usage details see
Smf18Record . |
com.blackhillsoftware.smf.smf19 |
Mapping for SMF type 19 (Direct Access Volume Information) record - for usage details see
Smf19Record . |
com.blackhillsoftware.smf.smf2 |
Mapping for SMF type 2 (Dump Header) record.
|
com.blackhillsoftware.smf.smf21 |
Mapping for SMF type 21 (Error Statistics by Volume) record - for usage details see
Smf21Record . |
com.blackhillsoftware.smf.smf23 |
Mapping for SMF type 23 (SMF Status) record - for usage details see
Smf23Record . |
com.blackhillsoftware.smf.smf3 |
Mapping for SMF type 3 (Dump Trailer) record.
|
com.blackhillsoftware.smf.smf30 |
Mapping for SMF type 30 (Common address space work) record - for usage details see
Smf30Record . |
com.blackhillsoftware.smf.smf41 |
Mapping for SMF type 41 (DIV and VLF Statistics) record - for usage details see
Smf41Record . |
com.blackhillsoftware.smf.smf42 |
Mapping for SMF type 42 (DFSMS Statistics) record - for usage details see
Smf42Record . |
com.blackhillsoftware.smf.smf42.subtype1 | |
com.blackhillsoftware.smf.smf42.subtype10 | |
com.blackhillsoftware.smf.smf42.subtype11 | |
com.blackhillsoftware.smf.smf42.subtype15 | |
com.blackhillsoftware.smf.smf42.subtype16 | |
com.blackhillsoftware.smf.smf42.subtype17 | |
com.blackhillsoftware.smf.smf42.subtype18 | |
com.blackhillsoftware.smf.smf42.subtype19 | |
com.blackhillsoftware.smf.smf42.subtype2 | |
com.blackhillsoftware.smf.smf42.subtype20 | |
com.blackhillsoftware.smf.smf42.subtype21 | |
com.blackhillsoftware.smf.smf42.subtype22 | |
com.blackhillsoftware.smf.smf42.subtype23 | |
com.blackhillsoftware.smf.smf42.subtype24 | |
com.blackhillsoftware.smf.smf42.subtype25 | |
com.blackhillsoftware.smf.smf42.subtype27 | |
com.blackhillsoftware.smf.smf42.subtype3 | |
com.blackhillsoftware.smf.smf42.subtype4 | |
com.blackhillsoftware.smf.smf42.subtype5 | |
com.blackhillsoftware.smf.smf42.subtype6 | |
com.blackhillsoftware.smf.smf42.subtype9 | |
com.blackhillsoftware.smf.smf6 |
Mapping for SMF type 6 (External Writer/JES2 Writer/JES3 Writer/PSF/IP Printway) record.
|
com.blackhillsoftware.smf.smf60 |
Mapping for SMF type 60 (VVDS update) record - for usage details see
Smf60Record . |
com.blackhillsoftware.smf.smf61 |
Mapping for SMF type 61 (ICF Define) record - for usage details see
Smf61Record . |
com.blackhillsoftware.smf.smf62 |
Mapping for SMF type 62 (VSAM Open) record - for usage details see
Smf62Record . |
com.blackhillsoftware.smf.smf64 |
Mapping for SMF type 64 (VSAM Status) record - for usage details see
Smf64Record . |
com.blackhillsoftware.smf.smf65 |
Mapping for SMF type 65 (ICF Delete) record - for usage details see
Smf65Record . |
com.blackhillsoftware.smf.smf66 |
Mapping for SMF type 66 (ICF Alter) record - for usage details see
Smf66Record . |
com.blackhillsoftware.smf.smf7 |
Mapping for SMF type 7 (Data Lost) record.
|
com.blackhillsoftware.smf.smf70 |
Mapping for SMF type 70 (RMF Processor Activity) record - for usage details see
Smf70Record . |
com.blackhillsoftware.smf.smf70.subtype1 | |
com.blackhillsoftware.smf.smf70.subtype2 | |
com.blackhillsoftware.smf.smf71 |
Mapping for SMF type 71 (RMF Paging) record - for usage details see
Smf71Record . |
com.blackhillsoftware.smf.smf71.subtype1 | |
com.blackhillsoftware.smf.smf72 |
Mapping for SMF type 72 (RMF Workload Activity) record - for usage details see
Smf72Record . |
com.blackhillsoftware.smf.smf72.subtype3 | |
com.blackhillsoftware.smf.smf72.subtype4 | |
com.blackhillsoftware.smf.smf72.subtype5 | |
com.blackhillsoftware.smf.smf73 |
Mapping for SMF type 73 (RMF Channel Path Activity) record - for usage details see
Smf73Record . |
com.blackhillsoftware.smf.smf73.subtype1 | |
com.blackhillsoftware.smf.smf74 |
Mapping for SMF type 74 (RMF Activity of Several Resources) record - for usage details see
Smf74Record . |
com.blackhillsoftware.smf.smf74.subtype1 | |
com.blackhillsoftware.smf.smf74.subtype10 | |
com.blackhillsoftware.smf.smf74.subtype2 | |
com.blackhillsoftware.smf.smf74.subtype3 | |
com.blackhillsoftware.smf.smf74.subtype4 | |
com.blackhillsoftware.smf.smf74.subtype5 | |
com.blackhillsoftware.smf.smf74.subtype6 | |
com.blackhillsoftware.smf.smf74.subtype7 | |
com.blackhillsoftware.smf.smf74.subtype8 | |
com.blackhillsoftware.smf.smf74.subtype9 | |
com.blackhillsoftware.smf.smf75 |
Mapping for SMF type 75 (RMF Page Dataset Activity) record - for usage details see
Smf75Record . |
com.blackhillsoftware.smf.smf75.subtype1 | |
com.blackhillsoftware.smf.smf76 |
Mapping for SMF type 76 (RMF Trace) record - for usage details see
Smf76Record . |
com.blackhillsoftware.smf.smf77 |
Mapping for SMF type 77 (RMF Enqueue Activity) record - for usage details see
Smf77Record . |
com.blackhillsoftware.smf.smf77.subtype1 | |
com.blackhillsoftware.smf.smf78 |
Mapping for SMF type 78 (RMF Virtual Storage and I/O Queuing) record - for usage details see
Smf78Record . |
com.blackhillsoftware.smf.smf78.subtype2 | |
com.blackhillsoftware.smf.smf78.subtype3 | |
com.blackhillsoftware.smf.smf79 |
Mapping for SMF type 79 (RMF Monitor II) record - for usage details see
Smf79Record . |
com.blackhillsoftware.smf.smf8 |
Mapping for SMF type 8 (I/O Configuration) record.
|
com.blackhillsoftware.smf.smf88 |
Mapping for SMF type 88 (System Logger) record - for usage details see
Smf88Record . |
com.blackhillsoftware.smf.smf89 |
Mapping for SMF type 89 (Usage Data) record - for usage details see
Smf89Record . |
com.blackhillsoftware.smf.smf9 |
Mapping for SMF type 9 (Vary Online) record.
|
com.blackhillsoftware.smf.smf92 |
Mapping for SMF type 92 (File System Activity) record - for usage details see
Smf92Record . |
EasySMF:JE provides Java classes to work with z/OS SMF data.
EasySMF:JE classes are designed to provide a consistent interface to SMF data across different SMF record types.
Use the SmfRecordReader class to read SMF records from a DDNAME, an input file or a stream.
From a DDNAME:
try (SmfRecordReader reader = SmfRecordReader.fromDD("INPUT"))
{
for (SmfRecord record : reader)
{
// process record
}
}
or:
try (SmfRecordReader reader = SmfRecordReader.fromName("//DD:INPUT"))
{
for (SmfRecord record : reader)
{
// process record
}
}
From a filename:
try (SmfRecordReader reader =
SmfRecordReader.fromName("C:\\Users\\Andrew\\Documents\\mydata.smf"))
{
for (SmfRecord record : reader)
{
// process record
}
}
From a stream:
try (SmfRecordReader reader =
SmfRecordReader.fromStream(myInputStream))
{
for (SmfRecord record : reader)
{
// process record
}
}
The SmfRecordReader include
method can be used to specify which types (and subtypes) should be returned.
reader.include(30, 5); // Include type 30, subtype 5
reader
.include(14)
.include(15); // Include types 14 and 15
Process records by iterating over the reader:
for (SmfRecord record : reader)
{
// process record
}
or by using Java Streams:
long recordcount = reader.stream()
.filter(r ->
r.smfTime().isAfter(LocalTime.of(9, 00))
&& r.smfTime().isBefore(LocalTime.of(17, 00)))
.count();
SMF records are typically made up of multiple sections.
Methods are provided to extract the sections from the record. To retrieve a section, convert the SMF record to the specialized type and call the method.
reader.include(30);
for (SmfRecord record : reader)
{
Smf30Record r30 = Smf30Record.from(record);
IdentificationSection idSection = r30.identificationSection();
List<ExcpSection> = r30.excpSections();
}
Typically, if a section is described by a SMF triplet (offset, length, count) then the sections will be returned in a List of the section type e.g. Smf30Record excpSections()
. The list may be empty if there are no sections in this record i.e. the count is zero.
If it is documented that only one of the section type can occur, a method may return the single section e.g. Smf30Record identificationSection()
. If the section might not be present that method will return null if the section does not exist e.g. Smf30Record completionSection()
.
In a few cases classes provide 2 methods, one that returns 1 section or null and another that returns a List of 1 or 0 items. The List allows you to iterate over the section (iterating 0 times if it is not present) instead of checking for null, which can give slightly neater code.
The API aims to provide a consistent interface across different types and sections, and converts values to standard Java types for simple programming.
Dates and times are converted to java.time classes. Java.time represents dates and times with a precision of 1 nanosecond, which is sufficient for most SMF fields.
The raw numeric value of date and time fields is also provided.
Flag bits within a byte are converted to a boolean value indicating whether the bit is set.
If you discover a field with an incorrect data type, please report it as a problem instead of programming around it. Changing the data type later will require modifications to any existing programs that refer to the field.
Copyright © 2020 Black Hill Software Pty Ltd. All rights reserved.