Backend (MDisk) volumes
The following table lists:
- Performance statistics calculations accomplished by the CIM agent
- Respective fields in the statistics file that is reported for individual mdisks.
| 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 |
| ReadIOTimeCounter | READ_TIME_TAG |
| KBytesRead(sizeUnits) | READ_BLOCK_TAG*sizeUnits/1024 |
| WriteIOs | WRITE_OPERATION_TAG |
| WriteIOTimeCounter | WRITE_TIME_TAG |
| KBytesWritten(sizeUnits) | WRITE_BLOCK_TAG*sizeUnits/1024 |
| Var | File name | XML field | Description |
|---|---|---|---|
| DEVICE_ID_TAG | Nm_stats | "idx" | Indicates the name of the MDisk for which the statistics apply |
| READ_OPERATION_TAG | Nm_stats | "ro" | Indicates the cumulative number of MDisk read operations that were processed (since the node started) |
| WRITE_OPERATION_TAG | Nm_stats | "wo" | Indicates the cumulative number of MDisk write operations that were processed (since the node started) |
| READ_BLOCK_TAG | Nm_stats | "rb" | Indicates the cumulative number of blocks of data that was read (since the node started) |
| WRITE_BLOCK_TAG | Nm_stats | "wb" | Indicates the cumulative number of blocks of data written (since the node started) |
| READ_TIME_TAG | Nm_stats | "re" | Indicates the cumulative read external response time in milliseconds for each MDisk. The cumulative response time for disk reads is calculated by starting a timer when a host read command is issued and stopped when the command completes successfully. The elapsed time is added to the cumulative counter |
| WRITE_TIME_TAG | Nm_stats | "we" | Indicates the cumulative write external response time in milliseconds for each MDisk. The cumulative response time for disk writes is calculated by starting a timer when a host write command is issued and stopped when the command completes successfully. The elapsed time is added to the cumulative counter |
The following code example shows an illustration of the calculations in a scripting form.
Request
def get_latest_cimom_sample_mdisk_stats(url, username, password):
xml = get_latest_stats(url, username, password)
fields = {
"READ_OPERATION_TAG": {
"filename": "Nm_stats",
"element": "mdsk",
"field": "ro",
"value": 0},
"WRITE_OPERATION_TAG": {
"filename": "Nm_stats",
"element": "mdsk",
"field": "wo",
"value": 0},
"READ_BLOCK_TAG": {
"filename": "Nm_stats",
"element": "mdsk",
"field": "rb",
"value": 0},
"WRITE_BLOCK_TAG": {
"filename": "Nm_stats",
"element": "mdsk",
"field": "wb",
"value": 0},
"READ_TIME_TAG": {
"filename": "Nm_stats",
"element": "mdsk",
"field": "re",
"value": 0},
"WRITE_TIME_TAG": {
"filename": "Nm_stats",
"element": "mdsk",
"field": "re",
"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,
"IOTimeCounter": fields['READ_TIME_TAG']['value'] + fields['WRITE_TIME_TAG']['value'],
"ReadIOs": fields['READ_OPERATION_TAG']['value'],
"ReadIOTimeCounter": fields['READ_TIME_TAG']['value'],
"KBytesRead": fields['READ_BLOCK_TAG']['value'] / 1024,
"WriteIOs": fields['WRITE_OPERATION_TAG']['value'],
"WriteIOTimeCounter": fields['WRITE_TIME_TAG']['value'],
"KBytesWritten": fields['WRITE_BLOCK_TAG']['value'] / 1024
}
return cimom_fields
pprint.pprint(get_latest_cimom_sample_mdisk_stats(url, username, password))
Response
{'IOTimeCounter': 0,
'KBytesRead': 0.0,
'KBytesTransferred': 1632.0,
'KBytesWritten': 1632.0,
'ReadIOTimeCounter': 0,
'ReadIOs': 0,
'TotalIOs': 18,
'WriteIOTimeCounter': 0,
'WriteIOs': 18}