fio2gnuplot(1)
โจ fio2gnuplot โ the manual page, but make it cute โจ
okay bestie, so this is fio2gnuplot, and it lives in the General Commands Manual section. If you've ever wanted your fio logs to look pretty instead of like a wall of numbers, this is your girl. ๐ซถ
๐ NAME ๐
fio2gnuplot โ Render fio's output files with gnuplot
like. that's it. that's the job. it takes fio's output files and makes gnuplot draw them. iconic behaviour honestly. โจ
๐ธ SYNOPSIS ๐ธ
fio2gnuplot [-ghbiodvk] [-t title] [-o outputfile]
[-d output_dir] [-p pattern]
[-G type] [-m min_time] [-M max_time]
๐ฆ DESCRIPTION ๐ฆ
So fio2gnuplot analyzes a whole set of fio's log files and turns them into a set of graphical traces using the gnuplot tool. Several flavors of plotting are produced, and honestly? each one is serving a different purpose. let's get into it. ๐
๐ Individual 2D Graph
Each file is plotted in a separate image file, and you've got several options:
- raw : Plot the exact reported performance. This plotting could be difficult to read (ngl, it's giving chaos, but it's the truth of the data)
- smooth : a smoother version of the raw print. Using the
csplinesoption of gnuplot, the rendering is filtered to get an easier to read graph. - trend : an even smoother version of the raw print to get trends. Bezier's curves makes much more filtered plots. The resulting graph helps at understanding trends.
๐ Grouped 2D graph
All files are plotted in a single image to ease the comparison. The same rendering options as per the individual 2D graph are used :
- raw
- smooth
- trend
๐ง Grouped 3D graph
All files are plotted into a single 3D graph. The 3D plotting generates a 'surface' to estimate how close were the performance. A flat surface means a good coherency between traces. A rugged surface means a lack of coherency between traces. it's giving vibe check for your benchmark results fr fr ๐ฅ
๐งฎ Mathemical Plotting
Average graph
A bar graph to show the average performance of each file. A green line is added to show the global average performance. This green line helps at understanding how far from the average is every individual file.
Min graph
A green line is added to show the global average of minimal performance. This green line helps at understanding how far from the average is every individual file.
Max graph
A bar graph to show the maximum performance of each file. A green line is added to show the global average of maximal performance. This green line helps at understanding how far from the average is every individual file.
Standard Deviation
A bar graph to show the standard deviation of each file. A green line is added to show the global average of standard deviation. This green line helps at understanding how far from the average is every individual file.
๐ OPTIONS ๐
okay this is the part where you actually learn the flags. every single one, no skipping. ๐
-hor--helpโ The option-hdisplays help-p 'pattern'or--pattern 'pattern'โ A pattern in regexp to select fio input files. Don't forget the simple quotes to avoid shell's interactions. (the quotes are NOT optional bestie, your shell will eat your pattern alive ๐ญ)-bor--bandwidthโ A predefined pattern for selecting*_bw.logfiles-ior--iopsโ A predefined pattern for selecting*_iops.logfiles-gor--gnuplotโ Render gnuplot traces before exiting-o fileor--outputfile fileโ The basename for gnuplot traces (set with the pattern if defined)-d diror--outputdir dirโ The directory where gnuplot shall render files.-t titleor--title titleโ The title of the gnuplot traces. Title is set with the block size detected in fio trace-G typeor--Global typeโ Search for 'type' in.globalfiles match by a pattern. Available types are :min,max,avg,stddev. The.globalextension is added automatically to the pattern-m timeor--min_time timeโ Only consider data starting from 'time' seconds. Default is0-M timeor--max_time timeโ Only consider data ending before 'time' seconds. Default is-1aka nolimit-vor--verboseโ Increasing verbosity-kor--keepโ Keep all temporary files from gnuplot's output dir
๐ EXAMPLE ๐
To plot all the traces named like 'host*_read_4k_iops.log'
$ fio2gnuplot -p 'host*_read_4k_iops.log' -g
To plot all IO oriented log files from the current directory
$ fio2gnuplot -g -i
To plot all Bandwidth oriented log files from the current directory
$ fio2gnuplot -g -b
To plot all Bandwidth oriented log files in a directory name 'outdir'
$ fio2gnuplot -g -b -d outdir
๐ AUTHOR ๐
Erwan Velu <erwan@enovance.com>
August 2013 โ that's when this page was dated, and this is fio2gnuplot(1) from the General Commands Manual, signing off. go plot something gorgeous bestie, you got this ๐โจ๐ฆ
๐ฆ where this page comes from
- alpine 3.24: fio-doc 3.41-r0 ยท GPL-2.0-only
- arch rolling: fio 3.42-1 ยท GPL2
- centos-stream 10: fio 3.36-5.el10 ยท GPL-2.0-only
- centos-stream 9: fio 3.35-1.el9 ยท GPLv2
- debian bookworm: fio 3.33-3 ยท GPL-2.0-only
- debian trixie: fio 3.39-1 ยท GPL-2.0-only
- fedora 43: fio 3.40-2.fc43 ยท GPL-2.0-only
- fedora 44: fio 3.40-3.fc44 ยท GPL-2.0-only
- nixos 26.05: fio 3.41
- nixpkgs unstable: fio 3.42
- opensuse-leap 16.0: fio 3.38-160000.2.2 ยท GPL-2.0-only
- opensuse-leap 16.0: fio 3.38-160000.2.2 ยท GPL-2.0-only
- opensuse-leap 16.0: fio 3.38-160000.2.2 ยท GPL-2.0-only
- opensuse-leap 16.0: fio 3.38-160000.2.2 ยท GPL-2.0-only
- ubuntu noble: fio 3.36-1build2 ยท GPL-2.0-only
- ubuntu noble: fio 3.36-1ubuntu0.1 ยท GPL-2.0-only
- ubuntu questing: fio 3.39-1
- ubuntu resolute: fio 3.41-2 ยท GPL-2.0-only
- ubuntu stonking: fio 3.41-2 ยท GPL-2.0-only
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms