Add option for including byte offset for each log entry
When iops/latency/bw logs are used in the job, we can note the offset
at which the specific data entry took place.
Based on an initial patch from Abutalib Aghayev <agayev@gmail.com>.
Extended by me to:
- Not do this by default, as not to add 8 bytes to each log entry
stored.
- Add support for the client/server protocol.
- Add documentation.
We should bump the server protocol rev again, but that was just done
in the previous commit, so...
Signed-off-by: Jens Axboe <axboe@fb.com>
diff --git a/io_u.c b/io_u.c
index 997e113..5b9d483 100644
--- a/io_u.c
+++ b/io_u.c
@@ -1567,7 +1567,7 @@
unsigned long tusec;
tusec = utime_since(&io_u->start_time, &icd->time);
- add_lat_sample(td, idx, tusec, bytes);
+ add_lat_sample(td, idx, tusec, bytes, io_u->offset);
if (td->flags & TD_F_PROFILE_OPS) {
struct prof_io_ops *ops = &td->prof_io_ops;
@@ -1585,7 +1585,7 @@
}
if (!td->o.disable_clat) {
- add_clat_sample(td, idx, lusec, bytes);
+ add_clat_sample(td, idx, lusec, bytes, io_u->offset);
io_u_mark_latency(td, lusec);
}
@@ -1823,7 +1823,8 @@
unsigned long slat_time;
slat_time = utime_since(&io_u->start_time, &io_u->issue_time);
- add_slat_sample(td, io_u->ddir, slat_time, io_u->xfer_buflen);
+ add_slat_sample(td, io_u->ddir, slat_time, io_u->xfer_buflen,
+ io_u->offset);
}
}