Fibre Channel (FC) statistics
The following table lists:
- Performance statistics calculations accomplished by the CIM agent
- Respective fields in the statistics file that is reported for individual FC ports.
CIMOM field | Calculation |
---|---|
portType | PORT_TYPE_TAG |
deviceId |
PORT_FC_WWPN_TAG |
portId | PORT_ID_TAG |
nodeId | NODE_ID |
LinkFailures | LINK_FAILURES |
LossOfSignalCounter | LOSS_SIGNAL |
LossOfSyncCounter | LOSS_SYNC |
PrimitiveSeqProtocolErrCount | PRIMITIVE_SEQ_PROTOCOL_ERRCOUNT |
CRCErrors | INVALID_CRC |
InvalidTransmissionWords | INVALID_WORD |
BBCreditZeroTime | ZERO_BUFFER_CREDIT_COUNTER |
writeBytesTransmitted | BYTES_TO_CONTROLLER + BYTES_TO_CLUSTERNODE + BYTES_TO_HOST + BYTES_TO_OTHER_CLUSTERNODE |
BytesReceived | BYTES_FROM_CLUSTERNODE + BYTES_FROM_CONTROLLER + BYTES_FROM_HOST + BYTES_FROM_OTHER_CLUSTERNODE |
DataTransmissionDelayCount | DATA_TRANS_DELAY_COUNT |
DataTransmissionDelayTime | DATA_TRANS_DELAY_TIME |
DataTransmissionDelayMeasured | DATA_TRANS_DELAY_MEASURED |
Var | File name | XML field | Description |
---|---|---|---|
PORT_ID_TAG | Nn_stats | "id" | Indicates the port identifier for the node |
PORT_TYPE_TAG | Nn_stats | "type" | |
PORT_FC_WWPN_TAG | Nn_stats | "wwpn" | Indicates the worldwide port name for the node |
LINK_FAILURES | Nn_stats | "lf" | Indicates a link failure count |
LOSS_SYNC | Nn_stats | "lsy" | Indicates the loss-of-synchronization count |
LOSS_SIGNAL | Nn_stats | "lsi" | Indicates the lost-of-signal count |
PRIMITIVE_SEQ_PROTOCOL_ERRCOUNT | Nn_stats | "pspe" | Indicates the primitive sequence-protocol error count |
INVALID_WORD | Nn_stats | "itw" | Indicates the number of transmission word counts that are not valid |
INVALID_CRC | Nn_stats | "icrc" | Indicates the number of CRC that is not valid |
ZERO_BUFFER_CREDIT_COUNTER | Nn_stats | "bbcz" | Indicates the total time in microseconds for which the buffer credit counter was at zero. This statistic is only reported by 8 Gbps Fibre Channel ports. For other port types, this statistic is 0 |
BYTES_FROM_CLUSTERNODE | Nn_stats | "lnbr" | Indicates the bytes received to other nodes in the same cluster |
BYTES_FROM_CONTROLLER | Nn_stats | "cbr" | Indicates the bytes received from controllers |
BYTES_FROM_HOST | Nn_stats | "hbr" | Indicates the bytes received from hosts |
BYTES_FROM_OTHER_CLUSTERNODE | Nn_stats | "rmbr" | Indicates the bytes received to other nodes in the other clusters |
BYTES_TO_CLUSTERNODE | Nn_stats | "lnbt" | Indicates the bytes transmitted to other nodes in the same cluster |
BYTES_TO_HOST | Nn_stats | "hbt" | Indicates the bytes transmitted to hosts |
BYTES_TO_CONTROLLER | Nn_stats | "cbt" | Indicates the bytes transmitted to disk controllers |
BYTES_TO_OTHER_CLUSTERNODE | Nn_stats | "rmbt" | Indicates the bytes transmitted to other nodes in the other clusters |
DATA_TRANS_DELAY_MEASURED | Nn_stats | "dtdm" | Indicates the number of transfers that had their data transmission delay measured |
DATA_TRANS_DELAY_COUNT | Nn_stats | "dtdc" | Indicates the number of transfers that experienced excessive data transmission delay |
DATA_TRANS_DELAY_TIME | Nn_stats | "dtdt" | Indicates the total time in microseconds for which data transmission was excessively delayed |
The following code example shows an illustration of the calculations in a scripting form.
Request
def get_latest_cimom_sample_fc_port_stats(url, username, password):
xml = get_latest_stats(url, username, password)
fields = {
"LINK_FAILURES": {
"filename": "Nn_stats",
"element": "port",
"field": "lf",
"value": 0},
"LOSS_SYNC": {
"filename": "Nn_stats",
"element": "port",
"field": "lsy",
"value": 0},
"LOSS_SIGNAL": {
"filename": "Nn_stats",
"element": "port",
"field": "lsi",
"value": 0},
"PRIMITIVE_SEQ_PROTOCOL_ERRCOUNT": {
"filename": "Nn_stats",
"element": "port",
"field": "pspe",
"value": 0},
"INVALID_WORD": {
"filename": "Nn_stats",
"element": "port",
"field": "itw",
"value": 0},
"INVALID_CRC": {
"filename": "Nn_stats",
"element": "port",
"field": "icrc",
"value": 0},
"ZERO_BUFFER_CREDIT_COUNTER": {
"filename": "Nn_stats",
"element": "port",
"field": "bbcz",
"value": 0},
"BYTES_FROM_CLUSTERNODE": {
"filename": "Nn_stats",
"element": "port",
"field": "lnbr",
"value": 0},
"BYTES_FROM_CONTROLLER": {
"filename": "Nn_stats",
"element": "port",
"field": "cbr",
"value": 0},
"BYTES_FROM_HOST": {
"filename": "Nn_stats",
"element": "port",
"field": "hbr",
"value": 0},
"BYTES_FROM_OTHER_CLUSTERNODE": {
"filename": "Nn_stats",
"element": "port",
"field": "rmbr",
"value": 0},
"BYTES_TO_CLUSTERNODE": {
"filename": "Nn_stats",
"element": "port",
"field": "lnbt",
"value": 0},
"BYTES_TO_HOST": {
"filename": "Nn_stats",
"element": "port",
"field": "hbt",
"value": 0},
"BYTES_TO_CONTROLLER": {
"filename": "Nn_stats",
"element": "port",
"field": "cbt",
"value": 0},
"BYTES_TO_OTHER_CLUSTERNODE": {
"filename": "Nn_stats",
"element": "port",
"field": "rmbt",
"value": 0},
"DATA_TRANS_DELAY_MEASURED": {
"filename": "Nn_stats",
"element": "port",
"field": "dtdm",
"value": 0},
"DATA_TRANS_DELAY_COUNT": {
"filename": "Nn_stats",
"element": "port",
"field": "dtdc",
"value": 0},
"DATA_TRANS_DELAY_TIME": {
"filename": "Nn_stats",
"element": "port",
"field": "dtdt",
"value": 0}
}
populate_fields(xml, fields)
cimom_fields = {
'LinkFailures': fields['LINK_FAILURES']['value'],
'LossOfSignalCounter': fields['LOSS_SIGNAL']['value'],
'LossOfSyncCounter': fields['LOSS_SYNC']['value'],
'PrimitiveSeqProtocolErrCount': fields['PRIMITIVE_SEQ_PROTOCOL_ERRCOUNT']['value'],
'CRCErrors': fields['INVALID_CRC']['value'],
'InvalidTransmissionWords': fields['INVALID_WORD']['value'],
'BBCreditZeroTime': fields['ZERO_BUFFER_CREDIT_COUNTER']['value'],
'writeBytesTransmitted': fields['BYTES_TO_CONTROLLER']['value'] + fields['BYTES_TO_CLUSTERNODE']['value'] + fields['BYTES_TO_HOST']['value'] + fields['BYTES_TO_OTHER_CLUSTERNODE']['value'],
'BytesReceived': fields['BYTES_FROM_CLUSTERNODE']['value'] + fields['BYTES_FROM_CONTROLLER']['value'] + fields['BYTES_FROM_HOST']['value'] + fields['BYTES_FROM_OTHER_CLUSTERNODE']['value'],
'DataTransmissionDelayCount': fields['DATA_TRANS_DELAY_COUNT']['value'],
'DataTransmissionDelayTime': fields['DATA_TRANS_DELAY_TIME']['value'],
'DataTransmissionDelayMeasured': fields['DATA_TRANS_DELAY_MEASURED']['value']
}
return cimom_fields
pprint.pprint(get_latest_cimom_sample_fc_port_stats(url, username, password))
Response
{'BBCreditZeroTime': 0,
'BytesReceived': 1710209,
'CRCErrors': 0,
'DataTransmissionDelayCount': 32,
'DataTransmissionDelayMeasured': 20098258,
'DataTransmissionDelayTime': 998,
'InvalidTransmissionWords': 7,
'LinkFailures': 6,
'LossOfSignalCounter': 0,
'LossOfSyncCounter': 6,
'PrimitiveSeqProtocolErrCount': 0,
'writeBytesTransmitted': 628974}