diff options
Diffstat (limited to 'modules-available/vmstore/templates/benchmark-result.html')
-rw-r--r-- | modules-available/vmstore/templates/benchmark-result.html | 45 |
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 |