mirror of
https://github.com/Telecominfraproject/wlan-lanforge-scripts.git
synced 2025-11-01 11:18:03 +00:00
tos graph generation
This commit is contained in:
@@ -258,20 +258,44 @@ class ThroughputQOS(Realm):
|
|||||||
temp = int(sta[12:])
|
temp = int(sta[12:])
|
||||||
if temp % 4 == 0:
|
if temp % 4 == 0:
|
||||||
data = list(self.json_get('/cx/%s?fields=bps+rx+a,bps+rx+b' % sta).values())[2]
|
data = list(self.json_get('/cx/%s?fields=bps+rx+a,bps+rx+b' % sta).values())[2]
|
||||||
|
if int(self.cx_profile.side_a_min_bps) != 0:
|
||||||
|
tos_upload['bk'].append(data['bps rx a'] / 1000000)
|
||||||
|
else:
|
||||||
tos_upload['bk'].append(data['bps rx a'])
|
tos_upload['bk'].append(data['bps rx a'])
|
||||||
tos_download['bk'].append(data['bps rx b'])
|
if int(self.cx_profile.side_b_min_bps) != 0:
|
||||||
|
tos_download['bk'].append(data['bps rx b'] / 1000000)
|
||||||
|
else:
|
||||||
|
tos_upload['bk'].append(data['bps rx b'])
|
||||||
elif temp % 4 == 1:
|
elif temp % 4 == 1:
|
||||||
data = list(self.json_get('/cx/%s?fields=bps+rx+a,bps+rx+b' % sta).values())[2]
|
data = list(self.json_get('/cx/%s?fields=bps+rx+a,bps+rx+b' % sta).values())[2]
|
||||||
|
if int(self.cx_profile.side_a_min_bps) != 0:
|
||||||
|
tos_upload['be'].append(data['bps rx a'] / 1000000)
|
||||||
|
else:
|
||||||
tos_upload['be'].append(data['bps rx a'])
|
tos_upload['be'].append(data['bps rx a'])
|
||||||
tos_download['be'].append(data['bps rx b'])
|
if int(self.cx_profile.side_b_min_bps) != 0:
|
||||||
|
tos_download['be'].append(data['bps rx b'] / 1000000)
|
||||||
|
else:
|
||||||
|
tos_upload['be'].append(data['bps rx b'])
|
||||||
elif temp % 4 == 2:
|
elif temp % 4 == 2:
|
||||||
data = list(self.json_get('/cx/%s?fields=bps+rx+a,bps+rx+b' % sta).values())[2]
|
data = list(self.json_get('/cx/%s?fields=bps+rx+a,bps+rx+b' % sta).values())[2]
|
||||||
|
if int(self.cx_profile.side_a_min_bps) != 0:
|
||||||
|
tos_upload['voice'].append(data['bps rx a'] / 1000000)
|
||||||
|
else:
|
||||||
tos_upload['voice'].append(data['bps rx a'])
|
tos_upload['voice'].append(data['bps rx a'])
|
||||||
tos_download['voice'].append(data['bps rx b'])
|
if int(self.cx_profile.side_b_min_bps) != 0:
|
||||||
|
tos_download['voice'].append(data['bps rx b'] / 1000000)
|
||||||
|
else:
|
||||||
|
tos_upload['voice'].append(data['bps rx b'])
|
||||||
elif temp % 4 == 3:
|
elif temp % 4 == 3:
|
||||||
data = list(self.json_get('/cx/%s?fields=bps+rx+a,bps+rx+b' % sta).values())[2]
|
data = list(self.json_get('/cx/%s?fields=bps+rx+a,bps+rx+b' % sta).values())[2]
|
||||||
|
if int(self.cx_profile.side_a_min_bps) != 0:
|
||||||
|
tos_upload['video'].append(data['bps rx a'] / 1000000)
|
||||||
|
else:
|
||||||
tos_upload['video'].append(data['bps rx a'])
|
tos_upload['video'].append(data['bps rx a'])
|
||||||
tos_download['video'].append(data['bps rx b'])
|
if int(self.cx_profile.side_b_min_bps) != 0:
|
||||||
|
tos_download['video'].append(data['bps rx b'] / 1000000)
|
||||||
|
else:
|
||||||
|
tos_upload['video'].append(data['bps rx b'])
|
||||||
tos_upload.update({"videoQOS": sum(tos_upload['video']) / 100000})
|
tos_upload.update({"videoQOS": sum(tos_upload['video']) / 100000})
|
||||||
tos_upload.update({"voiceQOS": sum(tos_upload['voice']) / 100000})
|
tos_upload.update({"voiceQOS": sum(tos_upload['voice']) / 100000})
|
||||||
tos_upload.update({"bkQOS": sum(tos_upload['bk']) / 1000000})
|
tos_upload.update({"bkQOS": sum(tos_upload['bk']) / 1000000})
|
||||||
@@ -314,22 +338,41 @@ class ThroughputQOS(Realm):
|
|||||||
t_3mb = []
|
t_3mb = []
|
||||||
t_4mb = []
|
t_4mb = []
|
||||||
t_5mb = []
|
t_5mb = []
|
||||||
new = {}
|
|
||||||
table_df = [t_1mb, t_2mb, t_3mb, t_4mb, t_5mb]
|
table_df = [t_1mb, t_2mb, t_3mb, t_4mb, t_5mb]
|
||||||
|
|
||||||
for key in res:
|
for key in res:
|
||||||
for i in table_df:
|
if key == '1 Mbps':
|
||||||
i.append(res[key]['tos_upload']['bkQOS'])
|
table_df[0].append(res[key]['tos_upload']['bkQOS'])
|
||||||
i.append(res[key]['tos_upload']['beQOS'])
|
table_df[0].append(res[key]['tos_upload']['beQOS'])
|
||||||
i.append(res[key]['tos_upload']['videoQOS'])
|
table_df[0].append(res[key]['tos_upload']['videoQOS'])
|
||||||
i.append(res[key]['tos_upload']['voiceQOS'])
|
table_df[0].append(res[key]['tos_upload']['voiceQOS'])
|
||||||
|
if key == '2 Mbps':
|
||||||
|
table_df[1].append(res[key]['tos_upload']['bkQOS'])
|
||||||
|
table_df[1].append(res[key]['tos_upload']['beQOS'])
|
||||||
|
table_df[1].append(res[key]['tos_upload']['videoQOS'])
|
||||||
|
table_df[1].append(res[key]['tos_upload']['voiceQOS'])
|
||||||
|
if key == '3 Mbps':
|
||||||
|
table_df[2].append(res[key]['tos_upload']['bkQOS'])
|
||||||
|
table_df[2].append(res[key]['tos_upload']['beQOS'])
|
||||||
|
table_df[2].append(res[key]['tos_upload']['videoQOS'])
|
||||||
|
table_df[2].append(res[key]['tos_upload']['voiceQOS'])
|
||||||
|
if key == '4 Mbps':
|
||||||
|
table_df[3].append(res[key]['tos_upload']['bkQOS'])
|
||||||
|
table_df[3].append(res[key]['tos_upload']['beQOS'])
|
||||||
|
table_df[3].append(res[key]['tos_upload']['videoQOS'])
|
||||||
|
table_df[3].append(res[key]['tos_upload']['voiceQOS'])
|
||||||
|
if key == '5 Mbps':
|
||||||
|
table_df[4].append(res[key]['tos_upload']['bkQOS'])
|
||||||
|
table_df[4].append(res[key]['tos_upload']['beQOS'])
|
||||||
|
table_df[4].append(res[key]['tos_upload']['videoQOS'])
|
||||||
|
table_df[4].append(res[key]['tos_upload']['voiceQOS'])
|
||||||
table_df2 = []
|
table_df2 = []
|
||||||
for i in range(len(table_df)):
|
for i in range(len(table_df)):
|
||||||
table_df2.append(f'BK: {table_df[i][0]} | BE: {table_df[i][1]} | VI: {table_df[i][2]} | VO: {table_df[i][3]}')
|
table_df2.append(f'BK: {table_df[i][0]} | BE: {table_df[i][1]} | VI: {table_df[i][2]} | VO: {table_df[i][3]}')
|
||||||
|
|
||||||
df_throughput = pd.DataFrame({
|
df_throughput = pd.DataFrame({
|
||||||
'Mode()': ['bgn-AC'], "No.of.clients": [len(self.sta_list)],
|
'Mode': ['bgn-AC'], "No.of.clients": [len(self.sta_list)],
|
||||||
'Throughput for Load (1 Mbps)': [table_df2[0]],
|
'Throughput for Load (1 Mbps)': [table_df2[0]],
|
||||||
'Throughput for Load (2 Mbps)': [table_df2[1]],
|
'Throughput for Load (2 Mbps)': [table_df2[1]],
|
||||||
'Throughput for Load (3 Mbps)': [table_df2[2]],
|
'Throughput for Load (3 Mbps)': [table_df2[2]],
|
||||||
@@ -342,28 +385,48 @@ class ThroughputQOS(Realm):
|
|||||||
report.set_graph_title("Overall upload Throughput for 2.4G clients for various TOS.")
|
report.set_graph_title("Overall upload Throughput for 2.4G clients for various TOS.")
|
||||||
report.build_graph_title()
|
report.build_graph_title()
|
||||||
|
|
||||||
y_1mb = []
|
y_bk = []
|
||||||
y_2mb = []
|
y_be = []
|
||||||
y_3mb = []
|
y_vi = []
|
||||||
y_4mb = []
|
y_vo = []
|
||||||
y_5mb = []
|
|
||||||
|
|
||||||
graph_df = [y_1mb, y_2mb, y_3mb, y_4mb, y_5mb]
|
graph_df = [y_bk, y_be, y_vi, y_vo]
|
||||||
for key in res:
|
for key in res:
|
||||||
for i in graph_df:
|
if key == '1 Mbps':
|
||||||
i.append(res[key]['tos_upload']['beQOS'])
|
graph_df[0].append(res[key]['tos_upload']['bkQOS'])
|
||||||
i.append(res[key]['tos_upload']['bkQOS'])
|
graph_df[1].append(res[key]['tos_upload']['beQOS'])
|
||||||
i.append(res[key]['tos_upload']['videoQOS'])
|
graph_df[2].append(res[key]['tos_upload']['videoQOS'])
|
||||||
i.append(res[key]['tos_upload']['voiceQOS'])
|
graph_df[3].append(res[key]['tos_upload']['voiceQOS'])
|
||||||
|
if key == '2 Mbps':
|
||||||
|
graph_df[0].append(res[key]['tos_upload']['bkQOS'])
|
||||||
|
graph_df[1].append(res[key]['tos_upload']['beQOS'])
|
||||||
|
graph_df[2].append(res[key]['tos_upload']['videoQOS'])
|
||||||
|
graph_df[3].append(res[key]['tos_upload']['voiceQOS'])
|
||||||
|
if key == '3 Mbps':
|
||||||
|
graph_df[0].append(res[key]['tos_upload']['bkQOS'])
|
||||||
|
graph_df[1].append(res[key]['tos_upload']['beQOS'])
|
||||||
|
graph_df[2].append(res[key]['tos_upload']['videoQOS'])
|
||||||
|
graph_df[3].append(res[key]['tos_upload']['voiceQOS'])
|
||||||
|
if key == '4 Mbps':
|
||||||
|
graph_df[0].append(res[key]['tos_upload']['bkQOS'])
|
||||||
|
graph_df[1].append(res[key]['tos_upload']['beQOS'])
|
||||||
|
graph_df[2].append(res[key]['tos_upload']['videoQOS'])
|
||||||
|
graph_df[3].append(res[key]['tos_upload']['voiceQOS'])
|
||||||
|
if key == '5 Mbps':
|
||||||
|
graph_df[0].append(res[key]['tos_upload']['bkQOS'])
|
||||||
|
graph_df[1].append(res[key]['tos_upload']['beQOS'])
|
||||||
|
graph_df[2].append(res[key]['tos_upload']['videoQOS'])
|
||||||
|
graph_df[3].append(res[key]['tos_upload']['voiceQOS'])
|
||||||
|
|
||||||
graph = lf_bar_graph(_data_set=graph_df,
|
graph = lf_bar_graph(_data_set=graph_df,
|
||||||
_xaxis_name="TOS (Type of Service)",
|
_xaxis_name="Load (Mbps) per Type of Service",
|
||||||
_yaxis_name="Throughput (Mbps)",
|
_yaxis_name="Throughput (Mbps)",
|
||||||
_xaxis_categories=["BK", "BE", "VI", "VO"],
|
_xaxis_categories=[1, 2, 3, 4, 5],
|
||||||
_graph_image_name="Bi-single_radio_2.4GHz",
|
_graph_image_name="Bi-single_radio_2.4GHz",
|
||||||
_label=["1 Mbps", "2 Mbps", "3 Mbps", "4 Mbps", "5 Mbps"],
|
_label=["BE", "BK", "VI", "VO"],
|
||||||
_color=['red', 'yellow', 'green', 'purple', 'thistle'],
|
_color=['blue', 'yellow', 'green', 'purple'],
|
||||||
_color_edge='black')
|
_color_edge='black',
|
||||||
|
_bar_width=0.15)
|
||||||
|
|
||||||
graph_png = graph.build_bar_graph()
|
graph_png = graph.build_bar_graph()
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user