summaryrefslogtreecommitdiff
path: root/btt/trace_complete.c
diff options
context:
space:
mode:
authorAlan D. Brunelle <alan.brunelle@hp.com>2009-10-08 14:12:12 -0400
committerAlan D. Brunelle <alan.brunelle@hp.com>2009-10-08 14:12:12 -0400
commit2e37a10ee8b470b805e7c26c703073dbc54ca84e (patch)
tree377cf2978262ff70087d60ae30905a2b56ba128b /btt/trace_complete.c
parenta155ab989ffc8b9cf95a631309e9a825d04bcc68 (diff)
downloadblktrace-2e37a10ee8b470b805e7c26c703073dbc54ca84e.tar.gz
blktrace-2e37a10ee8b470b805e7c26c703073dbc54ca84e.tar.bz2
btt: Added in I/O activity per device and system-wide
It now keeps track of I/O activity on a per-device basis (as well as a cumulative system-wide view). ``I/O activity'' is defined as defined as the time during which the device driver and device are activelty working on at least one I/O. Here's a sample output: ==================== I/O Active Period Information ==================== DEV | # Live Avg. Act Avg. !Act % Live ---------- | ---------- ------------- ------------- ------ (254, 0) | 0 0.000000000 0.000000000 0.00 ( 8, 17) | 0 0.000000000 0.000000000 0.00 ( 8, 16) | 29 0.909596815 0.094646263 90.87 ( 8, 33) | 0 0.000000000 0.000000000 0.00 ( 8, 32) | 168 0.097848226 0.068231948 59.06 ---------- | ---------- ------------- ------------- ------ Total Sys | 33 0.799808811 0.082334758 90.92 Also added a new btt -Z option that generates per-device and system-wide I/O activity data that can be plotted. Refer to the documentation updates (btt.1, btt.tex) for more information.
Diffstat (limited to 'btt/trace_complete.c')
-rw-r--r--btt/trace_complete.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/btt/trace_complete.c b/btt/trace_complete.c
index d34fbd0..44732c5 100644
--- a/btt/trace_complete.c
+++ b/btt/trace_complete.c
@@ -78,6 +78,7 @@ static void handle_complete(struct io *c_iop)
if (q_iop->d_time != (__u64)-1) {
__u64 d2c = tdelta(q_iop->d_time, c_iop->t.time);
+ p_live_add(q_iop->dip, q_iop->d_time, c_iop->t.time);
update_d2c(q_iop, d2c);
latency_d2c(q_iop->dip, c_iop->t.time, d2c);
iostat_complete(q_iop, c_iop);