X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=client.c;h=db472c4cb0b4cb1d87368358b8bb34d65f78d94c;hp=147ee38969d09fd146bd4754288a028041a311ee;hb=01cfefcc6255420a9e19d5774053ed2fb705b150;hpb=d264264a084e4989f7be577001484981bd606669 diff --git a/client.c b/client.c index 147ee389..db472c4c 100644 --- a/client.c +++ b/client.c @@ -117,7 +117,7 @@ static int read_data(int fd, void *data, size_t size) static void fio_client_json_init(void) { - if (output_format != FIO_OUTPUT_JSON) + if (!(output_format & FIO_OUTPUT_JSON)) return; root = json_create_object(); json_object_add_value_string(root, "fio version", fio_version_string); @@ -129,9 +129,9 @@ static void fio_client_json_init(void) static void fio_client_json_fini(void) { - if (output_format != FIO_OUTPUT_JSON) + if (!(output_format & FIO_OUTPUT_JSON)) return; - json_print_object(root); + json_print_object(root, NULL); log_info("\n"); json_free_object(root); root = NULL; @@ -534,11 +534,6 @@ static void sig_int(int sig) fio_clients_terminate(); } -static void sig_show_status(int sig) -{ - show_running_run_stats(); -} - static void client_signal_handler(void) { struct sigaction act; @@ -941,7 +936,7 @@ static void handle_ts(struct fio_client *client, struct fio_net_cmd *cmd) struct cmd_ts_pdu *p = (struct cmd_ts_pdu *) cmd->payload; struct json_object *tsobj; - tsobj = show_thread_status(&p->ts, &p->rs); + tsobj = show_thread_status(&p->ts, &p->rs, NULL); client->did_stat = 1; if (tsobj) { json_object_add_client_info(tsobj, client); @@ -961,7 +956,7 @@ static void handle_ts(struct fio_client *client, struct fio_net_cmd *cmd) if (++sum_stat_nr == sum_stat_clients) { strcpy(client_ts.name, "All clients"); - tsobj = show_thread_status(&client_ts, &client_gs); + tsobj = show_thread_status(&client_ts, &client_gs, NULL); if (tsobj) { json_object_add_client_info(tsobj, client); json_array_add_value_object(clients_array, tsobj); @@ -973,7 +968,7 @@ static void handle_gs(struct fio_client *client, struct fio_net_cmd *cmd) { struct group_run_stats *gs = (struct group_run_stats *) cmd->payload; - show_group_stats(gs); + show_group_stats(gs, NULL); } static void handle_text(struct fio_client *client, struct fio_net_cmd *cmd) @@ -1034,13 +1029,16 @@ static void handle_du(struct fio_client *client, struct fio_net_cmd *cmd) log_info("\nDisk stats (read/write):\n"); } - if (output_format == FIO_OUTPUT_JSON) { + if (output_format & FIO_OUTPUT_JSON) { struct json_object *duobj; json_array_add_disk_util(&du->dus, &du->agg, du_array); duobj = json_array_last_value_object(du_array); json_object_add_client_info(duobj, client); - } else - print_disk_util(&du->dus, &du->agg, output_format == FIO_OUTPUT_TERSE); + } + if (output_format & FIO_OUTPUT_TERSE) + print_disk_util(&du->dus, &du->agg, 1, NULL); + if (output_format & FIO_OUTPUT_NORMAL) + print_disk_util(&du->dus, &du->agg, 0, NULL); } static void convert_jobs_eta(struct jobs_eta *je)