-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathlog_parse.py
60 lines (48 loc) · 2.19 KB
/
log_parse.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
import json
import os
import toml
from utils import arg_parser
from utils.area import plot_area
from utils.ccp_parse import bbr_parse
from utils.parse_tput_delay import parse_tput_delay, plot_tput_delay
from utils.tools import makefolder
args = arg_parser.argument_parser()
config_file_path = args.config
configs = toml.load(config_file_path)
delay_list = configs['data']['delay_list']
packet_buffer_list = configs['data']['packet_buffer_list']
iteration = configs['data']['iteration']
name_map = configs['data']['plot_name_map']
ccp_algs = configs['data']['ccp_algs']
log_folder = configs['path']['log_folder']
fig_folder = configs['path']['fig_folder']
trace_folder = configs['path']['trace_folder']
ccp_fig_folder = configs['path']['ccp_fig_folder']
mahimahi_fig_folder = configs['path']['mahimahi_fig_folder']
area_fig_folder = configs['path']['area_fig_folder']
binsize = configs['data']['log']['binsize']
duration = configs['data']['log']['duration']
enable_iteration_plot = configs['data']['log']['enable_iteration_plot']
enable_alg_plot = configs['data']['log']['enable_alg_plot']
makefolder(fig_folder, ccp_fig_folder)
makefolder(fig_folder, mahimahi_fig_folder)
makefolder(fig_folder, area_fig_folder)
trace_info = json.load(
open(os.path.join(trace_folder, 'trace_info.json'), encoding='utf-8'))
print('parse bbr ccp log')
bbr_parse(packet_buffer_list, trace_info, delay_list, iteration, log_folder,
os.path.join(fig_folder, ccp_fig_folder))
print('parse mahimahi log')
mahimahi_results = parse_tput_delay(log_folder, duration, binsize)
json.dump(mahimahi_results,
open('tmp/mahimahi_results.json', 'w', encoding='utf-8'))
# mahimahi_results = json.load(open('tmp/mahimahi_results.json'))
print('plot throughput and delay')
plot_tput_delay(ccp_algs, packet_buffer_list, trace_info, delay_list,
iteration, mahimahi_results,
os.path.join(fig_folder, mahimahi_fig_folder), enable_alg_plot,
enable_iteration_plot)
print('parse mahimahi log and ')
area_dict = plot_area(ccp_algs, packet_buffer_list, trace_info, delay_list,
iteration, mahimahi_results,
os.path.join(fig_folder, area_fig_folder), name_map)