static void fio_client_json_fini(void)
{
+ struct buf_output out;
+
if (!(output_format & FIO_OUTPUT_JSON))
return;
- log_info("\n");
- json_print_object(root, NULL);
- log_info("\n");
+ buf_output_init(&out);
+ __log_buf(&out, "\n");
+ json_print_object(root, &out);
+ __log_buf(&out, "\n");
+ log_info_buf(out.buf, out.buflen);
+ buf_output_free(&out);
json_free_object(root);
root = NULL;
clients_array = NULL;
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];
{
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);
}
__log_buf(&out, "<%s> ", name);
__log_buf(&out, "%s", buf);
log_info_buf(out.buf, out.buflen);
+ buf_output_free(&out);
client->skip_newline = strchr(buf, '\n') == NULL;
}
static void handle_du(struct fio_client *client, struct fio_net_cmd *cmd)
{
struct cmd_du_pdu *du = (struct cmd_du_pdu *) cmd->payload;
+ struct buf_output out;
- if (output_format & FIO_OUTPUT_TERSE)
- return;
+ buf_output_init(&out);
if (!client->disk_stats_shown) {
client->disk_stats_shown = true;
if (!(output_format & FIO_OUTPUT_JSON))
- log_info("\nDisk stats (read/write):\n");
+ __log_buf(&out, "\nDisk stats (read/write):\n");
}
if (output_format & FIO_OUTPUT_JSON) {
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, &out);
if (output_format & FIO_OUTPUT_NORMAL)
- print_disk_util(&du->dus, &du->agg, 0, NULL);
+ print_disk_util(&du->dus, &du->agg, 0, &out);
+ buf_output_free(&out);
}
static void convert_jobs_eta(struct jobs_eta *je)
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";