X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=client.c;h=31c7c6495790e91018cface694803ff9bfcefa1e;hp=e2525c812a94fd91c296e35ccff8c87255b31de5;hb=1e2c3404a2a223a3c5358c207f4436564f2aae9b;hpb=a6d7953002576946bd7d6703fca698a16ad454a5 diff --git a/client.c b/client.c index e2525c81..31c7c649 100644 --- a/client.c +++ b/client.c @@ -32,6 +32,7 @@ static void handle_stop(struct fio_client *client); static void handle_start(struct fio_client *client, struct fio_net_cmd *cmd); static void convert_text(struct fio_net_cmd *cmd); +static void client_display_thread_status(struct jobs_eta *je); struct client_ops fio_client_ops = { .text = handle_text, @@ -40,7 +41,7 @@ struct client_ops fio_client_ops = { .group_stats = handle_gs, .stop = handle_stop, .start = handle_start, - .eta = display_thread_status, + .eta = client_display_thread_status, .probe = handle_probe, .eta_msec = FIO_CLIENT_DEF_ETA_MSEC, .client_type = FIO_CLIENT_TYPE_CLI, @@ -1058,6 +1059,9 @@ static void handle_ts(struct fio_client *client, struct fio_net_cmd *cmd) struct flist_head *opt_list = NULL; struct json_object *tsobj; + if (output_format & FIO_OUTPUT_TERSE) + return; + if (client->opt_lists && p->ts.thread_number <= client->jobs) opt_list = &client->opt_lists[p->ts.thread_number - 1]; @@ -1094,6 +1098,9 @@ static void handle_gs(struct fio_client *client, struct fio_net_cmd *cmd) { struct group_run_stats *gs = (struct group_run_stats *) cmd->payload; + if (output_format & FIO_OUTPUT_TERSE) + return; + if (output_format & FIO_OUTPUT_NORMAL) show_group_stats(gs, NULL); } @@ -1140,7 +1147,7 @@ static void handle_text(struct fio_client *client, struct fio_net_cmd *cmd) name = client->name ? client->name : client->hostname; - if (!client->skip_newline) + if (!client->skip_newline && !(output_format & FIO_OUTPUT_TERSE)) fprintf(f_out, "<%s> ", name); ret = fwrite(buf, pdu->buf_len, 1, f_out); fflush(f_out); @@ -1184,9 +1191,13 @@ static void handle_du(struct fio_client *client, struct fio_net_cmd *cmd) { struct cmd_du_pdu *du = (struct cmd_du_pdu *) cmd->payload; + if (output_format & FIO_OUTPUT_TERSE) + return; + if (!client->disk_stats_shown) { client->disk_stats_shown = true; - log_info("\nDisk stats (read/write):\n"); + if (!(output_format & FIO_OUTPUT_JSON)) + log_info("\nDisk stats (read/write):\n"); } if (output_format & FIO_OUTPUT_JSON) { @@ -1195,8 +1206,6 @@ static void handle_du(struct fio_client *client, struct fio_net_cmd *cmd) duobj = json_array_last_value_object(du_array); json_object_add_client_info(duobj, client); } - 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); } @@ -1456,6 +1465,9 @@ static void handle_probe(struct fio_client *client, struct fio_net_cmd *cmd) const char *os, *arch; char bit[16]; + if (output_format & FIO_OUTPUT_TERSE) + return; + os = fio_get_os_string(probe->os); if (!os) os = "unknown"; @@ -1467,9 +1479,10 @@ static void handle_probe(struct fio_client *client, struct fio_net_cmd *cmd) sprintf(bit, "%d-bit", probe->bpp * 8); probe->flags = le64_to_cpu(probe->flags); - log_info("hostname=%s, be=%u, %s, os=%s, arch=%s, fio=%s, flags=%lx\n", - probe->hostname, probe->bigendian, bit, os, arch, - probe->fio_version, (unsigned long) probe->flags); + if (!(output_format & FIO_OUTPUT_JSON)) + log_info("hostname=%s, be=%u, %s, os=%s, arch=%s, fio=%s, flags=%lx\n", + probe->hostname, probe->bigendian, bit, os, arch, + probe->fio_version, (unsigned long) probe->flags); if (!client->name) client->name = strdup((char *) probe->hostname); @@ -1526,7 +1539,7 @@ static struct cmd_iolog_pdu *convert_iolog_gz(struct fio_net_cmd *cmd, #ifdef CONFIG_ZLIB struct cmd_iolog_pdu *ret; z_stream stream; - uint32_t nr_samples; + uint64_t nr_samples; size_t total; char *p; @@ -2102,3 +2115,9 @@ int fio_handle_clients(struct client_ops *ops) free(pfds); return retval || error_clients; } + +static void client_display_thread_status(struct jobs_eta *je) +{ + if (!(output_format & FIO_OUTPUT_JSON)) + display_thread_status(je); +}