aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Benjamin Jones <bjones@galois.com>2012-10-29 14:06:52 -0700
committerGravatar Benjamin Jones <bjones@galois.com>2012-10-29 14:06:52 -0700
commit00b39d16630cad9699c0eda6f5e1cedc535c7805 (patch)
tree07c89ed73c59024e0e3b3037fd8d84064d984042
parent2ac4371f5d2fd20e98e0a439e2921dbfdc4f8eb9 (diff)
added 'number of elements checked' counter to stats panel
-rw-r--r--contexts/data/fiveui/injected/fiveui-injected-compute.js3
-rw-r--r--contexts/data/fiveui/injected/fiveui-injected-ui.js1
-rw-r--r--contexts/data/fiveui/injected/injected.css4
-rw-r--r--contexts/data/fiveui/injected/prelude.js16
-rw-r--r--contexts/data/fiveui/state.js2
5 files changed, 23 insertions, 3 deletions
diff --git a/contexts/data/fiveui/injected/fiveui-injected-compute.js b/contexts/data/fiveui/injected/fiveui-injected-compute.js
index 15b845e..b6a814f 100644
--- a/contexts/data/fiveui/injected/fiveui-injected-compute.js
+++ b/contexts/data/fiveui/injected/fiveui-injected-compute.js
@@ -127,6 +127,7 @@
var theRule = null;
var date = new Date();
var stats = { start: date.getTime(), end: null, numRules: 0, numElts: 0 };
+ fiveui.stats.numElts = 0; // reset stats element counter
var report = function(name, node) {
var prob = core.hash(theRule, name, node);
@@ -154,6 +155,7 @@
if (fn) {
try {
+ // note: fiveui.stats.numElts is updated as a side effect here
fn.apply(scope);
} catch (e) {
console.log('exception running rule: '+theRule.name);
@@ -164,6 +166,7 @@
}
date = new Date();
stats.end = date.getTime();
+ stats.numElts = fiveui.stats.numElts;
core.reportStats(stats);
};
diff --git a/contexts/data/fiveui/injected/fiveui-injected-ui.js b/contexts/data/fiveui/injected/fiveui-injected-ui.js
index 0d0224b..b93e442 100644
--- a/contexts/data/fiveui/injected/fiveui-injected-ui.js
+++ b/contexts/data/fiveui/injected/fiveui-injected-ui.js
@@ -196,6 +196,7 @@
$('#clearButton').click(function() {
$('#problemList').children().remove();
port.emit('ClearProblems');
+ core.renderStats(fiveui.stats.zero);
core.maskProblem(fiveui.query('.uic-problem'));
});
diff --git a/contexts/data/fiveui/injected/injected.css b/contexts/data/fiveui/injected/injected.css
index ce05a2e..c862c19 100644
--- a/contexts/data/fiveui/injected/injected.css
+++ b/contexts/data/fiveui/injected/injected.css
@@ -36,7 +36,7 @@
}
.ui-dialog .ui-dialog-content {
- overflow: hidden !important;
+ /* overflow: hidden !important; */
position: relative;
}
@@ -76,9 +76,11 @@
border-style: groove;
background: white;
+ /*
position: absolute;
top: 95px;
bottom: 0px;
+ */
/* coarse estimate of width in most standard sizes */
width: 97%;
diff --git a/contexts/data/fiveui/injected/prelude.js b/contexts/data/fiveui/injected/prelude.js
index 40b911f..5eb8d25 100644
--- a/contexts/data/fiveui/injected/prelude.js
+++ b/contexts/data/fiveui/injected/prelude.js
@@ -41,6 +41,17 @@ if (typeof goog != 'undefined') {
*/
fiveui = fiveui || {};
+/**
+ * A global namespace for statistics collection.
+ *
+ * @namespace
+ */
+fiveui.stats = fiveui.stats || {};
+/** @global */
+fiveui.stats.numElts = 0;
+/** @const */
+fiveui.stats.zero = { numRules: 0, start: 0, end: 0, numElts: 0 };
+
/** DOM Traversal ************************************************************/
/**
@@ -70,7 +81,10 @@ fiveui.query = function (sel, context) {
}
);
- return $results.not('#uic-top').filter(':visible');
+ // update global stats
+ $filteredResults = $results.not('#uic-top').filter(':visible');
+ fiveui.stats.numElts += $filteredResults.length;
+ return $filteredResults;
};
/**
diff --git a/contexts/data/fiveui/state.js b/contexts/data/fiveui/state.js
index ffaeba3..4537a1b 100644
--- a/contexts/data/fiveui/state.js
+++ b/contexts/data/fiveui/state.js
@@ -105,7 +105,7 @@ fiveui.TabState.prototype.clearProblems = function() {
};
fiveui.TabState.prototype.clearStats = function() {
- this.stats = { start: 0, end: 0, numRules: 0, numElts: 0 };
+ for (var p in fiveui.stats.zero) { this.stats[p] = fiveui.stats.zero[p]; }
};
/*