|
29 | 29 | rx_jbr, rx_frag, rx_usize, rx_ovrrun,\
|
30 | 30 | fec_corr, fec_uncorr, fec_symbol_err,\
|
31 | 31 | wred_grn_drp_pkt, wred_ylw_drp_pkt, wred_red_drp_pkt, wred_tot_drp_pkt,\
|
32 |
| - trim, trim_sent, trim_drop") |
| 32 | + trim, trim_sent, trim_drop, fec_bin0, fec_bin1, fec_bin2, fec_bin3,\ |
| 33 | + fec_bin4, fec_bin5, fec_bin6, fec_bin7, fec_bin8, fec_bin9, fec_bin10,\ |
| 34 | + fec_bin11, fec_bin12, fec_bin13, fec_bin14, fec_bin15") |
33 | 35 | header_all = ['IFACE', 'STATE', 'RX_OK', 'RX_BPS', 'RX_PPS', 'RX_UTIL', 'RX_ERR', 'RX_DRP', 'RX_OVR',
|
34 | 36 | 'TX_OK', 'TX_BPS', 'TX_PPS', 'TX_UTIL', 'TX_ERR', 'TX_DRP', 'TX_OVR', 'TRIM', 'TRIM_TX', 'TRIM_DRP']
|
35 | 37 | header_std = ['IFACE', 'STATE', 'RX_OK', 'RX_BPS', 'RX_UTIL', 'RX_ERR', 'RX_DRP', 'RX_OVR',
|
36 | 38 | 'TX_OK', 'TX_BPS', 'TX_UTIL', 'TX_ERR', 'TX_DRP', 'TX_OVR']
|
37 | 39 | header_errors_only = ['IFACE', 'STATE', 'RX_ERR', 'RX_DRP', 'RX_OVR', 'TX_ERR', 'TX_DRP', 'TX_OVR']
|
38 | 40 | header_fec_only = ['IFACE', 'STATE', 'FEC_CORR', 'FEC_UNCORR', 'FEC_SYMBOL_ERR', 'FEC_PRE_BER',
|
39 | 41 | 'FEC_POST_BER', 'FEC_PRE_BER_MAX']
|
| 42 | +header_fec_hist_only = ['IFACE', 'BIN0', 'BIN1', 'BIN2', 'BIN3', 'BIN4', 'BIN5', 'BIN6', 'BIN7', |
| 43 | + 'BIN8', 'BIN9', 'BIN10', 'BIN11', 'BIN12', 'BIN13', 'BIN14', 'BIN15'] |
40 | 44 | header_rates_only = ['IFACE', 'STATE', 'RX_OK', 'RX_BPS', 'RX_PPS', 'RX_UTIL', 'TX_OK', 'TX_BPS', 'TX_PPS', 'TX_UTIL']
|
41 | 45 | header_trim_only = ['IFACE', 'STATE', 'TRIM_PKTS', 'TRIM_TX_PKTS', 'TRIM_DRP_PKTS']
|
42 | 46 |
|
|
112 | 116 | 49: ['SAI_PORT_STAT_TRIM_PACKETS'],
|
113 | 117 | 50: ['SAI_PORT_STAT_TX_TRIM_PACKETS'],
|
114 | 118 | 51: ['SAI_PORT_STAT_DROPPED_TRIM_PACKETS'],
|
| 119 | + 52: ['SAI_PORT_STAT_IF_IN_FEC_CODEWORD_ERRORS_S0'], |
| 120 | + 53: ['SAI_PORT_STAT_IF_IN_FEC_CODEWORD_ERRORS_S1'], |
| 121 | + 54: ['SAI_PORT_STAT_IF_IN_FEC_CODEWORD_ERRORS_S2'], |
| 122 | + 55: ['SAI_PORT_STAT_IF_IN_FEC_CODEWORD_ERRORS_S3'], |
| 123 | + 56: ['SAI_PORT_STAT_IF_IN_FEC_CODEWORD_ERRORS_S4'], |
| 124 | + 57: ['SAI_PORT_STAT_IF_IN_FEC_CODEWORD_ERRORS_S5'], |
| 125 | + 58: ['SAI_PORT_STAT_IF_IN_FEC_CODEWORD_ERRORS_S6'], |
| 126 | + 59: ['SAI_PORT_STAT_IF_IN_FEC_CODEWORD_ERRORS_S7'], |
| 127 | + 60: ['SAI_PORT_STAT_IF_IN_FEC_CODEWORD_ERRORS_S8'], |
| 128 | + 61: ['SAI_PORT_STAT_IF_IN_FEC_CODEWORD_ERRORS_S9'], |
| 129 | + 62: ['SAI_PORT_STAT_IF_IN_FEC_CODEWORD_ERRORS_S10'], |
| 130 | + 63: ['SAI_PORT_STAT_IF_IN_FEC_CODEWORD_ERRORS_S11'], |
| 131 | + 64: ['SAI_PORT_STAT_IF_IN_FEC_CODEWORD_ERRORS_S12'], |
| 132 | + 65: ['SAI_PORT_STAT_IF_IN_FEC_CODEWORD_ERRORS_S13'], |
| 133 | + 66: ['SAI_PORT_STAT_IF_IN_FEC_CODEWORD_ERRORS_S14'], |
| 134 | + 67: ['SAI_PORT_STAT_IF_IN_FEC_CODEWORD_ERRORS_S15'], |
115 | 135 | }
|
116 | 136 |
|
117 | 137 | STATUS_NA = 'N/A'
|
@@ -550,7 +570,7 @@ def cnstat_intf_diff_print(self, cnstat_new_dict, cnstat_old_dict, intf_list):
|
550 | 570 | def cnstat_diff_print(self, cnstat_new_dict, cnstat_old_dict,
|
551 | 571 | ratestat_dict, intf_list, use_json,
|
552 | 572 | print_all, errors_only, fec_stats_only,
|
553 |
| - rates_only, trim_stats_only, detail=False, nonzero=False): |
| 573 | + rates_only, trim_stats_only, fec_hist_only, detail=False, nonzero=False): |
554 | 574 | """
|
555 | 575 | Print the difference between two cnstat results.
|
556 | 576 | """
|
@@ -638,6 +658,26 @@ def cnstat_diff_print(self, cnstat_new_dict, cnstat_old_dict,
|
638 | 658 | format_fec_ber(rates.fec_pre_ber),
|
639 | 659 | format_fec_ber(rates.fec_post_ber),
|
640 | 660 | format_fec_ber(rates.fec_pre_ber_max)))
|
| 661 | + elif fec_hist_only: |
| 662 | + header = header_fec_hist_only |
| 663 | + |
| 664 | + table.append((key, ns_diff(cntr['fec_bin0'], old_cntr['fec_bin0']), |
| 665 | + ns_diff(cntr['fec_bin1'], old_cntr['fec_bin1']), |
| 666 | + ns_diff(cntr['fec_bin2'], old_cntr['fec_bin2']), |
| 667 | + ns_diff(cntr['fec_bin3'], old_cntr['fec_bin3']), |
| 668 | + ns_diff(cntr['fec_bin4'], old_cntr['fec_bin4']), |
| 669 | + ns_diff(cntr['fec_bin5'], old_cntr['fec_bin5']), |
| 670 | + ns_diff(cntr['fec_bin6'], old_cntr['fec_bin6']), |
| 671 | + ns_diff(cntr['fec_bin7'], old_cntr['fec_bin7']), |
| 672 | + ns_diff(cntr['fec_bin8'], old_cntr['fec_bin8']), |
| 673 | + ns_diff(cntr['fec_bin9'], old_cntr['fec_bin9']), |
| 674 | + ns_diff(cntr['fec_bin10'], old_cntr['fec_bin10']), |
| 675 | + ns_diff(cntr['fec_bin11'], old_cntr['fec_bin11']), |
| 676 | + ns_diff(cntr['fec_bin12'], old_cntr['fec_bin12']), |
| 677 | + ns_diff(cntr['fec_bin13'], old_cntr['fec_bin13']), |
| 678 | + ns_diff(cntr['fec_bin14'], old_cntr['fec_bin14']), |
| 679 | + ns_diff(cntr['fec_bin15'], old_cntr['fec_bin15']))) |
| 680 | + |
641 | 681 | elif rates_only:
|
642 | 682 | header = header_rates_only
|
643 | 683 |
|
|
0 commit comments