gipeda-0.2: site/index.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Gipeda</title>
<script type="text/javascript" src="js/signals.min.js"></script>
<script type="text/javascript" src="js/hasher.min.js"></script>
<script type="text/javascript" src="js/handlebars-v2.0.0.js"></script>
<script src="js/jquery-1.11.2.min.js"></script>
<script src="js/jquery.timeago.js"></script>
<script src="js/jquery-ui/jquery-ui.min.js"></script>
<script src="js/naturalSort.js"></script>
<link rel="stylesheet" href="js/jquery-ui/jquery-ui.min.css">
<script src="js/flot/jquery.flot.min.js"></script>
<script src="js/flot/jquery.flot.resize.min.js"></script>
<link rel="stylesheet" href="js/bootstrap/dist/css/bootstrap.min.css">
<link rel="stylesheet" href="js/bootstrap/dist/css/bootstrap-theme.min.css">
<script src="js/bootstrap/dist/js/bootstrap.min.js"></script>
<script type="text/javascript" src="js/gipeda.js"></script>
<style type="text/css">
html {
overflow-y:scroll;
}
.panel-heading .accordion-toggle .indicator-untoggled {
display: none;
color: grey;
padding-left: 1em;
}
.panel-heading .accordion-toggle .indicator-toggled {
display: inline;
color: grey;
padding-left: 1em;
}
.panel-heading .accordion-toggle.collapsed .indicator-untoggled {
display: inline;
}
.panel-heading .accordion-toggle.collapsed .indicator-toggled {
display: none;
}
.summary-row-collapsed {
display:none;
}
.benchmark-table {
margin-bottom: 0px;
}
/* Trying to visualize collapsed rows */
.summary-table {
border-collapse:collapse;
}
.summary-table .summary-row-collapsed + .summary-row td {
border-top: 4px dotted #DDD;
}
/* Couldn’t make it to work easily
.summary-row-collapsed td {
background-color:grey;
padding:1px;
border: 0px;
height:1px !important;
line-height:0px;
padding:0px !important;
overflow:hidden !important;
}
*/
/* Order matters! */
.summary-improvement , .row-Improvement {
background-color: #dff0d8;
}
.summary-regression, .row-Regression {
background-color: #fcf8e3;
}
.branch-improvement , .row-Improvement {
background-color: #dff0d8;
}
.branch-regression, .row-Regression {
background-color: #fcf8e3;
}
.benchmark-name a.graph-link {
visibility:hidden;
}
.benchmark-name:hover a.graph-link {
visibility:visible;
}
</style>
<script id="nothing" type="text/x-handlebars-template">
<div class="jumbotron nothing-to-see" style="display:none">
<p>Nothing selected... try the buttons in the top right corner.</p>
</div>
</script>
<script id="nav" type="text/x-handlebars-template">
<nav class="navbar navbar-default">
<div class="container">
<!-- Inspired by http://stackoverflow.com/a/22978968/946226 -->
<!-- Title -->
<div class="navbar-header pull-left">
<a class="navbar-brand" href="#">{{ settings.title }}</a>
</div>
<!-- 'Sticky' (non-collapsing) right-side menu item(s) -->
<div class="navbar-header pull-right">
<p class="navbar-text nav-loading pull-left">Loading data...</p>
<div class="navbar-text nav-compare" role="group">
<a id="go-to-compare" href="#" class="navbar-link">
<code>
<span title="Drop a revision id to compare two revisions" id="compare-from">???????</span>..<span title="Drop a revision id to compare two revisions" id="compare-to">???????</span>
</code>
</a>
</div>
<ul class="nav pull-left">
<li class="pull-left">
<div class="btn-group" role="group">
<button type="button" class="btn btn-default navbar-btn active benchSelector" id="show-improvements" title="Show improvements">
<span class="text-success" style="font-weight:bold">+</span>
</button>
<button type="button" class="btn btn-default navbar-btn benchSelector" id="show-boring" title="Show unchanged">
<span style="font-weight:bold">=</span>
</button>
<button type="button" class="btn btn-default navbar-btn active benchSelector" id="show-regressions" title="Show regressions">
<span class="text-warning" style="font-weight:bold">-</span>
</button>
</div>
</li>
</ul>
<!-- Required bootstrap placeholder for the collapsed menu -->
<button type="button" data-toggle="collapse" data-target=".navbar-collapse" class="navbar-toggle"><span class="sr-only">Toggle navigation</span><span class="icon-bar"></span><span class="icon-bar"></span><span class="icon-bar"></span></button>
</div>
<!-- The Collapsing items navbar-left or navbar-right -->
<div class="collapse navbar-collapse navbar-left" id="bs-example-navbar-collapse-1">
<ul class="nav navbar-nav pull-right">
<!-- pull-right keeps the drop-down in line -->
<li><a href="{{indexLink}}">Revisions</a></li>
<!-- <li><a href="{{allLink}}">All</a></li> -->
<!-- <li><a href="{{revisionLink latest}}">Reports</a></li> -->
<li><a href="{{graphIndexLink}}">Graphs</a></li>
</ul>
</div>
</div>
</nav>
</script>
<script id="rev-id" type="text/x-handlebars-template">
<code data-rev="{{hash}}" class="rev-draggable">{{shortRev hash}}</code>
</script>
<script id="summary-icons" type="text/x-handlebars-template">
<span title="{{id summaryDesc}}">
<span>
{{totalCount}}
<span class="glyphicon glyphicon-stats"></span>
</span>
<span>
{{improvementCount}}
<span class="glyphicon glyphicon-plus text-success"></span>
</span>
<span>
{{regressionCount}}
<span class="glyphicon glyphicon-minus text-warning"></span>
</span>
</span>
</script>
<script id="summary-list" type="text/x-handlebars-template">
{{> nothing }}
<table class="table summary-table">
{{#each this}}
{{#with summary}}
<tr
class="
summary-row
{{#if stats.improvementCount}}summary-improvement{{/if}}
{{#if stats.regressionCount}}summary-regression{{/if}}
">
<td class="col-md-2 text-right">
<abbrv class="timeago" title="{{ iso8601 gitDate }}">{{ humanDate gitDate}}</abbrv>
</td>
<td class="col-md-1">
<a href="{{revisionLink hash}}">
{{> rev-id hash=hash}}
</a>
</td>
<td class="col-md-7">
{{ gitSubject }}
</td>
<td class="col-md-2 text-right">
{{> summary-icons stats}}
</td>
</tr>
{{/with}}
{{/each}}
</table>
</script>
<script id="tags" type="text/x-handlebars-template">
<h2>Tags</h2>
<table class="table tag-table">
{{#each_unnaturally tags}}
{{#with (lookup ../revisions this)}}
{{#with this.summary}}
<tr class="tag-row">
<td class="col-md-2 text-right">
<abbrv class="timeago" title="{{ iso8601 this.gitDate }}">{{ humanDate this.gitDate}}</abbrv>
</td>
<td class="col-md-1">
<a href="{{revisionLink hash}}">
{{> rev-id hash=hash}}
</a>
</td>
<td class="col-md-2">
<strong>{{ @key }}</strong>
</td>
<td class="col-md-7">
{{ gitSubject }}
</td>
</tr>
{{/with}}
{{else}}
<tr
title="This tag has not been benchmarked yet"
class="tag-row">
<td class="col-md-2 text-right">
</td>
<td class="col-md-1">
{{> rev-id hash=this}}
</td>
<td class="col-md-2">
{{ @key }}
</td>
<td class="col-md-7 text-right">
</td>
</tr>
{{/with}}
{{/each_unnaturally}}
</table>
</script>
<script id="branches" type="text/x-handlebars-template">
<h2>Branches</h2>
<table class="table branch-table">
{{#each_unnaturally branches}}
{{#with (lookup ../revisions this)}}
{{#with this.summary}}
<tr
class="
branch-row
{{#if stats.improvementCount}}branch-improvement{{/if}}
{{#if stats.regressionCount}}branch-regression{{/if}}
">
<td class="col-md-2 text-right">
<abbrv class="timeago" title="{{ iso8601 this.gitDate }}">{{ humanDate this.gitDate}}</abbrv>
</td>
<td class="col-md-1">
<a href="{{revisionLink hash}}">
{{> rev-id hash=hash}}
</a>
</td>
<td class="col-md-2">
<strong>{{ @key }}</strong>
</td>
<td class="col-md-5">
{{ gitSubject }}
</td>
<td class="col-md-2 text-right">
{{> summary-icons stats}}
</td>
</tr>
{{/with}}
{{else}}
<tr
title="The tip of this branch has not been benchmarked yet"
class="branch-row">
<td class="col-md-2 text-right">
</td>
<td class="col-md-1">
{{> rev-id hash=this}}
</td>
<td class="col-md-2">
{{ @key }}
</td>
<td class="col-md-5">
</td>
<td class="col-md-2 text-right">
</td>
</tr>
{{/with}}
{{/each_unnaturally}}
</table>
</script>
<script id="revTooltip" type="text/x-handlebars-template">
<a href="{{revisionLink hash}}">
{{> rev-id hash=hash}}
</a>:
{{ value }}<br/>
{{ humanDate gitDate}}<br/>
{{ gitSubject }}</br>
{{> summary-icons stats}}
</script>
<script id="graphIndex" type="text/x-handlebars-template">
{{> nav}}
<div class="container">
<h1>Benchmarks</h1>
</div>
<div class="container">
{{> nothing }}
<div class="panel-group" role="tablist">
{{#each benchGroups}}
<div class="panel panel-default graph-list-panel">
<div class="panel-heading" role="tab" id="heading-{{@index}}">
<h4 class="panel-title">
<a class="accordion-toggle" data-toggle="collapse" href="#table-{{@index}}">
{{groupName}}
</a>
</h4>
</div>
<div id="table-{{@index}}" class="panel-collapse collapse in" role="tabpanel">
<div class="panel-body">
<table class="table table-condensed benchmark-table">
<thead>
<tr>
<th class="col-md-6">Benchmark name</th>
</tr>
</thead>
<tbody>
{{#each groupMembers}}
<tr class="
summary-row
{{#with (lookup ../../graphSummaries this)}}
{{#if improvements}}summary-improvement{{/if}}
{{#if regressions}}summary-regression{{/if}}
{{/with}}
"
>
<td class="benchmark-name">
{{this}}
<a class="graph-link" title="Graphs" href="{{graphLink this}}">
<span class="glyphicon glyphicon-signal"/>
</a>
</td>
<td class="col-md-2 text-right">
{{#with (lookup ../../graphSummaries this)}}
<span>
{{improvements}}
<span class="glyphicon glyphicon-plus text-success"></span>
</span>
<span>
{{regressions}}
<span class="glyphicon glyphicon-minus text-warning"></span>
</span>
{{/with}}
</td>
</tr>
{{/each}}
</tbody>
</table>
</div>
</div>
</div>
{{/each}}
</div>
</div>
</script>
<script id="index" type="text/x-handlebars-template">
{{> nav}}
<div class="container">
<h1>Recent commits</h1>
{{> summary-list (recentCommits revisions)}}
<p class="text-center">
<a href="{{allLink}}">view older commits...</a>
</p>
</div>
<div class="container">
{{> tags }}
</div>
<div class="container">
{{> branches }}
</div>
</script>
<script id="complete" type="text/x-handlebars-template">
{{> nav}}
<div class="container">
<h1>All commits</h1>
{{> summary-list (allCommits revisions)}}
{{> tags }}
{{> branches }}
</div>
</script>
<script id="revision" type="text/x-handlebars-template">
{{> nav}}
<div class="container">
<div class="row">
<div class="col-md-6 col-md-push-6">
{{#if rev.summary}}
<h2>
Commit {{shortRev rev.summary.hash}}
</h2>
<p>
{{#if rev.summary.parents}}
Parent:
{{#with (lookup rev.summary.parents 0)}}
<a href="{{revisionLink this}}">
{{> rev-id hash=this}}
</a>
{{/with}} –
{{/if}}
{{revisionInfo rev.summary }} –
{{> summary-icons rev.summary.stats }}
</p>
<pre>{{rev.gitLog}}</pre>
{{/if}}
</div>
<div class="col-md-6 col-md-pull-6">
{{> nothing }}
<div class="panel-group" role="tablist">
{{#each groups}}
<div class="panel panel-default bench-panel">
<div class="panel-heading" role="tab" id="heading-{{@index}}">
<h4 class="panel-title">
<a class="accordion-toggle" data-toggle="collapse" href="#table-{{@index}}">
{{groupName}}
<span class="stats pull-right">
{{> summary-icons groupStats}}
<span class="indicator-toggled glyphicon glyphicon-chevron-down text-grey"/>
<span class="indicator-untoggled glyphicon glyphicon-chevron-right text-grey"/>
</span>
</a>
</h4>
</div>
<div id="table-{{@index}}" class="panel-collapse collapse in" role="tabpanel">
<div class="panel-body">
<table class="table table-condensed benchmark-table">
<thead>
<tr>
<th class="col-md-5">Benchmark name</th>
<th class="col-md-2 text-right">previous</th>
<th class="col-md-2 text-right">change</th>
<th class="col-md-2 text-right">now</th>
<th class="col-md-1 text-left"></th>
</tr>
</thead>
<tbody>
{{#each benchResults}}
<tr class="row-result row-{{changeType}}">
<td class="benchmark-name">
{{name}}
<a class="graph-link" title="Graphs" href="{{graphLink name ../../rev.summary.hash}}">
<span class="glyphicon glyphicon-signal"/>
</a>
</td>
<td class="text-right">{{previous}}</td>
<td class="text-right">{{change}}</td>
<td class="text-right">{{value}}</td>
<td class="text-left">{{unit}}</td>
</tr>
{{/each}}
</tbody>
</table>
</div>
</div>
</div>
{{/each}}
</div>
</div>
</div>
</script>
<script id="graph" type="text/x-handlebars-template">
{{> nav}}
<div class="container">
<h2>{{benchName}}</h2>
<div id="benchChart" style="width:100%; height:400px">
</div>
</script>
<script id="compare" type="text/x-handlebars-template">
{{> nav}}
<div class="container">
<div class="row">
<div class="col-md-6 col-md-push-6">
{{#if rev1.summary}}{{#if rev2.summary}}
<h2>
Comparing
{{> rev-id hash=rev1.summary.hash}}..{{> rev-id hash=rev2.summary.hash}}
</h2>
<p>
Parents:
{{#each rev1.summary.parents}}
<a href="{{compareLink this ../rev2.summary.hash}}">{{shortRev this}}</a>
{{/each}}</br>
<a href="{{revisionLink rev1.summary.hash}}">{{> rev-id hash=rev1.summary.hash}}</a> <abbrv class="timeago" title="{{ iso8601 gitDate }}">{{ humanDate rev1.summary.gitDate}}</abbrv>:<br/>
<strong>{{ rev1.summary.gitSubject }}</strong><br/>
{{revisionInfo rev1.summary }}
</p>
<p class="text-center">
⁞<br/>
<a href="{{diffLink rev1.summary.hash rev2.summary.hash}}">View diff</a><br/>
⁞
</p>
<p>
Parents:
{{#each rev2.summary.parents}}
<a href="{{compareLink ../rev1.summary.hash this}}">{{shortRev this}}</a>
{{/each}}</br>
<a href="{{revisionLink rev2.summary.hash}}">{{> rev-id hash=rev2.summary.hash}}</a> <abbrv class="timeago" title="{{ iso8601 gitDate }}">{{ humanDate rev2.summary.gitDate}}</abbrv>:<br/>
<strong>{{ rev2.summary.gitSubject }}</strong><br/>
{{revisionInfo rev2.summary }}
</p>
{{/if}} {{/if}}
</div>
<div class="col-md-6 col-md-pull-6">
{{> nothing }}
<div class="panel-group" role="tablist">
{{#each groups}}
<div class="panel panel-default bench-panel">
<div class="panel-heading" role="tab" id="heading-{{@index}}">
<h4 class="panel-title">
<a class="accordion-toggle" data-toggle="collapse" href="#table-{{@index}}">
{{groupName}}
<span class="stats pull-right">
{{> summary-icons groupStats}}
<span class="indicator-toggled glyphicon glyphicon-chevron-down text-grey"/>
<span class="indicator-untoggled glyphicon glyphicon-chevron-right text-grey"/>
</span>
</a>
</h4>
</div>
<div id="table-{{@index}}" class="panel-collapse collapse in" role="tabpanel">
<div class="panel-body">
<table class="table table-condensed benchmark-table">
<thead>
<tr>
<th class="col-md-5">Benchmark name</th>
<th class="col-md-2 text-right">previous</th>
<th class="col-md-2 text-right">change</th>
<th class="col-md-2 text-right">now</th>
<th class="col-md-1 text-right"></th>
</tr>
</thead>
<tbody>
{{#each benchResults}}
<tr class="row-result row-{{changeType}}">
<td class="benchmark-name">
{{name}}
<a class="graph-link" title="Graphs" href="{{graphLink name ../../rev1.summary.hash ../../rev2.summary.hash}}">
<span class="glyphicon glyphicon-signal"/>
</a>
</td>
<td class="text-right">{{previous}}</td>
<td class="text-right">{{change}}</td>
<td class="text-right">{{value}}</td>
<td class="text-left">{{unit}}</td>
</tr>
{{/each}}
</tbody>
</table>
</div>
</div>
</div>
{{/each}}
</div>
</div>
</div>
</script>
<script id="graph" type="text/x-handlebars-template">
{{> nav}}
<div class="container">
<h2>{{benchName}}</h2>
<div id="benchChart" style="width:100%; height:400px">
</div>
<p><button id="loadMore">Load older revisions</button></p>
</div>
</script>
</head>
<body>
<div id="main">
<div id="loading">
<p>
Loading...
</p>
<p>(If this does not disappear, then you do not have JavaScript enabled, or something else is broken.)</p>
</div>
</div>
</body>