From: David Nellans Date: Thu, 23 Sep 2010 06:38:17 +0000 (+0200) Subject: Add some comments around the terse output X-Git-Tag: fio-1.44-rc1~4 X-Git-Url: https://git.kernel.dk/?p=fio.git;a=commitdiff_plain;h=562c2d2f25ae829c812a58c10bc1a03ab6f6f52b;hp=05463816cb6944649ac152283a9d02629ff91c0d Add some comments around the terse output Signed-off-by: Jens Axboe --- diff --git a/HOWTO b/HOWTO index f338e7d4..d3639fb4 100644 --- a/HOWTO +++ b/HOWTO @@ -1256,8 +1256,10 @@ For scripted usage where you typically want to generate tables or graphs of the results, fio can output the results in a semicolon separated format. The format is one long line of values, such as: -2; client1;0;0;1906777;1090804;1790;0;0;0.000000;0.000000;0;0;0.000000;0.000000;929380;1152890;25.510151%;1078276.333333;128948.113404;0;0;0;0;0;0.000000;0.000000;0;0;0.000000;0.000000;0;0;0.000000%;0.000000;0.000000;100.000000%;0.000000%;324;100.0%;0.0%;0.0%;0.0%;0.0%;0.0%;0.0%;100.0%;0.0%;0.0%;0.0%;0.0%;0.0% -;0.0%;0.0%;0.0%;0.0%;0.0% +2;card0;0;0;7139336;121836;60004;1;10109;27.932460;116.933948;220;126861;3495.446807;1085.368601;226;126864;3523.635629;1089.012448;24063;99944;50.275485%;59818.274627;5540.657370;7155060;122104;60004;1;8338;29.086342;117.839068;388;128077;5032.488518;1234.785715;391;128085;5061.839412;1236.909129;23436;100928;50.287926%;59964.832030;5644.844189;14.595833%;19.394167%;123706;0;7313;0.1%;0.1%;0.1%;0.1%;0.1%;0.1%;100.0%;0.00%;0.00%;0.00%;0.00%;0.00%;0.00%;0.01%;0.02%;0.05%;0.16%;6.04%;40.40%;52.68%;0.64%;0.01%;0.00%;0.01%;0.00%;0.00%;0.00%;0.00%;0.00% +A description of this job goes here. + +The job description (if provided) follows on a second line. To enable terse output, use the --minimal command line option. The first value is the version of the terse output format. If the output has to @@ -1281,6 +1283,8 @@ Split up, the format is as follows: Bw: min, max, aggregate percentage of total, mean, deviation CPU usage: user, system, context switches, major faults, minor faults IO depths: <=1, 2, 4, 8, 16, 32, >=64 - IO latencies: <=2, 4, 10, 20, 50, 100, 250, 500, 750, 1000, >=2000 - Text description - + IO latencies microseconds: <=2, 4, 10, 20, 50, 100, 250, 500, 750, 1000 + IO latencies milliseconds: <=2, 4, 10, 20, 50, 100, 250, 500, 750, 1000, 2000, >=2000 + Additional Info (dependant on continue_on_error, default off): total # errors, first error code + + Additional Info (dependant on description being set): Text description \ No newline at end of file diff --git a/fio.1 b/fio.1 index 192e6a8c..9ca38abc 100644 --- a/fio.1 +++ b/fio.1 @@ -991,7 +991,8 @@ Disk utilization. .PD .SH TERSE OUTPUT If the \fB\-\-minimal\fR option is given, the results will be printed in a -semicolon-delimited format suitable for scripted use. Note that the first +semicolon-delimited format suitable for scripted use - a job description +(if provided) follows on a new line. Note that the first number in the line is the version number. If the output has to be changed for some reason, this number will be incremented by 1 to signify that change. The fields are: @@ -1053,12 +1054,24 @@ IO depth distribution: .B <=1, 2, 4, 8, 16, 32, >=64 .RE .P -IO latency distribution (ms): +IO latency distribution: .RS -.B <=2, 4, 10, 20, 50, 100, 250, 500, 750, 1000, >=2000 +Microseconds: +.RS +.B <=2, 4, 10, 20, 50, 100, 250, 500, 750, 1000 +.RE +Milliseconds: +.RS +.B <=2, 4, 10, 20, 50, 100, 250, 500, 750, 1000, 2000, >=2000 +.RE +.RE +.P +Error Info (dependant on continue_on_error, default off): +.RS +.B total # errors, first error code .RE .P -.B text description +.B text description (if provided in config - appears on newline) .RE .SH AUTHORS .B fio diff --git a/stat.c b/stat.c index 326b1f76..b5ff0101 100644 --- a/stat.c +++ b/stat.c @@ -418,12 +418,15 @@ static void show_thread_status_terse(struct thread_stat *ts, double usr_cpu, sys_cpu; int i; + /* General Info */ log_info("%s;%s;%d;%d", FIO_TERSE_VERSION, ts->name, ts->groupid, ts->error); - + /* Log Read Status */ show_ddir_status_terse(ts, rs, 0); + /* Log Write Status */ show_ddir_status_terse(ts, rs, 1); + /* CPU Usage */ if (ts->total_run_time) { double runt = (double) ts->total_run_time; @@ -437,22 +440,28 @@ static void show_thread_status_terse(struct thread_stat *ts, log_info(";%f%%;%f%%;%lu;%lu;%lu", usr_cpu, sys_cpu, ts->ctx, ts->majf, ts->minf); + /* Calc % distribution of IO depths, usecond, msecond latency */ stat_calc_dist(ts->io_u_map, ts_total_io_u(ts), io_u_dist); stat_calc_lat_u(ts, io_u_lat_u); stat_calc_lat_m(ts, io_u_lat_m); + /* Only show fixed 7 I/O depth levels*/ log_info(";%3.1f%%;%3.1f%%;%3.1f%%;%3.1f%%;%3.1f%%;%3.1f%%;%3.1f%%", io_u_dist[0], io_u_dist[1], io_u_dist[2], io_u_dist[3], io_u_dist[4], io_u_dist[5], io_u_dist[6]); + /* Microsecond latency */ for (i = 0; i < FIO_IO_U_LAT_U_NR; i++) log_info(";%3.2f%%", io_u_lat_u[i]); + /* Millisecond latency */ for (i = 0; i < FIO_IO_U_LAT_M_NR; i++) log_info(";%3.2f%%", io_u_lat_m[i]); + /* Additional output if continue_on_error set - default off*/ if (ts->continue_on_error) log_info(";%lu;%d", ts->total_err_count, ts->first_error); log_info("\n"); + /* Additional output if description is set */ if (ts->description) log_info(";%s", ts->description);