X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=stat.c;h=522901a993e89f70d6f075ac9e5c2ebd52e77eae;hp=4d3e97475d78e5de156df14c9307c62e206a908f;hb=f7161017b75f5d3526147d42d3b583973922c444;hpb=cc372b17f2827e89da79241f1bbaca1e7c650611 diff --git a/stat.c b/stat.c index 4d3e9747..522901a9 100644 --- a/stat.c +++ b/stat.c @@ -16,7 +16,11 @@ void update_rusage_stat(struct thread_data *td) { struct thread_stat *ts = &td->ts; +#ifdef RUSAGE_THREAD + getrusage(RUSAGE_THREAD, &td->ru_end); +#else getrusage(RUSAGE_SELF, &td->ru_end); +#endif ts->usr_time += mtime_since(&td->ru_start.ru_utime, &td->ru_end.ru_utime); @@ -534,7 +538,7 @@ void show_thread_status(struct thread_stat *ts, struct group_run_stats *rs) return; time(&time_p); - ctime_r((const time_t *) &time_p, time_buf); + os_ctime_r((const time_t *) &time_p, time_buf, sizeof(time_buf)); if (!ts->error) { log_info("%s: (groupid=%d, jobs=%d): err=%2d: pid=%d: %s", @@ -852,7 +856,7 @@ static void show_thread_status_terse_v3_v4(struct thread_stat *ts, int i; /* General Info */ - log_info("%s;%s;%s;%d;%d", ver, fio_version_string, + log_info("%d;%s;%s;%d;%d", ver, fio_version_string, ts->name, ts->groupid, ts->error); /* Log Read Status */ show_ddir_status_terse(ts, rs, DDIR_READ); @@ -924,7 +928,7 @@ static struct json_object *show_thread_status_json(struct thread_stat *ts, add_ddir_status_json(ts, rs, DDIR_READ, root); add_ddir_status_json(ts, rs, DDIR_WRITE, root); -// add_ddir_status_json(ts, rs, DDIR_TRIM, root); + add_ddir_status_json(ts, rs, DDIR_TRIM, root); /* CPU Usage */ if (ts->total_run_time) { @@ -1280,10 +1284,9 @@ void show_run_stats(void) /* * don't overwrite last signal output */ - if (!terse_output) + if (output_format == FIO_OUTPUT_NORMAL) log_info("\n"); - - if (terse_output && terse_version == 4) { + else if (output_format == FIO_OUTPUT_JSON) { root = json_create_object(); json_object_add_value_string(root, "fio version", fio_version_string); array = json_create_array(); @@ -1296,18 +1299,15 @@ void show_run_stats(void) if (is_backend) fio_server_send_ts(ts, rs); - else if (terse_output) { - if (terse_version != 4) - show_thread_status_terse(ts, rs); - else { - struct json_object *tmp = show_thread_status_json(ts, - rs); - json_array_add_value_object(array, tmp); - } + 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(ts, rs); } - if (terse_output && terse_version == 4) { + if (output_format == FIO_OUTPUT_JSON) { /* disk util stats, if any */ show_disk_util(1, root); @@ -1322,13 +1322,13 @@ void show_run_stats(void) rs->groupid = i; if (is_backend) fio_server_send_gs(rs); - else if (!terse_output) + else if (output_format == FIO_OUTPUT_NORMAL) show_group_stats(rs); } if (is_backend) fio_server_send_du(); - else if (!terse_output) + else if (output_format == FIO_OUTPUT_NORMAL) show_disk_util(0, NULL); free(runstats);