summaryrefslogtreecommitdiff
path: root/t/btrace2fio.c
diff options
context:
space:
mode:
authorJens Axboe <axboe@kernel.dk>2014-09-17 17:58:31 +0200
committerJens Axboe <axboe@kernel.dk>2014-09-17 17:58:31 +0200
commitcea475cd767b7e3d5c4fb2383247cbc78877cf56 (patch)
treec43e266999774385a26dffd33579231f97ffb455 /t/btrace2fio.c
parent65ff9cd5fd5859b1547a9f7e1b2c97c6b9352f4d (diff)
downloadfio-cea475cd767b7e3d5c4fb2383247cbc78877cf56.tar.gz
fio-cea475cd767b7e3d5c4fb2383247cbc78877cf56.tar.bz2
btrace2fio: add rate output
Signed-off-by: Jens Axboe <axboe@fb.com>
Diffstat (limited to 't/btrace2fio.c')
-rw-r--r--t/btrace2fio.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/t/btrace2fio.c b/t/btrace2fio.c
index bda3c0bf..4dff3ec3 100644
--- a/t/btrace2fio.c
+++ b/t/btrace2fio.c
@@ -46,6 +46,7 @@ struct btrace_out {
unsigned int depth;
uint64_t first_ttime;
uint64_t last_ttime;
+ uint64_t kb;
uint64_t start_delay;
};
@@ -365,8 +366,10 @@ static void handle_trace(struct blk_io_trace *t, struct btrace_pid *p)
struct inflight *i;
i = inflight_find(t->sector + (t->bytes >> 9));
- if (i)
+ if (i) {
+ i->p->o.kb += (t->bytes >> 10);
inflight_remove(i);
+ }
}
}
@@ -509,7 +512,7 @@ static void __output_p_ascii(struct btrace_pid *p, unsigned long *ios)
{
const char *msg[] = { "reads", "writes", "trims" };
struct btrace_out *o = &p->o;
- unsigned long total;
+ unsigned long total, usec;
int i, j;
printf("[pid:\t%u]\n", p->pid);
@@ -539,7 +542,9 @@ static void __output_p_ascii(struct btrace_pid *p, unsigned long *ios)
}
printf("depth:\t%u\n", o->depth);
- printf("usec:\t%llu (delay=%llu)\n", (o->last_ttime - o->first_ttime) / 1000ULL, (unsigned long long) o->start_delay);
+ usec = (o->last_ttime - o->first_ttime) / 1000ULL;
+ printf("usec:\t%lu (delay=%llu)\n", usec, (unsigned long long) o->start_delay);
+ printf("rate:\t%.2fKB/sec\n", ((float) o->kb * 1000.0) / ((float) usec / 1000.0));
printf("files:\t");
for (i = 0; i < p->nr_files; i++)