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