The recording file is created when a MONITOR request is initiated, and is closed when the request terminates. The MONITOR recording file may be used as a source file to format and display the data on a terminal, to create a summary file, or to record a new recording file with different characteristics.
Note
The record formats described in this section are subject to change without notice at any future OpenVMS release.
The MONITOR recording file is an OpenVMS RMS sequential file with variable-length records. Each record in the file begins with a 1-byte type field. The remaining fields are different in length and format for each record type. Following are the three categories of record types:
Customer control records may appear anywhere in the recording file. They are not generated by MONITOR and are ignored by MONITOR when it reads the file.
The first records in the MONITOR recording file, excluding customer control records, are Digital control records. The beginning of the file has three types of Digital control records: the file header record, the system information record, and the record RMS file name record. Node transition records are also control records, but can appear anywhere in the file.
Class records, which contain data on requested performance classes, follow the Digital control records. The class record is generally written once per interval for each class being recorded. An exception to this rule occurs when several class records are required to contain data for a single class over a single interval. This can occur for the PROCESSES class when too many processes exist to be accommodated by the maximum record size.
Unique numbers are assigned to each MONITOR record type. Record type numbers 0--127 are reserved for class records; numbers 128--191 are reserved for Digital control records; numbers 192--255 are reserved for customer control records.
MONITOR generates 29 record types. Table H-1 lists the MONITOR record types and their numbers, with associated class types. (For an explanation of MONITOR class types, refer to Section H.4.1.)
Record Type | Type Number | Class Type |
---|---|---|
File Header | 128 | |
System Information | 129 | |
Node Transition | 130 | |
RMS File Name | 131 | |
PROCESSES Class | 0 | component |
STATES Class | 1 | system |
MODES Class | 2 | component |
PAGE Class | 3 | system |
IO Class | 4 | system |
FCP Class | 5 | system |
POOL Class¹ | 6 | system |
LOCK Class | 7 | system |
DECNET Class | 8 | system |
RESERVED | 9 | system |
RESERVED | 10 | system |
FILE_SYSTEM_CACHE Class | 11 | system |
DISK Class | 12 | component |
RESERVED | 13 | component |
DLOCK Class | 14 | system |
SCS Class | 15 | component |
RESERVED | 16 | system |
SYSTEM Class | 17 | system |
RESERVED | 18 | system |
CLUSTER Class | 19 | system |
RMS Class | 20 | component |
MSCP_SERVER Class | 21 | system |
TRANSACTION Class | 22 | system |
VECTOR Class | 23 | component |
VBS Class | 24 | system |
The following sections define the contents of each field within each record type. Record type and record size are given in decimal representation. References to system time indicate time values in system time format (64-bit format).
The field offset names listed are not defined within MONITOR. However, Digital recommends that you define and use these offset names when you work with MONITOR output records.
Following is the suggested naming convention for the field offset names:
MNR_CCC$X_DDDDD
CCC is a record type or class mnemonic.
X is a 1-letter code indicating the size of the data item, as follows:
DDDDD is the name describing the data item.
In the following tables that describe the record fields, the size of the data is shown in parentheses following the description of the field contents.
The four types of Digital control records are:
Each file has one header record, which contains information applicable to all classes of performance data contained in the file. It must be the first record (except for customer control records) in the file.
One system information record exists per node per file. The record contains information about the system being monitored and follows the header record in the file.
The file header record has a record type of 128 and a size of 259 bytes. Figure H-1 illustrates the format of the file header record; Table H-2 describes the fields in this record.
Figure H-1 File Header Record Format
Field | Symbolic Offset | Contents |
---|---|---|
Type | MNR_HDR$B_TYPE | Record type identifier (1 byte). |
Flags | MNR_HDR$L_FLAGS | Total of 32 flag bits; low-order bit = bit 0. All flags reserved to Digital for future use (1 longword). |
Beginning Time | MNR_HDR$Q_BEGINNING | System time of beginning of recording (1 quadword). |
Ending Time | MNR_HDR$Q_ENDING | System time of end of recording (1 quadword). |
Interval | MNR_HDR$L_INTERVAL | Interval in seconds between collections; this is the value specified by the user in the recording request. It is not necessarily equal to the exact interval value obtained by subtracting two consecutive time-stamps for a given class (1 longword). |
Revision Level 0 Classes | MNR_HDR$O_REV0CLSBITS | A 128-bit string representing all classes; a bit set to 1 indicates the presence in this file of a class which is at revision level 0 and whose type number corresponds to the bit number. Low-order bit = bit 0 (1 octaword). This field is provided for compatibility with OpenVMS VAX Version 3.0 files. |
Record Count | MNR_HDR$L_RECCT | Count of all records in the file (1 longword). |
Structure Level Identification | MNR_HDR$T_IDENT | MONITOR Recording File Structure Level Identification (MON30050) (8 bytes). |
Comment | MNR_HDR$T_COMMENT | Recording file description supplied by the user, including trailing blanks (60 bytes). |
Comment Length | MNR_HDR$W_COMLEN | Actual length of recording file description string specified by the user (1 word). |
Classes | MNR_HDR$O_CLASSBITS | A 128-bit string representing all classes; a bit set to 1 indicates the presence in this file of the class whose type number corresponds to the bit number. Low-order bit = bit 0 (1 octaword). |
Revision Levels | MNR_HDR$T_REVLEVELS | A 128-byte string consisting of a 1-byte binary revision level number for each class. A class has a revision level of 0 initially. For each MONITOR release, if the record definition has changed, the revision level will be increased (not necessarily by 1). |
Figure H-2 System Information Record Format
Field | Symbolic Offset | Contents |
---|---|---|
Type | MNR_SYI$B_TYPE | Type identifier (1 byte). |
Flags | MNR_SYI$W_FLAGS | Total of 16 flag bits; low-order bit = bit 0. If bit 0 is set to 1, the node on which the data was collected is a member of a VAXcluster. All other flags reserved to Digital for future use (1 word). |
Time Booted | MNR_SYI$Q_BOOTTIME | System time at which system booted. MONITOR calculates this time by taking the number of seconds since system boot, converting this to a negative value, and adding it to the current system time (1 quadword). |
Max Process Cnt | MNR_SYI$W_MAXPRCCNT | MAXPROCESSCNT system parameter value (1 word). |
CPUs | MNR_SYI$B_MPCPUS | Number of CPUs (1 byte). |
Node Name | MNR_SYI$T_NODENAME | Node name of node being monitored (counted ASCII string, 16 bytes). |
Balance Set
Memory (Bal Set Mem) |
MNR_SYI$L_BALSETMEM | Number of process pages to which memory can be allocated (1 longword). |
MPW High
Limit |
MNR_SYI$L_MPWHILIM | MPW_HILIMIT system parameter value (1 longword). |
CPU Type | MNR_SYI$L_CPUTYPE | CPU type code. Use $PRDEF macro for code values (1 longword). |
Index | MNR_SYI$B_INDEX | Identifies the position of this node in several internal MONITOR data structures (1 byte). |
CPU Config | MNR_SYI$L_CPUCONF | Bit mask defining the location of each CPU in a multiprocessor (1 longword). |
VPCPUs | MNR_SYI$B_VPCPUS | Number of vector-present processors in the current system (1 byte). |
VP Config | MNR_SYI$L_VPCONF | Bit mask identifying the vector-present processors in the configuration (1 longword). |
The node transition record has a record type of 130 and a size of 2 bytes. Figure H-3 illustrates the format of the node transition record; Table H-4 describes the fields in this record.
Figure H-3 Node Transition Record Format
Field | Symbolic Offset | Contents |
---|---|---|
Type | MNR_NTR$B_TYPE | Record type identifier---indicates node removal operation (1 byte). |
Index | MNR_NTR$B_INDEX | Identifies the position of this node in several internal MONITOR data structures (1 byte). |
The RMS file record has a record type of 131 and a variable size that depends on the number of RMS files and length of the file name string. Figure H-4 illustrates the format of the RMS file record; Table H-5 describes the fields in this record.
Figure H-4 RMS File Record Format
Field | Symbolic Offset | Contents |
---|---|---|
Type | MNR_FIL$B_TYPE | Record type identifier (1 byte). |
Filename | MNR_FIL$T_FILENAME | A counted ASCII string that identifies the RMS file for MONITOR RMS requests (up to 256 bytes). |
The MONITOR recording file contains one class record for each requested class for every collection interval, except for the PROCESSES class. (See Section H.4.2.12 for more information on the PROCESSES class records.) For example, if a MONITOR user requested to record five classes (excluding PROCESSES) for a duration of 100 collection intervals, the file would contain 500 class records. Class records occur in order of increasing type number within an interval. The first class record for a given interval follows the last class record for the previous interval.
The two basic class types are system classes and component classes. A class record for a system class generally consists of counts for systemwide activities (such as page faults), whereas a class record for a component class normally contains a count for each element of a measured activity (such as I/O operations for each disk in the system).
Specifically, a class record for a system class consists of a class header followed by a data block. A class record for a component class has a class header followed by a class prefix and one data block per element.
Figure H-5 illustrates the format for class records.
Figure H-5 Class Record Format
The class header is the first part of every class record. Its format is independent of class. The class header is 13 bytes long.
Figure H-6 illustrates the format of the class header; Table H-6 describes the fields in the class header.
Figure H-6 Class Header Format
Field | Symbolic Offset | Contents |
---|---|---|
Type | MNR_CLS$B_TYPE | Record type identifier (1 byte). |
Flags | MNR_CLS$B_FLAGS | Total of 8 flag bits; low order bit = bit 0. If bit 0 is set to 1, the data for this interval continues in the next record. Can be set for the PROCESSES class only. All other flags reserved by Digital for future use (1 byte). |
Index | MNR_CLS$B_INDEX | Identifies the position of this node in several internal MONITOR data structures (1 byte). |
Time | MNR_CLS$Q_STAMP | System time at which this class record was recorded. The time value is nondecreasing across all class records in the file. |
Reserved | MNR_CLS$W_RESERVED | Reserved for Digital use (1 word). |
The class prefix always follows the class header for component class records. It contains data describing the number of elements (for example, processes for the PROCESSES class, disks for the DISK class) represented by the class records for the current collection interval. Unlike system class records, which have one data block per record, component classes have one data block per element.
One of the class prefix data items describes the number of elements (and therefore the number of data blocks) included in the class record. The other class prefix data item is used only for the PROCESSES class, and describes the number of processes included in the interval. The following discussion applies only to the PROCESSES class.
It is possible to monitor a number of processes so large that the required number of data blocks for one collection interval does not fit into a single maximum size record. In this case, the required number of PROCESSES class records is created to fully describe the processes.
All class headers in the set of PROCESSES class records for a given interval are identical, except for the setting of bit 0 in the MNR_CLS$W_FLAGS field. This bit is set to 1 for all records except the last, for which it is set to 0.
The class prefixes in the set of class records vary, as described in Table H-7. The contents of the MNR_CMP$L_ELTCT field depends on the number of data blocks contained in the record; the contents of the MNR_CMP$L_PCTINT field remain constant for each record in the set. All records in the set except the last contain as many data blocks as will fit into the maximum size record (32000 bytes). The last record in the set contains the remaining data blocks.
Figure H-7 illustrates the class prefix format; Table H-7 describes the fields in the class prefix. The class prefix is 8 bytes long.
Figure H-7 Class Prefix Format
Field | Symbolic Offset | Contents |
---|---|---|
Elements in
Record |
MNR_CMP$L_ELTCT | Count of elements (data blocks) in this record (1 longword). |
Processes in
Interval |
MNR_CMP$L_PCTINT | Count of processes (data blocks) for this interval (1 longword). This field is for the PROCESSES class only. For other component classes, this longword is reserved to Digital for future use. |
The size and format of each data block and the number of blocks per record depend on the class. System classes have one data block per record. Component classes have one data block per element. The fields within each block are performance data items.
The following sections describe the data items within the data block for each class. Every data item falls into one of three categories. It is either a count, a level, or an informational item. A count is a numeric quantity that increases at each succeeding interval for the duration of a system boot. A level is a numeric quantity that may increase or decrease at each succeeding interval. An informational item represents data that, rather than being a unit of performance measurement (as are the first two types), is descriptive in nature.
In the tables that follow, item types are identified by the letters C (count), L (level), and I (informational). Item types are shown in parentheses, following the length of the field. Class records are listed alphabetically.
The CLUSTER class record contains data describing clusterwide CPU, memory, and locking activity. The CLUSTER class record has a record type of 19 and a size of 65 bytes. Note that when the CLUSTER class is recorded, the DISK and MODES classes are also recorded, even if not explicitly requested.
Figure H-8 illustrates the format of the CLUSTER class record. Table H-8 describes the fields in the data block for the CLUSTER class record.
Figure H-8 CLUSTER Class Record Format
Field | Symbolic Offset | Contents |
---|---|---|
CPU Busy | MNR_CLU$L_CPU_BUSY | Count of clock ticks (10-millisecond units) spent in all CPU modes since system was booted (longword,C) |
Free List Size | MNR_CLU$L_FRLIST | Number of pages currently on the free list (longword,L) |
Reserved | MNR_CLU$L_RESERVED | Reserved to Digital |
Total Locks | MNR_CLU$L_TOTAL_LOCKS | Total of all incoming, outgoing, and local ENQs, DEQs, and conversions (longword,C) |
New ENQ Local | MNR_CLU$L_ENQNEWLOC | Count of new lock requests that originate and are performed on the system (local) (longword,C) |
New ENQ Incoming | MNR_CLU$L_ENQNEWIN | Count of new lock requests that originate on other systems and are performed on this system (incoming) (longword,C) |
New ENQ Outgoing | MNR_CLU$L_ENQNEWOUT | Count of new lock requests that originate on this system and are performed on other systems (outgoing) (longword,C) |
ENQ Conversions Local | MNR_CLU$L_ENQCVTLOC | Count of lock conversion requests (local) (longword,C) |
ENQ Conversions Incoming | MNR_CLU$L_ENQCVTIN | Count of lock conversion requests (incoming) (longword,C) |
ENQ Conversions Outgoing | MNR_CLU$L_ENQCVTOUT | Count of lock conversion requests (outgoing) (longword,C) |
DEQ Local | MNR_CLU$L_DEQLOC | Count of unlock requests (local) (longword,C) |
DEQ Incoming | MNR_CLU$L_DEQIN | Count of unlock requests (incoming) (longword,C) |
DEQ Outgoing | MNR_CLU$L_DEQOUT | Count of unlock requests (outgoing) (longword,C) |
The DECNET class record contains data describing the operation of the DECnet for OpenVMS subsystem. The DECNET class record has a record type of 8 and a size of 33 bytes.
Figure H-9 illustrates the format of the DECNET class record. Table H-9 describes the fields in the data block for the DECNET class record.
Figure H-9 DECNET Class Record Format
Field | Symbolic Offset | Contents |
---|---|---|
Arriving
Local Packets |
MNR_NET$L_ARRLOCPK | Count of arriving local packets (longword,C) |
Departing
Local Packets |
MNR_NET$L_DEPLOCPK | Count of departing local packets (longword,C) |
Arriving Transit
Packets |
MNR_NET$L_ARRTRAPK | Count of arriving transit packets (longword,C) |
Transit Packets
Lost |
MNR_NET$L_TRCNGLOS | Count of packets lost because of transit congestion (longword,C) |
Receiver Buffer
Failures |
MNR_NET$L_RCVBUFFL | Count of receiver buffer failures (longword,C) |
The DISK class record contains data describing all disk devices in the system. The DISK class record has a record type of 12; its size depends on the number of disks being monitored. The size, in bytes, is calculated by adding the size of the class header, the class prefix, and the data blocks contained in the record. This is shown in the following formula:
13 + 8 + (36 * the value of MNR_CMP$L_ELTCT)
Figure H-10 illustrates the format of the DISK class record. Table H-10 describes the fields in the data block for the DISK class record.
Figure H-10 DISK Class Record Format
Field | Symbolic Offset | Contents |
---|---|---|
Allocation Class | MNR_DSK$B_ALLOCLS | Allocation class number (byte,I) |
Controller | MNR_DSK$T_CTRLR | Name of device controller (counted ASCII string) (4 bytes,I) |
Unit Number | MNR_DSK$W_UNITNO | Unit number (word,I) |
Flags | MNR_DSK$B_FLAGS | Total of 8 flag bits; if the low bit is set, the device is served by the MSCP server (byte,I) |
Node Name | MNR_DSK$T_NODENAME | Name of cluster node where device resides (counted ASCII string) (8 bytes,I) |
Volume Name | MNR_DSK$T_VOLNAME | Volume name of disk (ASCII) (12 bytes,I) |
Operations | MNR_DSK$L_OPCNT | Count of I/O operations (longword,C) |
Queue Length | MNR_DSK$L_IOQUELN | Sum of I/O request queue samples (longword,C) |
The DLOCK class record contains data describing the operation of the Distributed Lock Management facility. The DLOCK class record has a record type of 14 and a size of 73 bytes.
6048P062.HTM OSSG Documentation 26-NOV-1996 12:43:56.34
Copyright © Digital Equipment Corporation 1996. All Rights Reserved.