| 1 | NAME |
| 2 | fio2gnuplot - Render fio's output files with gnuplot |
| 3 | SYNOPSIS |
| 4 | fio2gnuplot [-ghbiodvk] [-t title] [-o outputfile] |
| 5 | [-d output_dir] [-p pattern] |
| 6 | [-G type] [-m min_time] [-M max_time] |
| 7 | |
| 8 | DESCRIPTION |
| 9 | fio2gnuplot analyze a set of fio's log files to turn them into a set of graphical traces using gnuplot tool. |
| 10 | Several flavor of plotting are produced |
| 11 | |
| 12 | Individual 2D Graph |
| 13 | Each file is plotted in a separate image file with several option |
| 14 | - raw : Plot the exact reported performance. This plotting could be difficult to read |
| 15 | - smooth :a smoother version of the raw print |
| 16 | Using csplines option of gnuplot, the rendering is |
| 17 | filtered to get an easier to read graph. |
| 18 | - trend : an even smoother version of the raw print to get trends |
| 19 | Bezier's curves makes much more filtered plots |
| 20 | The resulting graph helps at understanding trends. |
| 21 | |
| 22 | Grouped 2D graph |
| 23 | All files are plotted in a single image to ease the comparaison. The same rendering options as per the individual 2D graph are used : |
| 24 | - raw |
| 25 | - smooth |
| 26 | - trend |
| 27 | |
| 28 | Grouped 3D graph |
| 29 | All files are plotted into a single 3D graph. |
| 30 | The 3D plotting generates a 'surface' to estimate how close were |
| 31 | the performance. |
| 32 | A flat surface means a good coherency between traces. |
| 33 | A rugged surface means a lack of coherency between traces |
| 34 | |
| 35 | Mathemical Plotting |
| 36 | Average graph |
| 37 | A bar graph to show the average performance of each file. |
| 38 | A green line is added to show the global average performance. |
| 39 | This green line helps at understanding how far from the average is |
| 40 | every individual file. |
| 41 | |
| 42 | Min graph |
| 43 | A green line is added to show the global average of minimal performance. |
| 44 | This green line helps at understanding how far from the average is |
| 45 | every individual file. |
| 46 | |
| 47 | Max graph |
| 48 | A bar graph to show the maximum performance of each file. |
| 49 | A green line is added to show the global average of maximal performance. |
| 50 | This green line helps at understanding how far from the average is |
| 51 | every individual file. |
| 52 | |
| 53 | Standard Deviation |
| 54 | A bar graph to show the standard deviation of each file. |
| 55 | A green line is added to show the global average of standard deviation. |
| 56 | This green line helps at understanding how far from the average is |
| 57 | every individual file. |
| 58 | |
| 59 | OPTIONS |
| 60 | -h or --help |
| 61 | The option -h displays help |
| 62 | |
| 63 | -p 'pattern' or --pattern 'pattern' |
| 64 | A pattern in regexp to select fio input files. |
| 65 | Don't forget the simple quotes to avoid shell's interactions |
| 66 | |
| 67 | -b or --bandwidth |
| 68 | A predefined pattern for selecting *_bw.log files |
| 69 | |
| 70 | -i or --iops |
| 71 | A predefined pattern for selecting *_iops.log files |
| 72 | |
| 73 | -g or --gnuplot |
| 74 | Render gnuplot traces before exiting |
| 75 | |
| 76 | -o file or --outputfile file |
| 77 | The basename for gnuplot traces (set with the pattern if defined) |
| 78 | |
| 79 | -d dir or --outputdir dir |
| 80 | The directory where gnuplot shall render files. |
| 81 | |
| 82 | -t title or --title title |
| 83 | The title of the gnuplot traces. |
| 84 | Title is set with the block size detected in fio trace |
| 85 | |
| 86 | -G type or --Global type |
| 87 | Search for 'type' in .global files match by a pattern. |
| 88 | Available types are : min, max, avg, stddev. |
| 89 | The .global extension is added automatically to the pattern |
| 90 | |
| 91 | -m time or --min_time time |
| 92 | Only consider data starting from 'time' seconds. Default is 0 |
| 93 | |
| 94 | -M time or --max_time time |
| 95 | Only consider data ending before 'time' seconds. Default is -1 aka nolimit |
| 96 | |
| 97 | -v or --verbose |
| 98 | Increasing verbosity |
| 99 | |
| 100 | -k or --keep |
| 101 | Keep all temporary files from gnuplot's output dir |
| 102 | |
| 103 | EXAMPLE |
| 104 | To plot all the traces named like 'host*_read_4k_iops.log' |
| 105 | $ fio2gnuplot -p 'host*_read_4k_iops.log' -g |
| 106 | |
| 107 | To plot all IO oriented log files from the current directory |
| 108 | $ fio2gnuplot -g -i |
| 109 | |
| 110 | To plot all Bandwidth oriented log files from the current directory |
| 111 | $ fio2gnuplot -g -b |
| 112 | |
| 113 | To plot all Bandwidth oriented log files in a directory name 'outdir' |
| 114 | $ fio2gnuplot -g -b -d outdir |
| 115 | |
| 116 | AUTHOR |
| 117 | Erwan Velu <erwan@enovance.com> |