[gnome-continuous-yocto/gnomeostree-3.28-rocko: 3540/8267] pybootchartgui/draw.py: skip empty CPU and disk usage charts



commit 1416bb3244696d554431cf5549c59575e9a2c045
Author: Patrick Ohly <patrick ohly intel com>
Date:   Wed Nov 30 10:50:05 2016 +0100

    pybootchartgui/draw.py: skip empty CPU and disk usage charts
    
    The only real change is the addition of two if checks that skips the
    corresponding drawing code when there is no data.
    
    (From OE-Core rev: 1658fd5e9ca1ba793cae604c2a395d54e3ec9056)
    
    Signed-off-by: Patrick Ohly <patrick ohly intel com>
    Signed-off-by: Ross Burton <ross burton intel com>
    Signed-off-by: Richard Purdie <richard purdie linuxfoundation org>

 scripts/pybootchartgui/pybootchartgui/draw.py |   98 +++++++++++++------------
 1 files changed, 50 insertions(+), 48 deletions(-)
---
diff --git a/scripts/pybootchartgui/pybootchartgui/draw.py b/scripts/pybootchartgui/pybootchartgui/draw.py
index bddd804..ec5dd33 100644
--- a/scripts/pybootchartgui/pybootchartgui/draw.py
+++ b/scripts/pybootchartgui/pybootchartgui/draw.py
@@ -344,56 +344,58 @@ def render_charts(ctx, options, clip, trace, curr_y, w, h, sec_w):
        proc_tree = options.proc_tree(trace)
 
        # render bar legend
-       ctx.set_font_size(LEGEND_FONT_SIZE)
-
-       draw_legend_box(ctx, "CPU (user+sys)", CPU_COLOR, off_x, curr_y+20, leg_s)
-       draw_legend_box(ctx, "I/O (wait)", IO_COLOR, off_x + 120, curr_y+20, leg_s)
-
-       # render I/O wait
-       chart_rect = (off_x, curr_y+30, w, bar_h)
-       if clip_visible (clip, chart_rect):
-               draw_box_ticks (ctx, chart_rect, sec_w)
-               draw_annotations (ctx, proc_tree, trace.times, chart_rect)
-               draw_chart (ctx, IO_COLOR, True, chart_rect, \
-                           [(sample.time, sample.user + sample.sys + sample.io) for sample in 
trace.cpu_stats], \
-                           proc_tree, None)
-               # render CPU load
-               draw_chart (ctx, CPU_COLOR, True, chart_rect, \
-                           [(sample.time, sample.user + sample.sys) for sample in trace.cpu_stats], \
-                           proc_tree, None)
-
-       curr_y = curr_y + 30 + bar_h
+       if trace.cpu_stats:
+               ctx.set_font_size(LEGEND_FONT_SIZE)
+
+               draw_legend_box(ctx, "CPU (user+sys)", CPU_COLOR, off_x, curr_y+20, leg_s)
+               draw_legend_box(ctx, "I/O (wait)", IO_COLOR, off_x + 120, curr_y+20, leg_s)
+
+               # render I/O wait
+               chart_rect = (off_x, curr_y+30, w, bar_h)
+               if clip_visible (clip, chart_rect):
+                       draw_box_ticks (ctx, chart_rect, sec_w)
+                       draw_annotations (ctx, proc_tree, trace.times, chart_rect)
+                       draw_chart (ctx, IO_COLOR, True, chart_rect, \
+                                   [(sample.time, sample.user + sample.sys + sample.io) for sample in 
trace.cpu_stats], \
+                                   proc_tree, None)
+                       # render CPU load
+                       draw_chart (ctx, CPU_COLOR, True, chart_rect, \
+                                   [(sample.time, sample.user + sample.sys) for sample in trace.cpu_stats], \
+                                   proc_tree, None)
+
+               curr_y = curr_y + 30 + bar_h
 
        # render second chart
-       draw_legend_line(ctx, "Disk throughput", DISK_TPUT_COLOR, off_x, curr_y+20, leg_s)
-       draw_legend_box(ctx, "Disk utilization", IO_COLOR, off_x + 120, curr_y+20, leg_s)
-
-        # render I/O utilization
-       chart_rect = (off_x, curr_y+30, w, bar_h)
-       if clip_visible (clip, chart_rect):
-               draw_box_ticks (ctx, chart_rect, sec_w)
-               draw_annotations (ctx, proc_tree, trace.times, chart_rect)
-               draw_chart (ctx, IO_COLOR, True, chart_rect, \
-                           [(sample.time, sample.util) for sample in trace.disk_stats], \
-                           proc_tree, None)
-
-       # render disk throughput
-       max_sample = max (trace.disk_stats, key = lambda s: s.tput)
-       if clip_visible (clip, chart_rect):
-               draw_chart (ctx, DISK_TPUT_COLOR, False, chart_rect, \
-                           [(sample.time, sample.tput) for sample in trace.disk_stats], \
-                           proc_tree, None)
-
-       pos_x = off_x + ((max_sample.time - proc_tree.start_time) * w / proc_tree.duration)
-
-       shift_x, shift_y = -20, 20
-       if (pos_x < off_x + 245):
-               shift_x, shift_y = 5, 40
-
-       label = "%dMB/s" % round ((max_sample.tput) / 1024.0)
-       draw_text (ctx, label, DISK_TPUT_COLOR, pos_x + shift_x, curr_y + shift_y)
-
-       curr_y = curr_y + 30 + bar_h
+       if trace.disk_stats:
+               draw_legend_line(ctx, "Disk throughput", DISK_TPUT_COLOR, off_x, curr_y+20, leg_s)
+               draw_legend_box(ctx, "Disk utilization", IO_COLOR, off_x + 120, curr_y+20, leg_s)
+
+               # render I/O utilization
+               chart_rect = (off_x, curr_y+30, w, bar_h)
+               if clip_visible (clip, chart_rect):
+                       draw_box_ticks (ctx, chart_rect, sec_w)
+                       draw_annotations (ctx, proc_tree, trace.times, chart_rect)
+                       draw_chart (ctx, IO_COLOR, True, chart_rect, \
+                                   [(sample.time, sample.util) for sample in trace.disk_stats], \
+                                   proc_tree, None)
+
+               # render disk throughput
+               max_sample = max (trace.disk_stats, key = lambda s: s.tput)
+               if clip_visible (clip, chart_rect):
+                       draw_chart (ctx, DISK_TPUT_COLOR, False, chart_rect, \
+                                   [(sample.time, sample.tput) for sample in trace.disk_stats], \
+                                   proc_tree, None)
+
+               pos_x = off_x + ((max_sample.time - proc_tree.start_time) * w / proc_tree.duration)
+
+               shift_x, shift_y = -20, 20
+               if (pos_x < off_x + 245):
+                       shift_x, shift_y = 5, 40
+
+               label = "%dMB/s" % round ((max_sample.tput) / 1024.0)
+               draw_text (ctx, label, DISK_TPUT_COLOR, pos_x + shift_x, curr_y + shift_y)
+
+               curr_y = curr_y + 30 + bar_h
 
        # render mem usage
        chart_rect = (off_x, curr_y+30, w, meminfo_bar_h)


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]