X-Git-Url: https://git.kernel.dk/?a=blobdiff_plain;f=tools%2Ffio_jsonplus_clat2csv;h=78a007e57e5837f6d35a4b1f9caa8fa68b4420ca;hb=e26029be10ee2c570cba2c4cc2b1987568306cd2;hp=d4ac16e422f6a6df3f61c3af3ebcb9d8a4edc8fe;hpb=e6fe02651641fc64d2fa4fcfe9b1013b2947d11b;p=fio.git diff --git a/tools/fio_jsonplus_clat2csv b/tools/fio_jsonplus_clat2csv index d4ac16e4..78a007e5 100755 --- a/tools/fio_jsonplus_clat2csv +++ b/tools/fio_jsonplus_clat2csv @@ -1,4 +1,5 @@ -#!/usr/bin/python +#!/usr/bin/python2.7 +# Note: this script is python2 and python3 compatible. # # fio_jsonplus_clat2csv # @@ -60,9 +61,13 @@ # 10304ns is the 100th percentile for read latency # +from __future__ import absolute_import +from __future__ import print_function import os import json import argparse +import six +from six.moves import range def parse_args(): @@ -87,7 +92,7 @@ def percentile(idx, run_total): def more_lines(indices, bins): - for key, value in indices.iteritems(): + for key, value in six.iteritems(indices): if value < len(bins[key]): return True @@ -107,9 +112,17 @@ def main(): prev_ddir = None for ddir in ddir_set: + if 'bins' in jsondata['jobs'][jobnum][ddir]['clat_ns']: + bins_loc = 'clat_ns' + elif 'bins' in jsondata['jobs'][jobnum][ddir]['lat_ns']: + bins_loc = 'lat_ns' + else: + raise RuntimeError("Latency bins not found. " + "Are you sure you are using json+ output?") + bins[ddir] = [[int(key), value] for key, value in - jsondata['jobs'][jobnum][ddir]['clat_ns'] - ['bins'].iteritems()] + six.iteritems(jsondata['jobs'][jobnum][ddir][bins_loc] + ['bins'])] bins[ddir] = sorted(bins[ddir], key=lambda bin: bin[0]) run_total[ddir] = [0 for x in range(0, len(bins[ddir]))] @@ -123,7 +136,7 @@ def main(): outfile = stub + '_job' + str(jobnum) + ext with open(outfile, 'w') as output: - output.write("clat_nsec, ") + output.write("{0}ec, ".format(bins_loc)) ddir_list = list(ddir_set) for ddir in ddir_list: output.write("{0}_count, {0}_cumulative, {0}_percentile, ". @@ -157,7 +170,7 @@ def main(): output.write(", , , ") output.write("\n") - print "{0} generated".format(outfile) + print("{0} generated".format(outfile)) if __name__ == '__main__':