1
<script type="text/javascript">
2
// This is a subtractor factory, that is, a function that returns a function
3
// that does subtraction.
4
function subtractory(minuend, subtrahend) {
5
return function(item) {
6
var difference = (item.data[0][minuend] - item.data[0][subtrahend]) / 1000000;
7
return { id: item.id, date_entered: scope.dateParser(item.date_entered), delta: difference || 0 };
11
scope.massageGraphData = function(blob) {
14
key: "Callback - Sent",
15
values: blob.data.map(subtractory("upstart_app_launch:libual_start_message_callback",
16
"upstart_app_launch:libual_start_message_sent"))
19
key: "PreExec - Sent",
20
values: blob.data.map(subtractory("upstart_app_launch:exec_pre_exec",
21
"upstart_app_launch:libual_start_message_sent"))
24
key: "Callback - PreExec",
25
values: blob.data.map(subtractory("upstart_app_launch:libual_start_message_callback",
26
"upstart_app_launch:exec_pre_exec"))
34
id="app_startup_benchmark_graph"
36
margin="{left:100,top:10,bottom:40,right:100}"
37
x="accessor('item.date_entered')"
38
y="accessor('item.delta')"
39
useInteractiveGuideLine="true"
42
xAxisTickFormat="dateFormatter()"
43
xAxisStaggerLabels="true"
45
yAxisTickFormat="numberFormatter(',.2f', 'ms')"
54
<td ng-repeat="series in graphData">
56
<dl ng-repeat="item in series.values">
57
<dt>{{dateFormatter(ISO_ISH)(item.date_entered)}}</dt>
58
<dd>Result: <b>{{item.delta}}s</b></dd>