Add version 2 benchmark list formatting
This commit is contained in:
		| @@ -81,8 +81,8 @@ def format_ops_tohuman(dataops): | ||||
|     datahuman = '' | ||||
|     for unit in sorted(ops_unit_matrix, key=ops_unit_matrix.get, reverse=True): | ||||
|         new_ops = int(math.ceil(dataops / ops_unit_matrix[unit])) | ||||
|         # Round up if 5 or more digits | ||||
|         if new_ops > 9999: | ||||
|         # Round up if 6 or more digits | ||||
|         if new_ops > 99999: | ||||
|             # We can jump down another level | ||||
|             continue | ||||
|         else: | ||||
| @@ -1453,6 +1453,46 @@ def ceph_benchmark_list(config, job): | ||||
|     return retvalue, retdata | ||||
|  | ||||
|  | ||||
| def get_benchmark_list_results_legacy(benchmark_data): | ||||
|     benchmark_bandwidth = dict() | ||||
|     benchmark_iops = dict() | ||||
|     for test in ["seq_read", "seq_write", "rand_read_4K", "rand_write_4K"]: | ||||
|         benchmark_bandwidth[test] = format_bytes_tohuman(int(benchmark_data[test]['overall']['bandwidth']) * 1024) | ||||
|         benchmark_iops[test] = format_ops_tohuman(int(benchmark_data[test]['overall']['iops'])) | ||||
|  | ||||
|     return benchmark_bandwidth, benchmark_iops | ||||
|  | ||||
|  | ||||
| def get_benchmark_list_results_json(benchmark_data): | ||||
|     benchmark_bandwidth = dict() | ||||
|     benchmark_iops = dict() | ||||
|     for test in ['seq_read', 'seq_write', 'rand_read_4K', 'rand_write_4K']: | ||||
|         benchmark_test_data = benchmark_data[test] | ||||
|         active_class = None | ||||
|         for io_class in ['read', 'write']: | ||||
|             if benchmark_test_data['jobs'][0][io_class]['io_bytes'] > 0: | ||||
|                 active_class = io_class | ||||
|         if active_class is not None: | ||||
|             benchmark_bandwidth[test] = format_bytes_tohuman(int(benchmark_test_data['jobs'][0][active_class]['bw_bytes'])) | ||||
|             benchmark_iops[test] = format_ops_tohuman(int(benchmark_test_data['jobs'][0][active_class]['iops'])) | ||||
|  | ||||
|     return benchmark_bandwidth, benchmark_iops | ||||
|  | ||||
|  | ||||
| def get_benchmark_list_results(benchmark_format, benchmark_data): | ||||
|     if benchmark_format == 0: | ||||
|         benchmark_bandwidth, benchmark_iops = get_benchmark_list_results_legacy(benchmark_data) | ||||
|     elif benchmark_format == 1: | ||||
|         benchmark_bandwidth, benchmark_iops = get_benchmark_list_results_json(benchmark_data) | ||||
|  | ||||
|     seq_benchmark_bandwidth = "{} / {}".format(benchmark_bandwidth['seq_read'], benchmark_bandwidth['seq_write']) | ||||
|     seq_benchmark_iops = "{} / {}".format(benchmark_iops['seq_read'], benchmark_iops['seq_write']) | ||||
|     rand_benchmark_bandwidth = "{} / {}".format(benchmark_bandwidth['rand_read_4K'], benchmark_bandwidth['rand_write_4K']) | ||||
|     rand_benchmark_iops = "{} / {}".format(benchmark_iops['rand_read_4K'], benchmark_iops['rand_write_4K']) | ||||
|  | ||||
|     return seq_benchmark_bandwidth, seq_benchmark_iops, rand_benchmark_bandwidth, rand_benchmark_iops | ||||
|  | ||||
|  | ||||
| def format_list_benchmark(config, benchmark_information): | ||||
|     benchmark_list_output = [] | ||||
|  | ||||
| @@ -1482,18 +1522,7 @@ def format_list_benchmark(config, benchmark_information): | ||||
|             continue | ||||
|  | ||||
|         benchmark_data = benchmark['benchmark_result'] | ||||
|  | ||||
|         benchmark_bandwidth = dict() | ||||
|         benchmark_iops = dict() | ||||
|         for test in ["seq_read", "seq_write", "rand_read_4K", "rand_write_4K"]: | ||||
|             benchmark_data = benchmark['benchmark_result'] | ||||
|             benchmark_bandwidth[test] = format_bytes_tohuman(int(benchmark_data[test]['overall']['bandwidth']) * 1024) | ||||
|             benchmark_iops[test] = format_ops_tohuman(int(benchmark_data[test]['overall']['iops'])) | ||||
|  | ||||
|         seq_benchmark_bandwidth = "{} / {}".format(benchmark_bandwidth['seq_read'], benchmark_bandwidth['seq_write']) | ||||
|         seq_benchmark_iops = "{} / {}".format(benchmark_iops['seq_read'], benchmark_iops['seq_write']) | ||||
|         rand_benchmark_bandwidth = "{} / {}".format(benchmark_bandwidth['rand_read_4K'], benchmark_bandwidth['rand_write_4K']) | ||||
|         rand_benchmark_iops = "{} / {}".format(benchmark_iops['rand_read_4K'], benchmark_iops['rand_write_4K']) | ||||
|         seq_benchmark_bandwidth, seq_benchmark_iops, rand_benchmark_bandwidth, rand_benchmark_iops = get_benchmark_list_results(benchmark_format, benchmark_data) | ||||
|  | ||||
|         _benchmark_seq_bw_length = len(seq_benchmark_bandwidth) + 1 | ||||
|         if _benchmark_seq_bw_length > benchmark_seq_bw_length: | ||||
| @@ -1558,17 +1587,8 @@ def format_list_benchmark(config, benchmark_information): | ||||
|             rand_benchmark_bandwidth = 'Running' | ||||
|             rand_benchmark_iops = 'Running' | ||||
|         else: | ||||
|             benchmark_bandwidth = dict() | ||||
|             benchmark_iops = dict() | ||||
|             for test in ["seq_read", "seq_write", "rand_read_4K", "rand_write_4K"]: | ||||
|                 benchmark_data = benchmark['benchmark_result'] | ||||
|                 benchmark_bandwidth[test] = format_bytes_tohuman(int(benchmark_data[test]['overall']['bandwidth']) * 1024) | ||||
|                 benchmark_iops[test] = format_ops_tohuman(int(benchmark_data[test]['overall']['iops'])) | ||||
|  | ||||
|             seq_benchmark_bandwidth = "{} / {}".format(benchmark_bandwidth['seq_read'], benchmark_bandwidth['seq_write']) | ||||
|             seq_benchmark_iops = "{} / {}".format(benchmark_iops['seq_read'], benchmark_iops['seq_write']) | ||||
|             rand_benchmark_bandwidth = "{} / {}".format(benchmark_bandwidth['rand_read_4K'], benchmark_bandwidth['rand_write_4K']) | ||||
|             rand_benchmark_iops = "{} / {}".format(benchmark_iops['rand_read_4K'], benchmark_iops['rand_write_4K']) | ||||
|             benchmark_data = benchmark['benchmark_result'] | ||||
|             seq_benchmark_bandwidth, seq_benchmark_iops, rand_benchmark_bandwidth, rand_benchmark_iops = get_benchmark_list_results(benchmark_format, benchmark_data) | ||||
|  | ||||
|         benchmark_list_output.append('{bold}\ | ||||
| {benchmark_job: <{benchmark_job_length}}  \ | ||||
|   | ||||
		Reference in New Issue
	
	Block a user