summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Kara <jack@suse.com>2016-05-05 17:17:05 +0200
committerJens Axboe <axboe@fb.com>2016-05-05 09:20:18 -0600
commit5122a87b22ade9cf2920dc6f9e24ce1a745f3ff6 (patch)
tree6879e556dd39e23ae542978c63ce0a967e4f38fa
parentb18f4c129dde9783be64d699e2f261bb6729f732 (diff)
downloadblktrace-5122a87b22ade9cf2920dc6f9e24ce1a745f3ff6.tar.gz
blktrace-5122a87b22ade9cf2920dc6f9e24ce1a745f3ff6.tar.bz2
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.c13
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) {