diff options
Diffstat (limited to 'scripts/pybootchartgui/pybootchartgui/draw.py')
-rw-r--r-- | scripts/pybootchartgui/pybootchartgui/draw.py | 29 |
1 files changed, 24 insertions, 5 deletions
diff --git a/scripts/pybootchartgui/pybootchartgui/draw.py b/scripts/pybootchartgui/pybootchartgui/draw.py index 4326361426..c6e67833ab 100644 --- a/scripts/pybootchartgui/pybootchartgui/draw.py +++ b/scripts/pybootchartgui/pybootchartgui/draw.py @@ -356,6 +356,12 @@ def extents(options, xscale, trace): h += 30 + bar_h if trace.disk_stats: h += 30 + bar_h + if trace.cpu_pressure: + h += 30 + bar_h + if trace.io_pressure: + h += 30 + bar_h + if trace.mem_pressure: + h += 30 + bar_h if trace.monitor_disk: h += 30 + bar_h if trace.mem_stats: @@ -614,8 +620,8 @@ def render_charts(ctx, options, clip, trace, curr_y, w, h, sec_w): return curr_y -def render_processes_chart(ctx, options, trace, curr_y, w, h, sec_w): - chart_rect = [off_x, curr_y+header_h, w, h - curr_y - 1 * off_y - header_h ] +def render_processes_chart(ctx, options, trace, curr_y, width, h, sec_w): + chart_rect = [off_x, curr_y+header_h, width, h - curr_y - 1 * off_y - header_h ] draw_legend_box (ctx, "Configure", \ TASK_COLOR_CONFIGURE, off_x , curr_y + 45, leg_s) @@ -640,8 +646,9 @@ def render_processes_chart(ctx, options, trace, curr_y, w, h, sec_w): offset = trace.min or min(trace.start.keys()) for start in sorted(trace.start.keys()): for process in sorted(trace.start[start]): + elapsed_time = trace.processes[process][1] - start if not options.app_options.show_all and \ - trace.processes[process][1] - start < options.app_options.mintime: + elapsed_time < options.app_options.mintime: continue task = process.split(":")[1] @@ -650,14 +657,23 @@ def render_processes_chart(ctx, options, trace, curr_y, w, h, sec_w): #print(s) x = chart_rect[0] + (start - offset) * sec_w - w = ((trace.processes[process][1] - start) * sec_w) + w = elapsed_time * sec_w + + def set_alfa(color, alfa): + clist = list(color) + clist[-1] = alfa + return tuple(clist) #print("proc at %s %s %s %s" % (x, y, w, proc_h)) col = None if task == "do_compile": col = TASK_COLOR_COMPILE + elif "do_compile" in task: + col = set_alfa(TASK_COLOR_COMPILE, 0.25) elif task == "do_configure": col = TASK_COLOR_CONFIGURE + elif "do_configure" in task: + col = set_alfa(TASK_COLOR_CONFIGURE, 0.25) elif task == "do_install": col = TASK_COLOR_INSTALL elif task == "do_populate_sysroot": @@ -675,7 +691,10 @@ def render_processes_chart(ctx, options, trace, curr_y, w, h, sec_w): draw_fill_rect(ctx, col, (x, y, w, proc_h)) draw_rect(ctx, PROC_BORDER_COLOR, (x, y, w, proc_h)) - draw_label_in_box(ctx, PROC_TEXT_COLOR, process, x, y + proc_h - 4, w, proc_h) + # Show elapsed time for each task + process = "%ds %s" % (elapsed_time, process) + draw_label_in_box(ctx, PROC_TEXT_COLOR, process, x, y + proc_h - 4, w, width) + y = y + proc_h return curr_y |