Signed-off-by: Jens Axboe <axboe@fb.com>
- if (output_format == FIO_OUTPUT_JSON)
+ if (output_format & FIO_OUTPUT_JSON)
- if (!terse && output_format != FIO_OUTPUT_JSON)
+ if (!terse && !(output_format & FIO_OUTPUT_JSON))
log_info("\nDisk stats (read/write):\n");
log_info("\nDisk stats (read/write):\n");
- if (output_format == FIO_OUTPUT_JSON)
+ if (output_format & FIO_OUTPUT_JSON)
json_object_add_disk_utils(parent, &disk_list);
json_object_add_disk_utils(parent, &disk_list);
+ if (output_format & ~(FIO_OUTPUT_JSON)) {
flist_for_each(entry, &disk_list) {
du = flist_entry(entry, struct disk_util, list);
aggregate_slaves_stats(du);
print_disk_util(&du->dus, &du->agg, terse);
}
flist_for_each(entry, &disk_list) {
du = flist_entry(entry, struct disk_util, list);
aggregate_slaves_stats(du);
print_disk_util(&du->dus, &du->agg, terse);
}
fio_mutex_up(disk_util_mutex);
}
fio_mutex_up(disk_util_mutex);
}
static struct timeval rate_prev_time, disp_prev_time;
if (!force) {
static struct timeval rate_prev_time, disp_prev_time;
if (!force) {
- if (output_format != FIO_OUTPUT_NORMAL &&
+ if (!(output_format & FIO_OUTPUT_NORMAL) &&
f_out == stdout)
return 0;
if (temp_stall_ts || eta_print == FIO_ETA_NEVER)
f_out == stdout)
return 0;
if (temp_stall_ts || eta_print == FIO_ETA_NEVER)
*/
if (need_extend) {
temp_stall_ts = 1;
*/
if (need_extend) {
temp_stall_ts = 1;
- if (output_format == FIO_OUTPUT_NORMAL)
+ if (output_format & FIO_OUTPUT_NORMAL)
log_info("%s: Laying out IO file(s) (%u file(s) /"
" %lluMB)\n", o->name, need_extend,
extend_size >> 20);
log_info("%s: Laying out IO file(s) (%u file(s) /"
" %lluMB)\n", o->name, need_extend,
extend_size >> 20);
- FIO_OUTPUT_TERSE = 0,
- FIO_OUTPUT_JSON,
- FIO_OUTPUT_NORMAL,
+ __FIO_OUTPUT_TERSE = 0,
+ __FIO_OUTPUT_JSON = 1,
+ __FIO_OUTPUT_NORMAL = 2,
+
+ FIO_OUTPUT_TERSE = 1U << __FIO_OUTPUT_TERSE,
+ FIO_OUTPUT_JSON = 1U << __FIO_OUTPUT_JSON,
+ FIO_OUTPUT_NORMAL = 1U << __FIO_OUTPUT_NORMAL,
if (!o->name)
o->name = strdup(jobname);
if (!o->name)
o->name = strdup(jobname);
- if (output_format == FIO_OUTPUT_NORMAL) {
+ if (output_format & FIO_OUTPUT_NORMAL) {
if (!job_add_num) {
if (is_backend && !recursed)
fio_server_send_add_job(td);
if (!job_add_num) {
if (is_backend && !recursed)
fio_server_send_add_job(td);
- if (output_format == FIO_OUTPUT_NORMAL)
+ if (output_format & FIO_OUTPUT_NORMAL)
log_info("%s\n", fio_version_string);
return 0;
log_info("%s\n", fio_version_string);
return 0;
struct json_object *show_thread_status(struct thread_stat *ts,
struct group_run_stats *rs)
{
struct json_object *show_thread_status(struct thread_stat *ts,
struct group_run_stats *rs)
{
- if (output_format == FIO_OUTPUT_TERSE)
+ struct json_object *ret = NULL;
+
+ if (output_format & FIO_OUTPUT_TERSE)
show_thread_status_terse(ts, rs);
show_thread_status_terse(ts, rs);
- else if (output_format == FIO_OUTPUT_JSON)
- return show_thread_status_json(ts, rs);
- else
+ if (output_format & FIO_OUTPUT_JSON)
+ ret = show_thread_status_json(ts, rs);
+ if (output_format & FIO_OUTPUT_NORMAL)
show_thread_status_normal(ts, rs);
show_thread_status_normal(ts, rs);
}
static void sum_stat(struct io_stat *dst, struct io_stat *src, int nr)
}
static void sum_stat(struct io_stat *dst, struct io_stat *src, int nr)
/*
* don't overwrite last signal output
*/
/*
* don't overwrite last signal output
*/
- if (output_format == FIO_OUTPUT_NORMAL)
+ if (output_format & FIO_OUTPUT_NORMAL)
- else if (output_format == FIO_OUTPUT_JSON) {
+ if (output_format & FIO_OUTPUT_JSON) {
char time_buf[32];
time_t time_p;
char time_buf[32];
time_t time_p;
if (is_backend)
fio_server_send_ts(ts, rs);
if (is_backend)
fio_server_send_ts(ts, rs);
- else if (output_format == FIO_OUTPUT_TERSE)
- show_thread_status_terse(ts, rs);
- else if (output_format == FIO_OUTPUT_JSON) {
- struct json_object *tmp = show_thread_status_json(ts, rs);
- json_array_add_value_object(array, tmp);
- } else
- show_thread_status_normal(ts, rs);
+ else {
+ if (output_format & FIO_OUTPUT_TERSE)
+ show_thread_status_terse(ts, rs);
+ if (output_format & FIO_OUTPUT_JSON) {
+ struct json_object *tmp = show_thread_status_json(ts, rs);
+ json_array_add_value_object(array, tmp);
+ }
+ if (output_format & FIO_OUTPUT_NORMAL)
+ show_thread_status_normal(ts, rs);
+ }
- if (output_format == FIO_OUTPUT_JSON) {
+ if (output_format & FIO_OUTPUT_JSON) {
/* disk util stats, if any */
show_disk_util(1, root);
/* disk util stats, if any */
show_disk_util(1, root);
rs->groupid = i;
if (is_backend)
fio_server_send_gs(rs);
rs->groupid = i;
if (is_backend)
fio_server_send_gs(rs);
- else if (output_format == FIO_OUTPUT_NORMAL)
+ else if (output_format & FIO_OUTPUT_NORMAL)
show_group_stats(rs);
}
if (is_backend)
fio_server_send_du();
show_group_stats(rs);
}
if (is_backend)
fio_server_send_du();
- else if (output_format == FIO_OUTPUT_NORMAL) {
+ else if (output_format & FIO_OUTPUT_NORMAL) {
show_disk_util(0, NULL);
show_idle_prof_stats(FIO_OUTPUT_NORMAL, NULL);
}
show_disk_util(0, NULL);
show_idle_prof_stats(FIO_OUTPUT_NORMAL, NULL);
}
- if ( !(output_format == FIO_OUTPUT_TERSE) && append_terse_output) {
+ if ( !(output_format & FIO_OUTPUT_TERSE) && append_terse_output) {
log_info("\nAdditional Terse Output:\n");
for (i = 0; i < nr_ts; i++) {
log_info("\nAdditional Terse Output:\n");
for (i = 0; i < nr_ts; i++) {