Volume (VDisk) statistics

The following table lists:
  • Performance statistics calculations accomplished by the CIM agent
  • Respective fields in the statistics file that is reported for individual vdisks.
Table 1. Calculations
CIMOM field Calculation
deviceId DEVICE_ID_TAG
TotalIOs READ_OPERATION_TAG + WRITE_OPERATION_TAG
KBytesTransferred(sizeUnits) (READ_BLOCK_TAG + WRITE_BLOCK_TAG)*sizeUnits/1024
IOTimeCounter READ_TIME_TAG + WRITE_TIME_TAG
ReadIOs READ_OPERATION_TAG
ReadHitIOs READ_HITCACHE_TAG
ReadIOTimeCounter READ_TIME_TAG
KBytesRead(sizeUnits) READ_BLOCK_TAG*sizeUnits/1024
WriteIOs WRITE_OPERATION_TAG
WriteHitIOs WRITE_HITCACHE_TAG
WriteIOTimeCounter WRITE_TIME_TAG
KBytesWritten(sizeUnits) WRITE_BLOCK_TAG*sizeUnits/1024
Var File name XML field Description
DEVICE_ID_TAG Nv_stats "idx" Indicates the volume for which the statistics apply
READ_OPERATION_TAG Nv_stats "ro" Indicates the cumulative number of volume read operations that were processed (since the node started)
WRITE_OPERATION_TAG Nv_stats "wo" Indicates the cumulative number of volumes write operations that were processed (since the node started).
READ_BLOCK_TAG Nv_stats "rb" Indicates the cumulative number of blocks of data read (since the node started)
WRITE_BLOCK_TAG Nv_stats "wb" Indicates the cumulative number of blocks of data written (since the node started)
READ_TIME_TAG Nv_stats "rl" Indicates the cumulative read response time in milliseconds for each volume. The cumulative response time for volume reads is calculated by starting a timer when a SCSI read command is received and stopped when the command completes successfully. The elapsed time is added to the cumulative counter.
WRITE_TIME_TAG Nv_stats "wl" Indicates the cumulative write response time in milliseconds for each volume. The cumulative response time for volume writes is calculated by starting a timer when a SCSI write command is received and stopped when the command completes successfully. The elapsed time is added to the cumulative counter.
READ_HITCACHE_TAG Nv_stats "ctrh" Indicates the number of reads received from other components and processed in read-cache
WRITE_HITCACHE_TAG Nv_stats "ctwfw" Indicates the number of writes received from other components and processed in write-cache

The following code example shows an illustration of the calculations in a scripting form.

Request
def get_latest_cimom_sample_vdisk_stats(url, username, password):
    xml = get_latest_stats(url, username, password)
 
    fields = {
        "READ_OPERATION_TAG": {
            "filename": "Nv_stats",
            "element": "vdsk",
            "field": "ro",
            "value": 0},
        "WRITE_OPERATION_TAG": {
            "filename": "Nv_stats",
            "element": "vdsk",
            "field": "wo",
            "value": 0},
        "READ_BLOCK_TAG": {
            "filename": "Nv_stats",
            "element": "vdsk",
            "field": "rb",
            "value": 0},
        "WRITE_BLOCK_TAG": {
            "filename": "Nv_stats", 
            "element": "vdsk",
            "field": "wb",
            "value": 0},
        "READ_TIME_TAG": {
            "filename": "Nv_stats",
            "element": "vdsk",
            "field": "rl",
            "value": 0},
        "WRITE_TIME_TAG": {
            "filename": "Nv_stats", 
            "element": "vdsk",
            "field": "wl",
            "value": 0},
        "READ_HITCACHE_TAG": {
            "filename": "Nv_stats",
            "element": "vdsk",
            "field": "ctrh",
            "value": 0},
        "WRITE_HITCACHE_TAG": {
            "filename": "Nv_stats", 
            "element": "vdsk",
            "field": "ctwfw",
            "value": 0}
    }
    populate_fields(xml, fields)
    cimom_fields = {
        'TotalIOs': fields['READ_OPERATION_TAG']['value'] + fields['WRITE_OPERATION_TAG']['value'],
        'KBytesTransferred': (fields['READ_BLOCK_TAG']['value'] + fields['WRITE_BLOCK_TAG']['value']) * 1024 / 1024,
        'IOTimeCounter': fields['READ_TIME_TAG']['value'] + fields['WRITE_TIME_TAG']['value'],
        'ReadIOs': fields['READ_OPERATION_TAG']['value'],
        'ReadHitIOs': fields['READ_HITCACHE_TAG']['value'],
        'ReadIOTimeCounter': fields['READ_TIME_TAG']['value'],
        'KBytesRead': fields['READ_BLOCK_TAG']['value'] * 1024 / 1024,
        'WriteIOs': fields['WRITE_OPERATION_TAG']['value'],
        'WriteHitIOs': fields['WRITE_HITCACHE_TAG']['value'],
        'WriteIOTimeCounter': fields['WRITE_TIME_TAG']['value'],
        'KBytesWritten': fields['WRITE_BLOCK_TAG']['value'] * 1024 / 1024
    }
    return cimom_fields
 
pprint.pprint(get_latest_cimom_sample_vdisk_stats(url, username, password))
Response
{'IOTimeCounter': 0,
'KBytesRead': 0.0,
'KBytesTransferred': 1632.0,
'KBytesWritten': 1853.0,
'ReadHitIOs': 0,
'ReadIOTimeCounter': 3,
'ReadIOs': 178,
'TotalIOs': 178,
'WriteHitIOs': 54,
'WriteIOTimeCounter': 2,
'WriteIOs': 54}