summaryrefslogtreecommitdiffstats
path: root/legacy/utils/transform/fio_transform.py
blob: e8de2f9a2722eef2eab1db82101e023bbb3bb656 (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
##############################################################################
# Copyright (c) 2017 ZTE Corporation and others.
#
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Apache License, Version 2.0
# which accompanies this distribution, and is available at
# http://www.apache.org/licenses/LICENSE-2.0
##############################################################################
import json
import pickle
import os
import datetime


def get_fio_job_result(fio_job_data):
    return {'read': {'io_bytes': fio_job_data["read"]["io_bytes"],
                     'io_ps': fio_job_data["read"]["iops"],
                     'io_runtime_millisec': fio_job_data["read"]["runtime"],
                     'mean_io_latenchy_microsec': fio_job_data["read"]["lat"]["mean"]},
            'write': {'io_bytes': fio_job_data["write"]["io_bytes"],
                      'io_ps': fio_job_data["write"]["iops"],
                      'io_runtime_millisec': fio_job_data["write"]["runtime"],
                      'mean_io_latenchy_microsec': fio_job_data["write"]["lat"]["mean"]}}


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

fio_result_dict = {}
for x, result in enumerate(map(get_fio_job_result, fio_data["jobs"])):
    fio_result_dict['job_{0}'.format(x)] = result

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)