fiologparser_hist.py(1) General Commands Manual fiologparser_hist.py(1) (NAME) fiologparser_hist.py - fio (SYNOPSIS) fiologparser_hist.py [] [clat_hist_files]... (DESCRIPTION) fiologparser_hist.py *_clat_hist* fio CSV . (EXAMPLES) $ fiologparser_hist.py *_clat_hist* end-time, samples, min, avg, median, 90%, 95%, 99%, max 1000, 15, 192, 1678.107, 1788.859, 1856.076, 1880.040, 1899.208, 1888.000 2000, 43, 152, 1642.368, 1714.099, 1816.659, 1845.552, 1888.131, 1888.000 4000, 39, 1152, 1546.962, 1545.785, 1627.192, 1640.019, 1691.204, 1744 ... (OPTIONS) --help . --buff_size=int numpy . , . . --max_latency=int . fio . fio . . <<>> . -i, --interval=int . . log_hist_msec fio . --noweight . False . -d, --divisor=int . . (divisor=1000). --warn stderr . --group_nr=int fio FIO_IO_U_PLAT_GROUP_NR stat.h . fio . <<>> . --percentiles=str . "90.0:95.0:99.0" () . --usbin . fio . . --directions=str ( ) <<>> (mixed) . 'rwtm' --directions=rwtm . 'dir' . (NOTES) --interval . : . << >> << >>. . . ( ) . . ( ). : min <= 50th <= 90th <= 95th <= 99th <= max / fio ( *_clat.* ). . --noweights false () : https://en.wikipedia.org/wiki/Percentile#Weighted_percentile weights() . process_interval() . fio . / ( --rw=randrw ). / . ** ( /) . *_GROUP_NR stat.h ( *_BITS) fio . GROUP_NR=19 . . GROUP_NR=24 ( ) . fio GROUP_NR : sed -i.bak 's/^#define FIO_IO_U_PLAT_GROUP_NR 190#define FIO_IO_U_PLAT_GROUP_NR 24/g' stat.h make fio GROUP_NR: GROUP_NR | # bins | max latency bin value 19 | 1216 | 16.9 sec 20 | 1280 | 33.8 sec 21 | 1344 | 67.6 sec 22 | 1408 | 2 min, 15 sec 23 | 1472 | 4 min, 32 sec 24 | 1536 | 9 min, 4 sec 25 | 1600 | 18 min, 8 sec 26 | 1664 | 36 min, 16 sec . --log_hist_coarseness fio ( ): coarse \ GROUP_NR 19 20 21 22 23 24 25 26 ------------------------------------------------------- 0 [[ 1216, 1280, 1344, 1408, 1472, 1536, 1600, 1664], 1 [ 608, 640, 672, 704, 736, 768, 800, 832], 2 [ 304, 320, 336, 352, 368, 384, 400, 416], 3 [ 152, 160, 168, 176, 184, 192, 200, 208], 4 [ 76, 80, 84, 88, 92, 96, 100, 104], 5 [ 38, 40, 42, 44, 46, 48, 50, 52], 6 [ 19, 20, 21, 22, 23, 24, 25, 26], 7 [ N/A, 10, N/A, 11, N/A, 12, N/A, 13], 8 [ N/A, 5, N/A, N/A, N/A, 6, N/A, N/A]] GROUP_NR (coarseness) : bins = [1216,1280,1344,1408,1472,1536,1600,1664] max_coarse = 8 fncn = lambda z: list(map(lambda x: z/2**x if z % 2**x == 0 else nan, range(max_coarse + 1))) np.transpose(list(map(fncn, bins))) GROUP_NR ( ) ( GROUP_NR=19 . ): https://www.cronburg.com/fio/max_latency_bin_value_bug.png : https://www.cronburg.com/fio/cloud-latency-problem-measurement (AUTHOR) fiologparser_hist.py Karl Cronburg . (REPORTING BUGS) fio . August 18, 2016 fiologparser_hist.py(1)