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