mirror of
https://github.com/Telecominfraproject/wlan-lanforge-scripts.git
synced 2025-11-03 04:07:52 +00:00
test_ip_variable_time.py: add kpi and reporting for udp traffic
Signed-off-by: Scott Wedge <scott.wedge@candelatech.com>
This commit is contained in:
@@ -268,18 +268,18 @@ class IPVariableTime(Realm):
|
|||||||
# logger.info(tcp_dl)
|
# logger.info(tcp_dl)
|
||||||
# combine total download (tcp&udp) and upload (tcp&udp) test data
|
# combine total download (tcp&udp) and upload (tcp&udp) test data
|
||||||
if item.endswith("-A"):
|
if item.endswith("-A"):
|
||||||
total_dl += int(value)
|
total_ul += int(value)
|
||||||
# logger.info(total_dl)
|
# logger.info(total_dl)
|
||||||
else:
|
else:
|
||||||
total_ul += int(value)
|
total_dl += int(value)
|
||||||
# logger.info(total_ul)
|
# logger.info(total_ul)
|
||||||
if value_name == 'rx rate ll':
|
if value_name == 'rx rate ll':
|
||||||
# This hack breaks for mcast or if someone
|
# This hack breaks for mcast or if someone
|
||||||
# names endpoints weirdly.
|
# names endpoints weirdly.
|
||||||
if item.endswith("-A"):
|
if item.endswith("-A"):
|
||||||
total_dl_ll += int(value)
|
|
||||||
else:
|
|
||||||
total_ul_ll += int(value)
|
total_ul_ll += int(value)
|
||||||
|
else:
|
||||||
|
total_dl_ll += int(value)
|
||||||
|
|
||||||
# logger.debug("total-dl: ", total_dl, " total-ul: ", total_ul, "\n")
|
# logger.debug("total-dl: ", total_dl, " total-ul: ", total_ul, "\n")
|
||||||
return endp_rx_map, endp_rx_drop_map, endps, udp_dl, tcp_dl, udp_ul, tcp_ul, total_dl, total_ul, total_dl_ll, total_ul_ll
|
return endp_rx_map, endp_rx_drop_map, endps, udp_dl, tcp_dl, udp_ul, tcp_ul, total_dl, total_ul, total_dl_ll, total_ul_ll
|
||||||
@@ -492,8 +492,8 @@ class IPVariableTime(Realm):
|
|||||||
total_test = len(self.get_result_list())
|
total_test = len(self.get_result_list())
|
||||||
total_pass = len(self.get_passed_result_list())
|
total_pass = len(self.get_passed_result_list())
|
||||||
endp_rx_map, endp_rx_drop_map, endps, udp_dl, tcp_dl, udp_ul, tcp_ul, total_dl, total_ul, total_dl_ll, total_ul_ll = self.get_rx_values()
|
endp_rx_map, endp_rx_drop_map, endps, udp_dl, tcp_dl, udp_ul, tcp_ul, total_dl, total_ul, total_dl_ll, total_ul_ll = self.get_rx_values()
|
||||||
self.record_kpi_csv(temp_stations_list, total_test, total_pass, tcp_dl, tcp_ul, total_dl, total_ul)
|
self.record_kpi_csv(temp_stations_list, total_test, total_pass, udp_dl, tcp_dl, udp_ul, tcp_ul, total_dl, total_ul)
|
||||||
self.record_results(len(temp_stations_list), tcp_dl, tcp_ul, total_dl, total_ul)
|
self.record_results(len(temp_stations_list), udp_dl, tcp_dl, udp_ul, tcp_ul, total_dl, total_ul)
|
||||||
|
|
||||||
self.stop()
|
self.stop()
|
||||||
if not self.use_existing_sta:
|
if not self.use_existing_sta:
|
||||||
@@ -520,7 +520,9 @@ class IPVariableTime(Realm):
|
|||||||
tmp_sta_list,
|
tmp_sta_list,
|
||||||
total_test,
|
total_test,
|
||||||
total_pass,
|
total_pass,
|
||||||
|
udp_dl,
|
||||||
tcp_dl,
|
tcp_dl,
|
||||||
|
udp_ul,
|
||||||
tcp_ul,
|
tcp_ul,
|
||||||
total_dl,
|
total_dl,
|
||||||
total_ul):
|
total_ul):
|
||||||
@@ -540,11 +542,21 @@ class IPVariableTime(Realm):
|
|||||||
|
|
||||||
sta_list = len(tmp_sta_list)
|
sta_list = len(tmp_sta_list)
|
||||||
# logic for Subtest-Pass & Subtest-Fail columns
|
# logic for Subtest-Pass & Subtest-Fail columns
|
||||||
|
subpass_udp_dl = 0
|
||||||
|
subpass_udp_ul = 0
|
||||||
subpass_tcp_dl = 0
|
subpass_tcp_dl = 0
|
||||||
subpass_tcp_ul = 0
|
subpass_tcp_ul = 0
|
||||||
|
subfail_udp_dl = 1
|
||||||
|
subfail_udp_ul = 1
|
||||||
subfail_tcp_dl = 1
|
subfail_tcp_dl = 1
|
||||||
subfail_tcp_ul = 1
|
subfail_tcp_ul = 1
|
||||||
|
|
||||||
|
if udp_dl > 0:
|
||||||
|
subpass_udp_dl = 1
|
||||||
|
subfail_udp_dl = 0
|
||||||
|
if udp_ul > 0:
|
||||||
|
subpass_udp_ul = 1
|
||||||
|
subfail_udp_ul = 0
|
||||||
if tcp_dl > 0:
|
if tcp_dl > 0:
|
||||||
subpass_tcp_dl = 1
|
subpass_tcp_dl = 1
|
||||||
subfail_tcp_dl = 0
|
subfail_tcp_dl = 0
|
||||||
@@ -583,31 +595,56 @@ class IPVariableTime(Realm):
|
|||||||
# logger.info("mode: {mode}".format(mode=mode))
|
# logger.info("mode: {mode}".format(mode=mode))
|
||||||
|
|
||||||
# kpi data for TCP download traffic
|
# kpi data for TCP download traffic
|
||||||
results_dict = self.kpi_csv.kpi_csv_get_dict_update_time()
|
if self.traffic_type.endswith("tcp"):
|
||||||
results_dict['Graph-Group'] = "TCP Download Rate"
|
results_dict = self.kpi_csv.kpi_csv_get_dict_update_time()
|
||||||
results_dict['pass/fail'] = pass_fail
|
results_dict['Graph-Group'] = "TCP Download Rate"
|
||||||
results_dict['Subtest-Pass'] = subpass_tcp_dl
|
results_dict['pass/fail'] = pass_fail
|
||||||
results_dict['Subtest-Fail'] = subfail_tcp_dl
|
results_dict['Subtest-Pass'] = subpass_tcp_dl
|
||||||
results_dict['short-description'] = "Mode {mode} TCP-DL {side_a_min_rate} bps {sta_list} STA".format(mode=mode, side_a_min_rate=self.side_a_min_rate, sta_list=sta_list)
|
results_dict['Subtest-Fail'] = subfail_tcp_dl
|
||||||
results_dict['numeric-score'] = "{}".format(total_dl)
|
results_dict['short-description'] = "Mode {mode} TCP-DL {side_a_min_rate} bps {sta_list} STA".format(mode=mode, side_a_min_rate=self.side_a_min_rate, sta_list=sta_list)
|
||||||
results_dict['Units'] = "bps"
|
results_dict['numeric-score'] = "{}".format(total_dl)
|
||||||
self.kpi_csv.kpi_csv_write_dict(results_dict)
|
results_dict['Units'] = "bps"
|
||||||
|
self.kpi_csv.kpi_csv_write_dict(results_dict)
|
||||||
|
|
||||||
# kpi data for TCP upload traffic
|
# kpi data for TCP upload traffic
|
||||||
results_dict['Graph-Group'] = "TCP Upload Rate"
|
results_dict['Graph-Group'] = "TCP Upload Rate"
|
||||||
results_dict['pass/fail'] = pass_fail
|
results_dict['pass/fail'] = pass_fail
|
||||||
results_dict['Subtest-Pass'] = subpass_tcp_ul
|
results_dict['Subtest-Pass'] = subpass_tcp_ul
|
||||||
results_dict['Subtest-Fail'] = subfail_tcp_ul
|
results_dict['Subtest-Fail'] = subfail_tcp_ul
|
||||||
results_dict['short-description'] = "Mode {mode} TCP-UL {side_a_min_rate} bps {sta_list} STA".format(mode=mode, side_a_min_rate=self.side_a_min_rate, sta_list=sta_list)
|
results_dict['short-description'] = "Mode {mode} TCP-UL {side_a_min_rate} bps {sta_list} STA".format(mode=mode, side_a_min_rate=self.side_a_min_rate, sta_list=sta_list)
|
||||||
results_dict['numeric-score'] = "{}".format(total_ul)
|
results_dict['numeric-score'] = "{}".format(total_ul)
|
||||||
results_dict['Units'] = "bps"
|
results_dict['Units'] = "bps"
|
||||||
self.kpi_csv.kpi_csv_write_dict(results_dict)
|
self.kpi_csv.kpi_csv_write_dict(results_dict)
|
||||||
|
|
||||||
|
# kpi data for UDP download traffic
|
||||||
|
elif self.traffic_type.endswith("udp"):
|
||||||
|
results_dict = self.kpi_csv.kpi_csv_get_dict_update_time()
|
||||||
|
results_dict['Graph-Group'] = "UDP Download Rate"
|
||||||
|
results_dict['pass/fail'] = pass_fail
|
||||||
|
results_dict['Subtest-Pass'] = subpass_udp_dl
|
||||||
|
results_dict['Subtest-Fail'] = subfail_udp_dl
|
||||||
|
results_dict['short-description'] = "Mode {mode} UDP-DL {side_a_min_rate} bps {sta_list} STA".format(mode=mode, side_a_min_rate=self.side_a_min_rate, sta_list=sta_list)
|
||||||
|
results_dict['numeric-score'] = "{}".format(total_dl)
|
||||||
|
results_dict['Units'] = "bps"
|
||||||
|
self.kpi_csv.kpi_csv_write_dict(results_dict)
|
||||||
|
|
||||||
|
# kpi data for UDP upload traffic
|
||||||
|
results_dict['Graph-Group'] = "UDP Upload Rate"
|
||||||
|
results_dict['pass/fail'] = pass_fail
|
||||||
|
results_dict['Subtest-Pass'] = subpass_udp_ul
|
||||||
|
results_dict['Subtest-Fail'] = subfail_udp_ul
|
||||||
|
results_dict['short-description'] = "Mode {mode} UDP-UL {side_a_min_rate} bps {sta_list} STA".format(mode=mode, side_a_min_rate=self.side_a_min_rate, sta_list=sta_list)
|
||||||
|
results_dict['numeric-score'] = "{}".format(total_ul)
|
||||||
|
results_dict['Units'] = "bps"
|
||||||
|
self.kpi_csv.kpi_csv_write_dict(results_dict)
|
||||||
|
|
||||||
# record results for .html & .pdf reports
|
# record results for .html & .pdf reports
|
||||||
def record_results(
|
def record_results(
|
||||||
self,
|
self,
|
||||||
sta_count,
|
sta_count,
|
||||||
|
udp_dl,
|
||||||
tcp_dl,
|
tcp_dl,
|
||||||
|
udp_ul,
|
||||||
tcp_ul,
|
tcp_ul,
|
||||||
total_dl_bps,
|
total_dl_bps,
|
||||||
total_ul_bps):
|
total_ul_bps):
|
||||||
@@ -628,17 +665,26 @@ class IPVariableTime(Realm):
|
|||||||
"NOTE: Adding results to influx, total-download-bps: %s upload: %s bi-directional: %s\n" %
|
"NOTE: Adding results to influx, total-download-bps: %s upload: %s bi-directional: %s\n" %
|
||||||
(total_dl_bps, total_ul_bps, (total_ul_bps + total_dl_bps)))
|
(total_dl_bps, total_ul_bps, (total_ul_bps + total_dl_bps)))
|
||||||
|
|
||||||
if self.csv_results_file:
|
if self.traffic_type.endswith("tcp"):
|
||||||
row = [self.epoch_time, self.time_stamp(), sta_count,
|
if self.csv_results_file:
|
||||||
ul, ul, dl, dl, tcp_ul, tcp_dl,
|
row = [self.epoch_time, self.time_stamp(), sta_count,
|
||||||
total_dl_bps, total_ul_bps, (total_ul_bps + total_dl_bps)
|
ul, ul, dl, dl, tcp_ul, tcp_dl,
|
||||||
]
|
total_ul_bps, total_dl_bps, (total_ul_bps + total_dl_bps)
|
||||||
|
]
|
||||||
self.csv_results_writer.writerow(row)
|
self.csv_results_writer.writerow(row)
|
||||||
self.csv_results_file.flush()
|
self.csv_results_file.flush()
|
||||||
|
elif self.traffic_type.endswith("udp"):
|
||||||
|
if self.csv_results_file:
|
||||||
|
row = [self.epoch_time, self.time_stamp(), sta_count,
|
||||||
|
ul, ul, dl, dl, udp_ul, udp_dl,
|
||||||
|
total_ul_bps, total_dl_bps, (total_ul_bps + total_dl_bps)
|
||||||
|
]
|
||||||
|
self.csv_results_writer.writerow(row)
|
||||||
|
self.csv_results_file.flush()
|
||||||
|
|
||||||
def csv_generate_results_column_headers(self):
|
def csv_generate_results_column_headers(self):
|
||||||
csv_rx_headers = [
|
if self.traffic_type.endswith("tcp"):
|
||||||
|
csv_rx_headers = [
|
||||||
'Time epoch',
|
'Time epoch',
|
||||||
'Time',
|
'Time',
|
||||||
'Station-Count',
|
'Station-Count',
|
||||||
@@ -647,13 +693,26 @@ class IPVariableTime(Realm):
|
|||||||
'DL-Min-Requested',
|
'DL-Min-Requested',
|
||||||
'DL-Max-Requested',
|
'DL-Max-Requested',
|
||||||
# 'Attenuation',
|
# 'Attenuation',
|
||||||
# 'UDP-Upload-bps',
|
|
||||||
'TCP-Upload-bps',
|
'TCP-Upload-bps',
|
||||||
# 'UDP-Download-bps',
|
|
||||||
'TCP-Download-bps',
|
'TCP-Download-bps',
|
||||||
'Total-TCP-Upload-bps',
|
'Total-TCP-Upload-bps',
|
||||||
'Total-TCP-Download-bps',
|
'Total-TCP-Download-bps',
|
||||||
'Total-TCP-UL/DL-bps']
|
'Total-TCP-UL/DL-bps']
|
||||||
|
elif self.traffic_type.endswith("udp"):
|
||||||
|
csv_rx_headers = [
|
||||||
|
'Time epoch',
|
||||||
|
'Time',
|
||||||
|
'Station-Count',
|
||||||
|
'UL-Min-Requested',
|
||||||
|
'UL-Max-Requested',
|
||||||
|
'DL-Min-Requested',
|
||||||
|
'DL-Max-Requested',
|
||||||
|
# 'Attenuation',
|
||||||
|
'UDP-Upload-bps',
|
||||||
|
'UDP-Download-bps',
|
||||||
|
'Total-UDP-Upload-bps',
|
||||||
|
'Total-UDP-Download-bps',
|
||||||
|
'Total-UDP-UL/DL-bps']
|
||||||
|
|
||||||
return csv_rx_headers
|
return csv_rx_headers
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user