diff --git a/monitoring/scoreboard/static/ezbc.js b/monitoring/scoreboard/static/ezbc.js
new file mode 100644
index 0000000..8a46c0b
--- /dev/null
+++ b/monitoring/scoreboard/static/ezbc.js
@@ -0,0 +1,88 @@
+/*
+ * Easy Bar Charts
+ *
+ * https://github.com/patrick-east/EZBC-js
+ *
+ * This only makes vertical stacked bar charts. The will be the size of
+ * whatever container you draw it in. It does not retain data, handle
+ * resize, make other types of graphs, deliver beer, or anything special.
+ */
+var EZBC = (function () {
+ var chart = {};
+ /*
+ * Expect a container element reference and data in the format of:
+ * [
+ * {
+ * value: 50,
+ * color: "#FF00FF",
+ * label: "wins",
+ * border: true,
+ * borderColor: "#000000"
+ * },
+ * {
+ * value: 10,
+ * color: "yellow",
+ * label: "loses"
+ * },
+ * ]
+ *
+ * Note: The order of elements is how they will be drawn from bottom to top.
+ */
+ chart.draw = function (container, data, borderSize, borderColor) {
+ var totalValue = 0;
+ for (var i = 0; i < data.length; i++) {
+ totalValue += data[i]['value'];
+
+ // check for some 'required' fields and try some defaults...
+ if (!data[i].hasOwnProperty('color')) {
+ data[i].color = '#'+Math.floor(Math.random()*16777215).toString(16);
+ }
+
+ if (!data[i].hasOwnProperty('border')) {
+ data[i].border = false;
+ }
+ else if (!data[i].hasOwnProperty('borderColor')) {
+ data[i].borderColor = '#000000';
+ }
+ }
+
+ var chartHeight = parseFloat(container.style.height);
+ var chartWidth = parseFloat(container.style.width);
+
+ var chartSVG = '';
+ container.innerHTML = chartSVG;
+ };
+
+ return chart;
+}());
\ No newline at end of file
diff --git a/monitoring/scoreboard/static/scoreboard.js b/monitoring/scoreboard/static/scoreboard.js
index 5f47069..6a47191 100644
--- a/monitoring/scoreboard/static/scoreboard.js
+++ b/monitoring/scoreboard/static/scoreboard.js
@@ -301,24 +301,71 @@ var Scoreboard = (function () {
var score_row = null;
var label = null;
- var scores = Object.keys(score);
+ score_row = $(document.createElement('tr'));
- for (var i = 0; i < scores.length; i++) {
- var result_type = scores[i];
- score_row = $(document.createElement('tr'));
+ label = create_header();
+ label.html('Score');
+ label.appendTo(score_row);
+ $(score_row).insertAfter($('table tr.table_header'));
- label = create_header();
- label.html(result_type);
- label.appendTo(score_row);
+ for (var j = 0; j < ci_accounts.length; j++) {
+ var ci = ci_accounts[j]
- for (var j = 0; j < ci_accounts.length; j++) {
- var ci = ci_accounts[j]
+ score_header = create_header();
+ score_header.appendTo(score_row);
+ score_header.css({
+ width: '75px',
+ height: '75px',
+ })
- label = create_header();
- label.html(score[result_type][ci._id] || 0);
- label.appendTo(score_row);
+ var data = []
+ var count = 0;
+ if (score['SUCCESS'] && score['SUCCESS'][ci._id] > 0) {
+ data.push({
+ value: score['SUCCESS'][ci._id],
+ color:'#00FF00',
+ label: 'Success: ' + score['SUCCESS'][ci._id],
+ border: true,
+ borderColor: 'grey'
+ });
+ count += score['SUCCESS'][ci._id];
}
- $(score_row).insertAfter($('table tr.table_header'));
+
+ if (score['FAIL'] && score['FAIL'][ci._id] > 0) {
+ data.push({
+ value: score['FAIL'][ci._id],
+ color:'#FF3300',
+ label: 'Fail: ' + score['FAIL'][ci._id],
+ border: true,
+ borderColor: 'grey'
+ });
+ count += score['FAIL'][ci._id];
+ }
+ if (score['UNKNOWN'] && score['UNKNOWN'][ci._id] > 0) {
+ data.push({
+ value: score['UNKNOWN'][ci._id],
+ color:'#FF0000',
+ label: 'Unknown: ' + score['UNKNOWN'][ci._id],
+ border: true,
+ borderColor: 'grey'
+ });
+ count += score['UNKNOWN'][ci._id];
+ }
+
+ var table = $('#scoreboard > table > tbody > tr')
+ var total_count = $('#scoreboard > table > tbody > tr').length - 2; // don't count the first two rows
+ var missing = total_count - count;
+ if (missing > 0) {
+ data.push({
+ value: missing,
+ color:'#FFFFFF',
+ label: 'Missing: ' + missing,
+ border: true,
+ borderColor: 'grey'
+ });
+ }
+
+ EZBC.draw(score_header[0], data, 3, 'grey');
}
};
diff --git a/monitoring/scoreboard/templates/index.html b/monitoring/scoreboard/templates/index.html
index 14c90df..d888798 100644
--- a/monitoring/scoreboard/templates/index.html
+++ b/monitoring/scoreboard/templates/index.html
@@ -4,6 +4,7 @@
+