Skip to content

Commit 8ca97c8

Browse files
committed
remove white space, add labels
1 parent 54a2c63 commit 8ca97c8

File tree

1 file changed

+26
-23
lines changed

1 file changed

+26
-23
lines changed

nipype/utils/draw_gantt_chart.py

Lines changed: 26 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -236,7 +236,7 @@ def draw_lines(start, total_duration, minute_scale, scale):
236236
# Iterate through the lines and create html line markers string
237237
for line in range(num_lines):
238238
# Line object
239-
new_line = "<hr class='line' width='100%%' style='top:%dpx;'>" % next_line
239+
new_line = "<hr class='line' width='98%%' style='top:%dpx;'>" % next_line
240240
result += new_line
241241
# Time digits
242242
time = "<p class='time' style='top:%dpx;'> %02d:%02d </p>" % \
@@ -345,21 +345,6 @@ def draw_nodes(start, nodes_list, cores, minute_scale, space_between_minutes,
345345
# Return html string for nodes
346346
return result
347347

348-
# def draw_thread_bar(threads,space_between_minutes, minute_scale, color):
349-
# result = "<p class='time' style='top:198px;left:900px;'>Threads</p>"
350-
#
351-
# scale = float(space_between_minutes/float(minute_scale))
352-
# space_between_minutes = float(space_between_minutes/60.0)
353-
#
354-
# for i in range(len(threads)):
355-
# #print threads[i]
356-
# width = threads[i] * 10
357-
# t = (float(i*scale*minute_scale)/60.0) + 220
358-
# bar = "<div class='bar' style='height:"+ str(space_between_minutes) + "px;width:"+ str(width) +"px;left:900px;top:"+str(t)+"px'></div>"
359-
# result += bar
360-
#
361-
# return result
362-
363348
def draw_resource_bar(start_time, finish_time, time_series, space_between_minutes,
364349
minute_scale, color, left, resource):
365350
'''
@@ -479,7 +464,7 @@ def generate_gantt_chart(logfile, cores, minute_scale=10,
479464
<head>
480465
<style>
481466
#content{
482-
width:100%;
467+
width:99%;
483468
height:100%;
484469
position:absolute;
485470
}
@@ -518,11 +503,28 @@ def generate_gantt_chart(logfile, cores, minute_scale=10,
518503
height: 1px;
519504
background-color: red;
520505
}
506+
.label {
507+
width:20px;
508+
height:20px;
509+
opacity: 0.7;
510+
display: inline-block;
511+
}
521512
</style>
522513
</head>
523514
524515
<body>
525-
<div id="content">'''
516+
<div id="content">
517+
<div style="display:inline-block;">
518+
'''
519+
520+
close_header = '''
521+
</div>
522+
<div style="display:inline-block;margin-left:60px;vertical-align: top;">
523+
<p><span><div class="label" style="background-color:#03969D;"></div> Estimated Resource</span></p>
524+
<p><span><div class="label" style="background-color:#90BBD7;"></div> Actual Resource</span></p>
525+
<p><span><div class="label" style="background-color:#f00;"></div> Failed Node</span></p>
526+
</div>
527+
'''
526528

527529
# Read in json-log to get list of node dicts
528530
nodes_list = log_to_dict(logfile)
@@ -541,7 +543,7 @@ def generate_gantt_chart(logfile, cores, minute_scale=10,
541543
html_string += '<p>Duration: ' + "{0:.2f}".format(duration/60) + ' minutes</p>'
542544
html_string += '<p>Nodes: ' + str(len(nodes_list))+'</p>'
543545
html_string += '<p>Cores: ' + str(cores) + '</p>'
544-
546+
html_string += close_header
545547
# Draw nipype nodes Gantt chart and runtimes
546548
html_string += draw_lines(start_node['start'], duration, minute_scale,
547549
space_between_minutes)
@@ -552,19 +554,20 @@ def generate_gantt_chart(logfile, cores, minute_scale=10,
552554
estimated_mem_ts = calculate_resource_timeseries(events, 'estimated_memory_gb')
553555
runtime_mem_ts = calculate_resource_timeseries(events, 'runtime_memory_gb')
554556
# Plot gantt chart
557+
resource_offset = 120 + 30*cores
555558
html_string += draw_resource_bar(start_node['start'], last_node['finish'], estimated_mem_ts,
556-
space_between_minutes, minute_scale, '#90BBD7', 1200, 'Memory')
559+
space_between_minutes, minute_scale, '#90BBD7', resource_offset*2+120, 'Memory')
557560
html_string += draw_resource_bar(start_node['start'], last_node['finish'], runtime_mem_ts,
558-
space_between_minutes, minute_scale, '#03969D', 1200, 'Memory')
561+
space_between_minutes, minute_scale, '#03969D', resource_offset*2+120, 'Memory')
559562

560563
# Get threads timeseries
561564
estimated_threads_ts = calculate_resource_timeseries(events, 'estimated_threads')
562565
runtime_threads_ts = calculate_resource_timeseries(events, 'runtime_threads')
563566
# Plot gantt chart
564567
html_string += draw_resource_bar(start_node['start'], last_node['finish'], estimated_threads_ts,
565-
space_between_minutes, minute_scale, '#90BBD7', 600, 'Threads')
568+
space_between_minutes, minute_scale, '#90BBD7', resource_offset, 'Threads')
566569
html_string += draw_resource_bar(start_node['start'], last_node['finish'], runtime_threads_ts,
567-
space_between_minutes, minute_scale, '#03969D', 600, 'Threads')
570+
space_between_minutes, minute_scale, '#03969D', resource_offset, 'Threads')
568571

569572
#finish html
570573
html_string+= '''

0 commit comments

Comments
 (0)