diff options
author | Jan Kara <jack@suse.com> | 2016-05-05 17:17:05 +0200 |
---|---|---|
committer | Jens Axboe <axboe@fb.com> | 2016-05-05 09:20:18 -0600 |
commit | 5122a87b22ade9cf2920dc6f9e24ce1a745f3ff6 (patch) | |
tree | 6879e556dd39e23ae542978c63ce0a967e4f38fa | |
parent | b18f4c129dde9783be64d699e2f261bb6729f732 (diff) | |
download | blktrace-5122a87b22ade9cf2920dc6f9e24ce1a745f3ff6.tar.gz |
Use maximum over all traces for queue depth
So far we used maximum of the first trace for the maximum range of the
queue depth graph. Use maximum over all traces similarly as for other
line graphs.
Signed-off-by: Jan Kara <jack@suse.com>
Signed-off-by: Jens Axboe <axboe@fb.com>
-rw-r--r-- | iowatcher/main.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/iowatcher/main.c b/iowatcher/main.c index cbe9155..b13f509 100644 --- a/iowatcher/main.c +++ b/iowatcher/main.c @@ -991,6 +991,7 @@ static void plot_queue_depth(struct plot *plot, unsigned int min_seconds, unsigned int max_seconds) { struct trace_file *tf; + u64 max = 0, val; if (active_graphs[QUEUE_DEPTH_GRAPH_INDEX] == 0) return; @@ -1000,9 +1001,17 @@ static void plot_queue_depth(struct plot *plot, unsigned int min_seconds, if (num_traces > 1) svg_alloc_legend(plot, num_traces); - tf = list_entry(all_traces.next, struct trace_file, list); + list_for_each_entry(tf, &all_traces, list) { + val = line_graph_roll_avg_max(tf->queue_depth_gld); + if (val > max) + max = val; + } + + list_for_each_entry(tf, &all_traces, list) + tf->queue_depth_gld->max = max; + set_ylabel(plot, "Pending IO"); - set_yticks(plot, num_yticks, 0, tf->queue_depth_gld->max, ""); + set_yticks(plot, num_yticks, 0, max, ""); set_xticks(plot, num_xticks, min_seconds, max_seconds); list_for_each_entry(tf, &all_traces, list) { |