mirror of
				https://github.com/Telecominfraproject/wlan-lanforge-scripts.git
				synced 2025-10-31 10:48:02 +00:00 
			
		
		
		
	run multiple number of stations
This commit is contained in:
		| @@ -179,6 +179,14 @@ class ThroughputQOS(Realm): | ||||
|                     data = list(self.json_get('/cx/%s?fields=bps+rx+a,bps+rx+b' % sta).values())[2] | ||||
|                     tos_upload['_video'].append(data['bps rx a']) | ||||
|                     tos_download['_video'].append(data['bps rx b']) | ||||
|             tos_upload.update({"_video" : sum(tos_upload['_video'])}) | ||||
|             tos_upload.update({"_voice": sum(tos_upload['_voice'])}) | ||||
|             tos_upload.update({"_bk": sum(tos_upload['_bk'])}) | ||||
|             tos_upload.update({"_be": sum(tos_upload['_be'])}) | ||||
|             tos_download.update({"_video": sum(tos_download['_video'])}) | ||||
|             tos_download.update({"_voice": sum(tos_download['_voice'])}) | ||||
|             tos_download.update({"_bk": sum(tos_download['_bk'])}) | ||||
|             tos_download.update({"_be": sum(tos_download['_be'])}) | ||||
|         else: | ||||
|             print("no connections available to evaluate QOS") | ||||
|         print(tos_upload, tos_download) | ||||
| @@ -249,19 +257,24 @@ python3 ./throughput_QOS.py | ||||
|     print("--------------------------------------------") | ||||
|     print(args) | ||||
|     print("--------------------------------------------") | ||||
|  | ||||
|     results = [], load = {"a_min": [], "b_min": []} | ||||
|     # for multiple test conditions # | ||||
|     if args.num_stations is not None: | ||||
|         if len(args.num_stations.split(',')) > 1: | ||||
|             num_stations = args.num_stations.split(',') | ||||
|         stations = args.num_stations.split(',') | ||||
|     if args.modes is not None: | ||||
|             modes = args.modes.split(',') | ||||
|         modes = args.mode.split(',') | ||||
|     if args.radio is not None: | ||||
|             radios = args.modes.split(',') | ||||
|     # ---------------------------------------# | ||||
|  | ||||
|         radios = args.radio.split(',') | ||||
|     if  args.a_min is not None or args.b_min is not None: | ||||
|         args.a_min = args.a_min.split(',') | ||||
|         args.b_min = args.b_min.split(',') | ||||
|         load.update({"a_min": args.a_min}) | ||||
|         load.update({"b_min": args.b_min}) | ||||
|     if args.test_duration is not None: | ||||
|         args.test_duration = args.test_duration.strip('m') | ||||
|     for station in stations: | ||||
|         if args.create_sta: | ||||
|         station_list = LFUtils.portNameSeries(prefix_="sta", start_id_=0, end_id_=int(args.num_stations) - 1, | ||||
|             station_list = LFUtils.portNameSeries(prefix_="sta", start_id_=0, end_id_=int(station) - 1, | ||||
|                                                   padding_number_=10000, | ||||
|                                                   radio=args.radio) | ||||
|         else: | ||||
| @@ -301,9 +314,9 @@ python3 ./throughput_QOS.py | ||||
|         #     raise ValueError('Try setting the upstream port flag if your device does not have an eth1 port') | ||||
|  | ||||
|         throughput_qos.start(False, False) | ||||
|     time.sleep(30) | ||||
|         time.sleep(int(args.test_duration) * 60) | ||||
|         throughput_qos.stop() | ||||
|     throughput_qos.evaluate_throughput() | ||||
|         results.append(throughput_qos.evaluate_throughput()) | ||||
|         if args.create_sta: | ||||
|             if not throughput_qos.passes(): | ||||
|                 print(throughput_qos.get_fail_message()) | ||||
| @@ -312,6 +325,11 @@ python3 ./throughput_QOS.py | ||||
|             if throughput_qos.passes(): | ||||
|                 throughput_qos.success() | ||||
|         throughput_qos.cleanup() | ||||
|         # ---------------------------------------# | ||||
|     print('+++++++++++++++++') | ||||
|     print(results) | ||||
|     print('+++++++++++++++++') | ||||
|  | ||||
|  | ||||
|  | ||||
| if __name__ == "__main__": | ||||
|   | ||||
| @@ -117,12 +117,12 @@ def tos_report(util, sta_num, bps_rx_a, bps_rx_b, tbl_title, grp_title, upload=1 | ||||
|     if download: | ||||
|         grph(report, | ||||
|              data_set=[[min(i) for i in bps_rx_a], [max(i) for i in bps_rx_a], [sum(i) / len(i) for i in bps_rx_a]], | ||||
|              xaxis_name="Utilizations", yaxis_name="Throughput (Mbps)", | ||||
|              xaxis_name="Load", yaxis_name="Throughput (Mbps)", | ||||
|              xaxis_categories=util, label=["min", "max", 'avg'], graph_image_name="Throughput_download") | ||||
|     if upload: | ||||
|         grph(report, | ||||
|              data_set=[[min(i) for i in bps_rx_b], [max(i) for i in bps_rx_b], [sum(i) / len(i) for i in bps_rx_b]], | ||||
|              xaxis_name="Utilizations", yaxis_name="Throughput (Mbps)", | ||||
|              xaxis_name="Load", yaxis_name="Throughput (Mbps)", | ||||
|              xaxis_categories=util, label=["min", "max", 'avg'], graph_image_name="Throughput_upload") | ||||
|  | ||||
|     for i in range(len(util)): | ||||
|   | ||||
		Reference in New Issue
	
	Block a user