diff options
Diffstat (limited to 'web/getstats/global.js')
-rw-r--r-- | web/getstats/global.js | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/web/getstats/global.js b/web/getstats/global.js index a750fb3..733fdd1 100644 --- a/web/getstats/global.js +++ b/web/getstats/global.js @@ -5,6 +5,7 @@ var anySpace = / /g; // --- END Global variables ----------------------------------- +// ### 2 B DOCUMENTED! function updateStatus(msg, showSpinner) { // Note: the "span[id^=status]" selector matches all span elements // with an id attribute that begins with "status". @@ -18,6 +19,7 @@ function updateStatus(msg, showSpinner) { } } +// ### 2 B DOCUMENTED! function trim(s) { var i; @@ -27,6 +29,7 @@ function trim(s) return (i <= j) ? s.substr(i, (j - i) + 1) : ""; } +// ### 2 B DOCUMENTED! function queryStringArgs() { pairs = document.location.search.slice(1).split("&"); var args = []; @@ -41,6 +44,7 @@ function queryStringArgs() { return args; } +// ### 2 B DOCUMENTED! function extractArg(args, name) { arg = args[name]; if (arg == null) { @@ -49,16 +53,36 @@ function extractArg(args, name) { return arg; } +// ### 2 B DOCUMENTED! function isNonNullNumber(x) { return (x != null) && (!isNaN(x)); } +// ### 2 B DOCUMENTED! function changeMagnitudeScore(change) { var maxChange = 2.0; var absChange = (change < 1.0) ? (1.0 / change) : change; return (Math.min(absChange, maxChange) - 1.0) / (maxChange - 1.0); } +// ### 2 B DOCUMENTED! +function normalizedQuality(lsd, ni, nz, nc, mdrse) { + var maxBadSnapshots = 30; // experimental; maybe use max durability score? + var maxSampleSize = 5; + var maxLSD = maxBadSnapshots; + var maxNI = maxBadSnapshots * maxSampleSize; + var maxNZ = maxBadSnapshots * maxSampleSize; + var maxNC = maxBadSnapshots; + + var lsdScore = Math.min(1, lsd / maxLSD); + var niScore = Math.min(1, ni / maxNI); + var nzScore = Math.min(1, nz / maxNZ); + var ncScore = Math.min(1, nc / maxNC); + var mdrseScore = mdrse / 100; + + return (lsdScore + niScore + nzScore + ncScore + mdrseScore) / 5; +} + // Assigns tooltip with text 'text' to jQuery object 'obj'. function setTooltip(obj, text) { obj.attr( @@ -97,10 +121,12 @@ function daysToSecs(days) { return days * secsInDay; } +// ### 2 B DOCUMENTED! function zeroPad2(s) { return (s.length == 2) ? s : ("0" + s); } +// ### 2 B DOCUMENTED! function ageColor(secsAgo) { var secsInDay = 86400; // 24 * 60 * 60 @@ -128,6 +154,7 @@ function ageColor(secsAgo) { return color; } +// ### 2 B DOCUMENTED! function initTablesorter() { // Define a parser that handles mixed standard- and scientific notation // and sorts in _descending_ order before any missing values (i.e. |