@@ -80,24 +80,35 @@ class rlc_tx_metrics_interface
8080inline std::string format_rlc_tx_metrics (timer_duration metrics_period, const rlc_tx_metrics& m)
8181{
8282 fmt::memory_buffer buffer;
83- fmt::format_to (
84- buffer,
85- " period={}ms num_sdus={} sdu_rate={}kbps, dropped_sdus={} discarded_sdus={} "
86- " num_pdus_no_segm={} pdu_rate_no_segm={}kbps num_pdus_with_segm={} pdu_rate_with_segm={}kbps num_retx={} "
87- " retx_rate={}kbps ctrl_pdus={} ctrl_rate={}kbps avg_pdu_latency={}" ,
88- metrics_period.count (),
89- m.num_sdus ,
90- (double )m.num_sdu_bytes * 8 / (double )metrics_period.count (),
91- m.num_dropped_sdus ,
92- m.num_discarded_sdus ,
93- m.num_pdus_no_segmentation ,
94- (double )m.num_pdu_bytes_no_segmentation * 8 / (double )metrics_period.count (),
95- m.mode_specific .am .num_pdus_with_segmentation ,
96- (double )m.mode_specific .am .num_pdu_bytes_with_segmentation * 8 / (double )metrics_period.count (),
97- m.mode_specific .am .num_retx_pdus ,
98- (double )m.mode_specific .am .num_retx_pdu_bytes * 8 / (double )metrics_period.count (),
99- m.mode_specific .am .num_ctrl_pdus ,
100- (double )m.mode_specific .am .num_ctrl_pdu_bytes * 8 / (double )metrics_period.count ());
83+ fmt::format_to (buffer,
84+ " period={}ms num_sdus={} sdu_rate={}kbps, dropped_sdus={} discarded_sdus={} "
85+ " num_pdus_no_segm={} pdu_rate_no_segm={}kbps" ,
86+ metrics_period.count (),
87+ m.num_sdus ,
88+ (double )m.num_sdu_bytes * 8 / (double )metrics_period.count (),
89+ m.num_dropped_sdus ,
90+ m.num_discarded_sdus ,
91+ m.num_pdus_no_segmentation ,
92+ (double )m.num_pdu_bytes_no_segmentation * 8 / (double )metrics_period.count ());
93+
94+ if (m.mode == rlc_mode::tm) {
95+ // No TM specific metrics for RX
96+ } else if ((m.mode == rlc_mode::um_bidir || m.mode == rlc_mode::um_unidir_dl)) {
97+ fmt::format_to (buffer,
98+ " num_pdus_with_segm={}, pdu_with_segm_rate={}kbps" ,
99+ m.mode_specific .um .num_pdus_with_segmentation ,
100+ (double )m.mode_specific .um .num_pdu_bytes_with_segmentation * 8 / (double )metrics_period.count ());
101+ } else if (m.mode == rlc_mode::am) {
102+ fmt::format_to (buffer,
103+ " num_pdus_with_segm={} pdu_rate_with_segm={}kbps num_retx={} "
104+ " retx_rate={}kbps ctrl_pdus={} ctrl_rate={}kbps" ,
105+ m.mode_specific .am .num_pdus_with_segmentation ,
106+ (double )m.mode_specific .am .num_pdu_bytes_with_segmentation * 8 / (double )metrics_period.count (),
107+ m.mode_specific .am .num_retx_pdus ,
108+ (double )m.mode_specific .am .num_retx_pdu_bytes * 8 / (double )metrics_period.count (),
109+ m.mode_specific .am .num_ctrl_pdus ,
110+ (double )m.mode_specific .am .num_ctrl_pdu_bytes * 8 / (double )metrics_period.count ());
111+ }
101112 return to_c_str (buffer);
102113}
103114} // namespace srsran
0 commit comments