louwrentius / fio-plot

Create charts from FIO storage benchmark tool output
BSD 3-Clause "New" or "Revised" License
370 stars 87 forks source link

Getting a key error when trying to generate plots #6

Closed Antalia386 closed 5 years ago

Antalia386 commented 5 years ago

Hi, I am running version 3.15 of fio and getting the following error when trying to generate plots:

$ ./fio-plot.py -i UpdatedFio/hammerTime/ --latency_iops_2d --numjobs 1 Traceback (most recent call last): File "./fio-plot.py", line 740, in main() File "./fio-plot.py", line 727, in main b.chart_iops_latency('randread') File "./fio-plot.py", line 640, in chart_iops_latency self.getStats() File "./fio-plot.py", line 602, in getStats 'iops': self.get_nested_value(record,m['iops']), File "./fio-plot.py", line 568, in get_nested_value dictionary = dictionary[item] KeyError: ''

Is this a known issue?

louwrentius commented 5 years ago

I would first look into the benchmark script I use to set all variables properly if you haven't already. I've used 3.14 without problems. It could be that the format changed with 3.15, I don't know.

If you can attach the test result json file I'm also willing to take a look.

Antalia386 commented 5 years ago

Thanks for your response! I am running version 3.15 as mentioned above. I might be able to provide a .json file for you to look here in a moment.

Antalia386 commented 5 years ago

fio.json.zip

louwrentius commented 5 years ago

Thank you, at least I can reproduce your problem. I'll have to dig into this a bit.

louwrentius commented 5 years ago

So this is the story: fio-plot is in some sense quite limited. It's geared to benchmarks run with the syntax as found in the benchmark script (included). That script tests with 'randread' or 'randwrite' and not with 'rw', on which the script choked. Once I just replaced the value in the json I got other errors, but I got this output.

fio-plot is really meant to use with (a/the) benchmark script where you test multiple queue-depths and numjobs values to get a better profile of your storage. I understand you ran just 1 test with 1 scenario. The image here just shows one result. Not sure if this is what you're looking for.

randread_iodepth_2019-10-24-23:06:34_1_iops_latency

randread-1-1.json.txt

Antalia386 commented 5 years ago

louwrentius, thank you so much for looking into this. I think I can definitely adjust the script to make it generate the fields this tool expects. So for the output I provided, you only had to replace "rw" with "randread" or "randwrite"? I thought I had tried that and it didn't work, as I was following the .py in getStats() function. But I can try one more time. Thanks again for all the help.

louwrentius commented 5 years ago

No problem, I'm closing this out then.

NIKREB23 commented 10 months ago

Hi, I am running version 3.16 of fio and getting the following error when trying to generate plots

(fio-plot) ubuntu@host1:~/fio/fio-plot$ fio-plot /home/ubuntu/fio/fio-plot/my_config.ini Traceback (most recent call last): File "/home/ubuntu/fio/fio-plot/bin/fio-plot", line 11, in load_entry_point('fio-plot==1.1.12', 'console_scripts', 'fio-plot')() File "/home/ubuntu/fio/fio-plot/lib/python3.8/site-packages/fio_plot/init.py", line 32, in main rawsettings = get_settings() File "/home/ubuntu/fio/fio-plot/lib/python3.8/site-packages/fio_plot/init.py", line 19, in get_settings settingsfromini = iniparsing.get_settings_from_ini(sys.argv) File "/home/ubuntu/fio/fio-plot/lib/python3.8/site-packages/fio_plot/fiolib/iniparsing.py", line 51, in get_settings_from_ini inidata = parse_ini_data(config) File "/home/ubuntu/fio/fio-plot/lib/python3.8/site-packages/fio_plot/fiolib/iniparsing.py", line 18, in parse_ini_data for y in config[x]: File "/usr/lib/python3.8/configparser.py", line 960, in getitem raise KeyError(key) KeyError: 'layout'

louwrentius commented 10 months ago

@NIKREB23 can you create a new issue for this and share a zip/tar with the test data you try to plot? Would help me reproduce the issue.

NIKREB23 commented 10 months ago

@louwrentius hey, i created new issue here the link for the same.

https://github.com/louwrentius/fio-plot/issues/130#issue-2052119795