summaryrefslogtreecommitdiffstats
path: root/modules-available/vmstore/templates/benchmark-result.html
diff options
context:
space:
mode:
Diffstat (limited to 'modules-available/vmstore/templates/benchmark-result.html')
-rw-r--r--modules-available/vmstore/templates/benchmark-result.html45
1 files changed, 31 insertions, 14 deletions
diff --git a/modules-available/vmstore/templates/benchmark-result.html b/modules-available/vmstore/templates/benchmark-result.html
index fc7f8a55..edf4a4f5 100644
--- a/modules-available/vmstore/templates/benchmark-result.html
+++ b/modules-available/vmstore/templates/benchmark-result.html
@@ -4,19 +4,13 @@
{{#remaining}}
<div class="alert alert-info">
- {{lang_benchmarkSecondsReminaing}}: {{remaining}}
+ {{lang_benchmarkSecondsReminaing}}: <span id="remaining-seconds">{{remaining}}</span>
</div>
{{/remaining}}
<div id="graphs"></div>
<script>
- {{#refresh}}
- setTimeout(function() {
- window.location.reload();
- }, {{refresh}} * 1000);
- {{/refresh}}
-
document.addEventListener('DOMContentLoaded', function() {
var result = {{{result}}};
var clients = {{{wanted}}};
@@ -30,10 +24,14 @@
function makeGraph(typeKey, resourceKey, caption) {
var uuid;
var ds = [];
- var gmin = 0, lmax = 0;
+ var gmin = 0, rmax = 0;
var colors = [];
var cnt = 0;
for (uuid in result) {
+ if (!result[uuid][typeKey]) {
+ delete result[uuid];
+ continue;
+ }
if (gmin === 0 || result[uuid][typeKey].start < gmin) {
gmin = result[uuid][typeKey].start;
}
@@ -54,7 +52,7 @@
for (i = 0; i < v.length; ++i) {
v[i].x += o;
if (cnt > 1) {
- idx = (v[i].x / 250) | 0;
+ idx = Math.round(v[i].x / 250);
if (sums[idx]) {
sums[idx] += v[i].y | 0;
} else {
@@ -62,7 +60,7 @@
}
}
}
- if (v[v.length-1].x > lmax) lmax = v[v.length-1].x; // Get max value
+ if (v[v.length-1].x > rmax) rmax = v[v.length-1].x; // Get max value
ds.push({data: v, label: result[uuid].name, borderColor: colors[ds.length], fill: false});
}
if (cnt > 1) {
@@ -74,15 +72,14 @@
$e.append($('<h3>').text(caption));
$e.append($c);
var ls = [];
- for (i = 0; i <= lmax; i += 250) ls.push(i); // Generate steps for graph
+ for (i = 0; i <= rmax; i += 250) ls.push(i); // Generate steps for graph
graphs[typeKey] = new Chart($c[0].getContext('2d'), {data: {datasets: ds, labels: ls}, type: 'scatter', options: {
animation: false,
responsive: true,
- spanGaps: true,
borderWidth: 2,
pointBorderWidth: 0,
showLine: true,
- scales: { y: { ticks: { callback: formatBytes }}, x: { ticks: { callback: renderX } } },
+ scales: { y: { ticks: { callback: formatBytes }}, x: { ticks: { callback: renderX }, max: rmax } },
plugins: {
tooltip: { callbacks: { label: function(context) {
if (context.parsed.y !== null) {
@@ -90,7 +87,9 @@
}
return context.dataset.label;
}
- }}}
+ }},
+ legend: { position: 'left'}
+ }
}});
} else {
graphs[typeKey].data.datasets = ds;
@@ -102,5 +101,23 @@
makeGraph('SEQ', 'net', 'Sequential Reads');
makeGraph('RND', 'net', 'Random 1M');
+ {{#refresh}}
+ setTimeout(function() {
+ window.location.reload();
+ }, {{refresh}} * 1000);
+ {{#remaining}}
+ var remaining = {{remaining}};
+ function updateRemainingCounter() {
+ if (remaining > 0) {
+ setTimeout(updateRemainingCounter, 1000);
+ } else {
+ window.location.reload();
+ }
+ $('#remaining-seconds').text(remaining--);
+ }
+ updateRemainingCounter();
+ {{/remaining}}
+ {{/refresh}}
+
});
</script> \ No newline at end of file