perfmetrics/scripts/presubmit/fetch_results.py (18 lines of code) (raw):
# Copyright 2023 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
import sys
# For fetching fio_metrics from fio
sys.path.append("./perfmetrics/scripts/")
from fio.fio_metrics import FioMetrics
if __name__ == '__main__':
argv = sys.argv
if len(argv) != 2:
raise TypeError('Incorrect number of arguments.\n'
'Usage: '
'python3 show_results.py <fio output json filepath>')
# Fetching metrics from json file
fio_metrics_obj = FioMetrics()
data = fio_metrics_obj.get_metrics(argv[1])
MB = 1024.0
# Fetching results in result.txt file
file = open("result.txt", "a")
# Iterating through data
for d in data :
# Print filesize only once
if d['params']['rw'] == "read":
file.write(str.format(str(round(d["params"]["filesize_kb"]/MB,3)) + "MiB" + "\n"))
# Print Bandwidth
file.write(str.format(str(round(d["metrics"]["bw_bytes"]/(MB*MB),2)) + "MiB/s" + "\n"))
file.close()