OLD | NEW |
| (Empty) |
1 {% extends "layout.html" %} | |
2 | |
3 {% macro DisplayGraph(name, layout, width, height, color, data_variable, options
) %} | |
4 <div><canvas id="canvas{{ name }}" height="{{ height }}" width="{{ width }}"><
/canvas></div> | |
5 <script> | |
6 var options{{ name }} = { | |
7 "colorScheme": PlotKit.Base.palette(PlotKit.Base.baseColors()[{{ color }}]
), | |
8 {% for k, v in options.iteritems() %}"{{ k }}": {{ v }}, | |
9 {% endfor %} | |
10 }; | |
11 | |
12 function draw{{ name }}() { | |
13 var layout = new PlotKit.Layout("{{ layout }}", options{{ name }}); | |
14 layout.addDataset("data", {{ data_variable }}); | |
15 layout.evaluate(); | |
16 var canvas = MochiKit.DOM.getElement("canvas{{ name }}"); | |
17 var plotter = new PlotKit.SweetCanvasRenderer(canvas, layout, options{{ na
me }}); | |
18 plotter.render(); | |
19 } | |
20 | |
21 MochiKit.DOM.addLoadEvent(draw{{ name }}); | |
22 </script> | |
23 {% endmacro %} | |
24 | |
25 {% block header -%} | |
26 {{ super() }} | |
27 <script type="text/javascript" src="/mochikit/MochiKit.js"></script> | |
28 <script type="text/javascript" src="/plotkit/Base.js"></script> | |
29 <script type="text/javascript" src="/plotkit/Layout.js"></script> | |
30 <script type="text/javascript" src="/plotkit/Canvas.js"></script> | |
31 <script type="text/javascript" src="/plotkit/SweetCanvas.js"></script> | |
32 {% endblock header %} | |
33 | |
34 {% block content %} | |
35 <script type='text/javascript'> | |
36 var buildTimes = [ | |
37 {% for t in buildTimes %}[{{ loop.index0 if data_in_forward_order is defined
else loop.revindex0 }}, {{ t[1] }}]{% if not loop.last %},{% endif %} //
build {{ t[0] }} | |
38 {% endfor %} ]; | |
39 | |
40 var failingSteps = [ | |
41 {% for count in failingSteps.values() %}[{{ loop.index0 }}, {{ count }}]{% i
f not loop.last %}, | |
42 {% endif %}{% endfor %}]; | |
43 | |
44 var failingStepsLabel = [ | |
45 {% for step in failingSteps %}{v:{{ loop.index0 }}, label:"{{ step }}"}{% if
not loop.last %}, | |
46 {% endif %}{% endfor %}]; | |
47 | |
48 var ratioSuccessFailures = [[0, {{ numberOfSuccess }}], [1, {{ numberOfFailure
s }}]]; | |
49 | |
50 var stepTimeLabel = [ | |
51 {% for step in stepTimes %}{v:{{ loop.index0 }}, label:"{{ step }}"}{% if no
t loop.last %}, | |
52 {% endif %}{% endfor %}]; | |
53 | |
54 var stepTimeAvg = [ | |
55 {% for v in stepTimes.itervalues() %}[{{ loop.index0 }}, {{ v|extract_index(
1)|average }}]{% if not loop.last %}, | |
56 {% endif %}{% endfor %}]; | |
57 | |
58 {% for k, v in stepTimes.iteritems() %} | |
59 var stepTimes{{ k }} = [ | |
60 {% for steptime in v %}[{{ loop.index0 if data_in_forward_order is defined e
lse loop.revindex0 }}, {{ steptime[1] }}]{% if not loop.last %},{% endif %}
// build {{ steptime[0] }} | |
61 {% endfor %} ]; | |
62 | |
63 {% endfor %} | |
64 </script> | |
65 <center> | |
66 <h1> {{ builder_status.getName() }} </h1><br> | |
67 <h2> Cycle time (minutes)</h2> | |
68 {{ DisplayGraph("cycleTimeBar", "line", 1200, 300, 0, "buildTimes", {"drawXAxi
s": "false"}) }} | |
69 | |
70 <table><tr> | |
71 <td> | |
72 <h2>Ratio Success/Failures</h2><br> | |
73 {{ DisplayGraph("ratioSuccessFailurePie", "pie", 380, 300, 4, "ratioSuccessF
ailures", {"xTicks": "[{v:0, label:'Success'}, {v:1, label:'Failures'}]"}) }} | |
74 </td> | |
75 <td> | |
76 <h2>Failures by steps</h2><br> | |
77 {{ DisplayGraph("stepFailuresPie", "pie", 380, 300, 1, "failingSteps", {"xTi
cks": "failingStepsLabel"}) }} | |
78 </td> | |
79 <td> | |
80 <h2>Average step time distribution</h2><br> | |
81 {{ DisplayGraph("stepAvgTime", "pie", 380, 300, 2, "stepTimeAvg", {"xTicks":
"stepTimeLabel"}) }} | |
82 </td> | |
83 </tr></table> | |
84 | |
85 <table><tr> | |
86 {%- for k, v in stepTimes.iteritems() %} | |
87 <td> | |
88 <h3>Cycle time (seconds): {{ k }}</h3><br> | |
89 {{ DisplayGraph("stepsTime%sLine" % k|fixname, "line", 400, 300, colorMap.ge
t(k|fixname, 0), "stepTimes%s" % k, {"drawXAxis": "false", "yAxis": "[0.00, %d.0
0]" % (v|extract_index(1)|max|int+1), "yTicks": "[%s]" % ", ".join((v|extract_in
dex(1)|max|int + 1)|ticks)}) }} | |
90 </td> | |
91 {%- if not loop.index % 3 %} | |
92 </tr><tr> | |
93 {% endif -%} | |
94 {% endfor %} | |
95 </tr></table></center> | |
96 {% endblock content %} | |
OLD | NEW |