Commit d5b946f4 authored by Russ Cox's avatar Russ Cox

dashboard: present benchmarks

  * fix bug in benchmark collection: bad benchmark data key
    meant that all the builders collided when writing data.
  * report benchmarks even if make bench exits non-zero.
  * graphical and json presentations

R=agl1
CC=golang-dev
https://golang.org/cl/201065
parent 95e08bde
......@@ -69,9 +69,7 @@ while true ; do
echo "Running benchmarks"
cd pkg || fatal "failed to cd to pkg"
make bench > ../../benchmarks 2>&1
if [ $? -eq 0 ] ; then
python ../../../buildcontrol.py benchmarks $BUILDER $rev ../../benchmarks || fatal "Cannot record benchmarks"
fi
python ../../../buildcontrol.py benchmarks $BUILDER $rev ../../benchmarks || fatal "Cannot record benchmarks"
cd .. || fatal "failed to cd out of pkg"
fi
fi
......
application: godashboard
version: 1
version: 3
runtime: python
api_version: 1
......
<!DOCTYPE HTML>
<html>
<head>
<title>Go benchmarks</title>
<style>
h1 {
font-size: 1em;
font-weight: bold;
}
h2 {
font-size: 1em;
font-weight: bold;
}
table.alternate {
white-space: nowrap;
}
table.alternate tr td {
padding-right: 10px;
}
table.alternate tr td:last-child {
padding-right: 0;
}
table.alternate tr:nth-child(2n) {
background-color: #f8f8f8;
}
td.revision {
}
span.hash {
font-family: monospace;
font-size: small;
color: #aaa;
}
span.nodeseq {
}
td.user {
font-size: small;
}
td.date {
color: #aaa;
font-size: small;
}
td.result {
text-align: center;
}
span.ok {
}
td.desc {
font-size: small;
font-family: sans-serif;
}
th.builder {
font-weight: bold;
padding-right: 0.5em;
}
</style>
</head>
<body>
<h1>Go dashboard - {{benchmark}}</h1>
<a href="/">build status</a> <br>
<a href="/benchmarks">benchmarks</a>
<h2>{{benchmark}}</h2>
<a href="{{benchmark}}?fmt=json">json</a>
{% for g in graphs %}
<h3>{{g.builder}}</h3>
{% if g.url %}
<img src="{{g.url}}&chs=600x150&chf=bg,s,00000000&chco=000000ff&chls=1,1,0">
{% else %}
(no data available)
{% endif %}
{% endfor %}
<br><br>
<table class="alternate" cellpadding="0" cellspacing="0">
<tr>
<th></th>
{% for b in builders %}
<th class="builder">{{b.goos}}<br>{{b.goarch}}<br>{{b.note}}</th>
{% endfor %}
<th></th>
<th></th>
<th></th>
</tr>
{% for r in revs %}
<tr>
<td class="revision"><span class="hash"><a href="https://code.google.com/p/go/source/detail?r={{r.node}}">{{r.node|slice:":12"}}</a></span></td>
{% for ns in r.ns_by_builder %}
<td class="result">
{% if ns %}
{{ns}}
{% endif %}
</td>
{% endfor %}
<td class="user">{{r.user|escape}}</td>
<td class="date">{{r.date|escape}}</td>
<td class="desc">{{r.shortdesc|escape}}</td>
</tr>
{% endfor %}
</body>
</html>
<!DOCTYPE HTML>
<html>
<head>
<title>Go benchmarks</title>
<style>
h1 {
font-size: 1em;
font-weight: bold;
}
h2 {
font-size: 1em;
font-weight: bold;
}
table.alternate {
white-space: nowrap;
}
table.alternate tr td {
padding-right: 10px;
}
table.alternate tr td:last-child {
padding-right: 0;
}
table.alternate tr:nth-child(2n) {
background-color: #f8f8f8;
}
td.revision {
}
span.nodeseq {
}
td.user {
font-size: small;
}
td.date {
color: #aaa;
font-size: small;
}
td.result {
text-align: center;
}
span.ok {
}
td.desc {
font-size: small;
font-family: sans-serif;
}
th.builder {
font-weight: bold;
padding-right: 0.5em;
}
</style>
</head>
<body>
<h1>Go dashboard - benchmarks</h1>
<a href="/">build status</a>
<h2>Benchmarks</h2>
<table class="alternate" cellpadding="0" cellspacing="0">
<tr>
<th></th>
{% for b in builders %}
<th class="builder">{{b.goos}}<br>{{b.goarch}}<br>{{b.note}}</th>
{% endfor %}
</tr>
{% for m in benchmarks %}
<tr>
<td class="name"><a href="/benchmarks/{{m.name}}">{{m.name}}</a></td>
{% for b in m.builds %}
<td class="result">
{% if b.url %}
<img src="{{b.url}}&chs=80x20&chf=bg,s,00000000&chco=000000ff&chls=1,1,0">
{% endif %}
</td>
{% endfor %}
</tr>
{% endfor %}
</table>
</body>
</html>
This diff is collapsed.
......@@ -59,6 +59,8 @@
<body>
<h1>Go dashboard</h1>
<a href="benchmarks">benchmarks</a>
<h2>Build status</h2>
<table class="alternate" cellpadding="0" cellspacing="0">
<tr>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment