fio: add job_runtime to the thread json output
authorJosef Bacik <josef@toxicpanda.com>
Fri, 29 Jun 2018 13:49:03 +0000 (09:49 -0400)
committerJens Axboe <axboe@kernel.dk>
Fri, 29 Jun 2018 13:51:14 +0000 (07:51 -0600)
I discovered that the 'elapsed' value of each job is the overall time
the whole fio run took, not the per-job elapsed time, despite it being
in the per-job section of the json output.  Rather than break everybody
by fixing this, just add a 'job_runtime' value to the job section and
include the time the thread ran in milliseconds.  This is handy for jobs
that want to compare runtime of two threads in different cgroups.

Signed-off-by: Josef Bacik <josef@toxicpanda.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
stat.c

diff --git a/stat.c b/stat.c
index d5240d96a25b7f2f8f8ffc69abefe2f47b12d322..a308eb88455725192aca3d530d7234247792cde9 100644 (file)
--- a/stat.c
+++ b/stat.c
@@ -1288,6 +1288,7 @@ static struct json_object *show_thread_status_json(struct thread_stat *ts,
                usr_cpu = 0;
                sys_cpu = 0;
        }
+       json_object_add_value_int(root, "job_runtime", ts->total_run_time);
        json_object_add_value_float(root, "usr_cpu", usr_cpu);
        json_object_add_value_float(root, "sys_cpu", sys_cpu);
        json_object_add_value_int(root, "ctx", ts->ctx);