aboutsummaryrefslogtreecommitdiffstats
path: root/benchmarks/playbooks/result_transform/fio/fio_result_transform.py
blob: f9410a62da4bbaaa87195a48ab89e0c8f6b4a704 (plain)
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
import json
import pickle
import os
import datetime

with open("fio_result.json") as fio_raw:
    fio_data=json.load(fio_raw)

r_iops=[];
r_io_bytes=[];
r_io_runtime=[];
r_lat=[];
w_iops=[];
w_io_bytes=[];
w_io_runtime=[];
w_lat=[];



total_jobs=len(fio_data["jobs"])

for x in range (0,int(total_jobs)):
    r_iops.append(fio_data["jobs"][x]["read"]["iops"])
    r_io_bytes.append(fio_data["jobs"][x]["read"]["io_bytes"])
    r_io_runtime.append(fio_data["jobs"][x]["read"]["runtime"])
    r_lat.append(fio_data["jobs"][x]["read"]["lat"]["mean"])
    w_iops.append(fio_data["jobs"][x]["write"]["iops"])
    w_io_bytes.append(fio_data["jobs"][x]["write"]["io_bytes"])
    w_io_runtime.append(fio_data["jobs"][x]["write"]["runtime"])
    w_lat.append(fio_data["jobs"][x]["write"]["lat"]["mean"])



FIO_result_dict={};

for x in range (0,total_jobs):
    FIO_result_dict['Job_'+str(x)]={};
    FIO_result_dict['Job_'+str(x)]['read']={};
    FIO_result_dict['Job_'+str(x)]['read']['Total_IO_Bytes']=r_io_bytes[x]
    FIO_result_dict['Job_'+str(x)]['read']['IO/sec']=r_iops[x]
    FIO_result_dict['Job_'+str(x)]['read']['IO_runtime (millisec)']=r_io_runtime[x]
    FIO_result_dict['Job_'+str(x)]['read']['mean_IO_latenchy (microsec)']=r_lat[x]
    
    FIO_result_dict['Job_'+str(x)]['write']={};
    FIO_result_dict['Job_'+str(x)]['write']['Total_IO_Bytes']=w_io_bytes[x]
    FIO_result_dict['Job_'+str(x)]['write']['IO/sec']=w_iops[x]
    FIO_result_dict['Job_'+str(x)]['write']['IO_runtime (millisec)']=w_io_runtime[x]
    FIO_result_dict['Job_'+str(x)]['write']['mean_IO_latenchy (microsec)']=w_lat[x]



host_name = (os.popen("hostname").read().rstrip())
report_time = str(datetime.datetime.utcnow().isoformat())
os.system("mv fio_result.json "+str(host_name)+"-"+report_time+".log")
with open('./result_temp','w+')as out_fio_result:
    pickle.dump(FIO_result_dict,out_fio_result)