LEFT | RIGHT |
1 import os | 1 import os |
2 | 2 |
3 | 3 |
4 def _read_required_data_from_file(file_name): | 4 def _read_required_data_from_file(file_name): |
5 result = { | 5 result = { |
6 '50thpercentile': None, | 6 '50thpercentile': None, |
7 '99thpercentile': None, | 7 '99thpercentile': None, |
8 'maximum_latency': None | 8 'maximum_latency': None |
9 } | 9 } |
10 fiftieth_percentile = "[READ], p50," | 10 fiftieth_percentile = "[READ], p50," |
11 ninety_nineth_percentile = "[READ], p99," | 11 ninety_nineth_percentile = "[READ], p99," |
12 max_read_latency = "[READ], Max," | 12 max_read_latency = "[READ], Max," |
13 with open(file_name) as ycsb_log: | 13 with open(file_name) as ycsb_log: |
14 lines = ycsb_log.readlines() | 14 lines = ycsb_log.readlines() |
15 for line in lines: | 15 for line in lines: |
16 if fiftieth_percentile in line: | 16 if fiftieth_percentile in line: |
17 result['50thpercentile'] = float(line.strip().split(',')[2]) | 17 result['50thpercentile'] = float(line.strip().split(',')[2]) |
18 elif ninety_nineth_percentile in line: | 18 elif ninety_nineth_percentile in line: |
19 result['99thpercentile'] = float(line.strip().split(',')[2]) | 19 result['99thpercentile'] = float(line.strip().split(',')[2]) |
20 elif max_read_latency in line: | 20 elif max_read_latency in line: |
21 result['maximum_latency'] = float(line.strip().split(',')[2]) | 21 result['maximum_latency'] = float(line.strip().split(',')[2]) |
22 | 22 |
23 print(result) | |
24 return result | 23 return result |
25 | 24 |
26 | 25 |
27 def get_yscb_data_from_folder(output_folder): | 26 def get_yscb_data_from_folder(output_folder): |
28 """ | 27 """ |
29 :return a list of dicts [ {}, {} ] with result | 28 :return a list of dicts [ {}, {} ] with result |
30 :param output_folder: | 29 :param output_folder: |
31 :return: | 30 :return: |
32 """ | 31 """ |
33 # Get file names | 32 # Get file names |
34 yscb_data = [] | 33 yscb_data = [] |
35 for file in os.listdir(output_folder): | 34 for file in os.listdir(output_folder): |
36 if file.endswith(".ycsb"): | 35 if file.endswith(".ycsb"): |
37 yscb_data.append( | 36 yscb_data.append( |
38 _read_required_data_from_file(os.path.join(output_folder, file)) | 37 _read_required_data_from_file(os.path.join(output_folder, file)) |
39 ) | 38 ) |
40 | 39 |
41 return yscb_data | 40 return yscb_data |
LEFT | RIGHT |