diff options
author | Benjamin Jones <bjones@galois.com> | 2012-10-29 14:06:52 -0700 |
---|---|---|
committer | Benjamin Jones <bjones@galois.com> | 2012-10-29 14:06:52 -0700 |
commit | 00b39d16630cad9699c0eda6f5e1cedc535c7805 (patch) | |
tree | 07c89ed73c59024e0e3b3037fd8d84064d984042 | |
parent | 2ac4371f5d2fd20e98e0a439e2921dbfdc4f8eb9 (diff) |
added 'number of elements checked' counter to stats panel
-rw-r--r-- | contexts/data/fiveui/injected/fiveui-injected-compute.js | 3 | ||||
-rw-r--r-- | contexts/data/fiveui/injected/fiveui-injected-ui.js | 1 | ||||
-rw-r--r-- | contexts/data/fiveui/injected/injected.css | 4 | ||||
-rw-r--r-- | contexts/data/fiveui/injected/prelude.js | 16 | ||||
-rw-r--r-- | contexts/data/fiveui/state.js | 2 |
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]; } }; /* |