+ usr_cpu = (double) ts->usr_time * 100 / runt;
+ sys_cpu = (double) ts->sys_time * 100 / runt;
+ } else {
+ usr_cpu = 0;
+ sys_cpu = 0;
+ }
+
+ log_info(" cpu : usr=%3.2f%%, sys=%3.2f%%, ctx=%llu,"
+ " majf=%llu, minf=%llu\n", usr_cpu, sys_cpu,
+ (unsigned long long) ts->ctx,
+ (unsigned long long) ts->majf,
+ (unsigned long long) ts->minf);
+
+ stat_calc_dist(ts->io_u_map, ddir_rw_sum(ts->total_io_u), io_u_dist);
+ log_info(" IO depths : 1=%3.1f%%, 2=%3.1f%%, 4=%3.1f%%, 8=%3.1f%%,"
+ " 16=%3.1f%%, 32=%3.1f%%, >=64=%3.1f%%\n", 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]);
+
+ stat_calc_dist(ts->io_u_submit, ts->total_submit, io_u_dist);
+ log_info(" submit : 0=%3.1f%%, 4=%3.1f%%, 8=%3.1f%%, 16=%3.1f%%,"
+ " 32=%3.1f%%, 64=%3.1f%%, >=64=%3.1f%%\n", 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]);
+ stat_calc_dist(ts->io_u_complete, ts->total_complete, io_u_dist);
+ log_info(" complete : 0=%3.1f%%, 4=%3.1f%%, 8=%3.1f%%, 16=%3.1f%%,"
+ " 32=%3.1f%%, 64=%3.1f%%, >=64=%3.1f%%\n", 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]);
+ log_info(" issued : total=r=%llu/w=%llu/d=%llu,"
+ " short=r=%llu/w=%llu/d=%llu\n",
+ (unsigned long long) ts->total_io_u[0],
+ (unsigned long long) ts->total_io_u[1],
+ (unsigned long long) ts->total_io_u[2],
+ (unsigned long long) ts->short_io_u[0],
+ (unsigned long long) ts->short_io_u[1],
+ (unsigned long long) ts->short_io_u[2]);
+ if (ts->continue_on_error) {
+ log_info(" errors : total=%llu, first_error=%d/<%s>\n",
+ (unsigned long long)ts->total_err_count,
+ ts->first_error,
+ strerror(ts->first_error));
+ }
+ if (ts->latency_depth) {
+ log_info(" latency : target=%llu, window=%llu, percentile=%.2f%%, depth=%u\n",
+ (unsigned long long)ts->latency_target,
+ (unsigned long long)ts->latency_window,
+ ts->latency_percentile.u.f,
+ ts->latency_depth);