blob: a72190a9767c2f83d4e452ce916be32dab24e737 [file] [log] [blame]
<!doctype html>
<html>
<head>
<title>{{$.Dashboard.Name}} Dashboard</title>
<link rel="stylesheet" href="/static/style.css"/>
<style>
.graph-container { background: #eee; }
</style>
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript">
google.load("visualization", "1", {packages:["corechart"]});
google.setOnLoadCallback(drawCharts);
function drawCharts() {
var data = new google.visualization.DataTable();
data.addColumn({type: 'number', label: 'Commit'});
data.addColumn({type: 'number'});
data.addColumn({type: 'string', role: 'tooltip'});
{{range $.Headers}}
data.addColumn({type: 'number', label: '{{.}}'});
data.addColumn({type: 'boolean', role: 'certainty'});
data.addColumn({type: 'string', role: 'tooltip'});
data.addColumn({type: 'string', role: 'annotation'});
{{end}}
data.addRows([
{{range $.Commits}}
[ {{.Id}}, 1, "{{.Name}}",
{{range .Vals}}
{{if .Val}}
{{.Val}}, {{.Certainty}}, '{{.Hint}}', '{{.Ann}}',
{{else}}
,,,,
{{end}}
{{end}}
],
{{end}}
]);
new google.visualization.LineChart(document.getElementById('graph_div')).
draw(data, {
width: "100%",
height: 700,
legend: {position: "bottom"},
focusTarget: "category",
hAxis: {textPosition: "none"},
chartArea: {left: "10%", top: "5%", width: "85%", height:"80%"},
explorer: {axis: 'horizontal', maxZoomIn: 0, maxZoomOut: 1, zoomDelta: 1.2, keepInBounds: true}
})
}
</script>
</head>
<body>
<header id="topbar">
<h1>Go Dashboard</h1>
<nav>
<a href="{{$.Dashboard.Prefix}}/">Test</a>
<a href="{{$.Dashboard.Prefix}}/perf">Perf</a>
<a href="{{$.Dashboard.Prefix}}/perfgraph">Graphs</a>
</nav>
<div class="clear"></div>
</header>
<div class="page">
<div id="graph_div" class="main-content graph-container">
</div>
<aside>
<form>
<div class="panel">
<h1>Builders</h1>
{{range $.Config.Builders}}
<input type="checkbox" name="builder" value="{{.Name}}" {{if .Selected}}checked{{end}}>{{.Name}}</input><br>
{{end}}
</div>
<div class="panel">
<h1>Benchmarks</h1>
{{range $.Config.Benchmarks}}
<input type="checkbox" name="benchmark" value="{{.Name}}" {{if .Selected}}checked{{end}}>{{.Name}}</input><br>
{{end}}
</div>
<div class="panel">
<h1>Procs</h1>
{{range $.Config.Procs}}
<input type="checkbox" name="procs" value="{{.Name}}" {{if .Selected}}checked{{end}}>{{.Name}}</input><br>
{{end}}
</div>
<div class="panel">
<h1>Metrics</h1>
{{range $.Config.Metrics}}
<input type="checkbox" name="metric" value="{{.Name}}" {{if .Selected}}checked{{end}}>{{.Name}}</input><br>
{{end}}
</div>
<div class="panel">
<h1>Commits</h1>
<b>From:</b>
<select required name="commit-from">
{{range $.Config.CommitsFrom}}
<option {{if .Selected}}selected{{end}}>{{.Name}}</option>
{{end}}
</select>
<b>To:</b>
<select required name="commit-to">
{{range $.Config.CommitsTo}}
<option {{if .Selected}}selected{{end}}>{{.Name}}</option>
{{end}}
</select>
</div>
<input class="button" type="submit" value="Refresh" name="refresh"/>
<a href="https://golang.org/wiki/PerfDashboard">Help</a>
</form>
</aside>
<div class="clear"></div>
</div>
</body>
</html>