From b2f4dae226254c522d7c59cfef7427d0d0e3be30 Mon Sep 17 00:00:00 2001 From: Kevin Froman Date: Fri, 20 Mar 2020 03:46:33 -0500 Subject: [PATCH] refactored main page to not use xhr, added thread ui stat area --- static-data/www/private/index.html | 7 ++ static-data/www/shared/main/stats.js | 115 +++++++++++++++++---------- static-data/www/shared/misc.js | 8 +- 3 files changed, 83 insertions(+), 47 deletions(-) diff --git a/static-data/www/private/index.html b/static-data/www/private/index.html index 60752756..cf210853 100755 --- a/static-data/www/private/index.html +++ b/static-data/www/private/index.html @@ -262,6 +262,13 @@ Blocks in queue: +
Process Info
+
+
+ + Current CPU threads: +
+
diff --git a/static-data/www/shared/main/stats.js b/static-data/www/shared/main/stats.js index 55ef8fe7..595fbfc0 100755 --- a/static-data/www/shared/main/stats.js +++ b/static-data/www/shared/main/stats.js @@ -55,50 +55,79 @@ function seconds2time (seconds) { return time } -switch (httpGet('/config/get/general.security_level')){ - case "0": - sec_description_str = 'normal' - break; - case "1": - sec_description_str = 'high' - break; - case "2": - sec_description_str = 'very high' - break; - case "3": - sec_description_str = 'extreme' - break; + +fetch('/config/get/general.security_level', { + headers: { + "token": webpass + }}) + .then((resp) => resp.text()) // Transform the data into text + .then(function(resp) { + switch(resp){ + case "0": + sec_description_str = 'normal' + break; + case "1": + sec_description_str = 'high' + break; + case "2": + sec_description_str = 'very high' + break; + case "3": + sec_description_str = 'extreme' + break; + } + if (sec_description_str !== 'normal'){ + showSecStatNotice() + } + }) + +var getStats = function(){ + fetch('/getstats', { + headers: { + "token": webpass + }}) + .then((resp) => resp.json()) + .then(function(stats) { + uptimeDisplay.innerText = seconds2time(stats['uptime']) + connectedNodes = stats['connectedNodes'].split('\n') + connectedDisplay.innerText = '' + for (x = 0; x < connectedNodes.length; x++){ + if (! connectedDisplay.innerText.includes(connectedNodes[x])){ + connectedDisplay.innerText += '🧅 ' + connectedNodes[x] + '\n' + } + } + storedBlockDisplay.innerText = stats['blockCount'] + queuedBlockDisplay.innerText = stats['blockQueueCount'] + document.getElementById('threads').innerText = stats['threads'] + securityLevel.innerText = sec_description_str + fetch('/hitcount', { + headers: { + "token": webpass + }}) + .then((resp) => resp.text()) + .then(function(totalRec) { + totalRec.innerText = totalRec + }) + fetch('/lastconnect', { + headers: { + "token": webpass + }}) + .then((resp) => resp.text()) + .then(function(conn) { + var lastConnect = conn + if (lastConnect > 0){ + var humanDate = new Date(0) + humanDate.setUTCSeconds(conn) + humanDate = humanDate.toString() + lastConnect = humanDate.substring(0, humanDate.indexOf('(')); + } + else{ + lastConnect = 'None since start' + } + lastIncoming.innerText = lastConnect + }) + }) } -if (sec_description_str !== 'normal'){ - showSecStatNotice() -} - -function getStats(){ - stats = JSON.parse(httpGet('getstats', webpass)) - uptimeDisplay.innerText = seconds2time(stats['uptime']) - connectedNodes = stats['connectedNodes'].split('\n') - connectedDisplay.innerText = '' - for (x = 0; x < connectedNodes.length; x++){ - if (! connectedDisplay.innerText.includes(connectedNodes[x])){ - connectedDisplay.innerText += '🧅 ' + connectedNodes[x] + '\n' - } - } - storedBlockDisplay.innerText = stats['blockCount'] - queuedBlockDisplay.innerText = stats['blockQueueCount'] - securityLevel.innerText = sec_description_str - totalRec.innerText = httpGet('/hitcount') - var lastConnect = httpGet('/lastconnect') - if (lastConnect > 0){ - var humanDate = new Date(0) - humanDate.setUTCSeconds(httpGet('/lastconnect')) - humanDate = humanDate.toString() - lastConnect = humanDate.substring(0, humanDate.indexOf('(')); - } - else{ - lastConnect = 'None since start' - } - lastIncoming.innerText = lastConnect -} getStats() setInterval(function(){getStats()}, 10000) \ No newline at end of file diff --git a/static-data/www/shared/misc.js b/static-data/www/shared/misc.js index dbdd786e..19c24835 100755 --- a/static-data/www/shared/misc.js +++ b/static-data/www/shared/misc.js @@ -25,7 +25,7 @@ fetch('/getHumanReadable', { headers: { "token": webpass }}) -.then((resp) => resp.text()) +.then((resp) => resp.text()) .then(function(resp) { myPub = resp }) @@ -46,7 +46,7 @@ function post_to_url(path, params) { } document.body.appendChild(form) - form.submit() + form.submit() } if (typeof webpass == "undefined"){ @@ -87,7 +87,7 @@ var passLinks = document.getElementsByClassName("idLink") for(var i = 0; i < passLinks.length; i++) { passLinks[i].href += '#' + webpass } - + var refreshLinks = document.getElementsByClassName("refresh") for(var i = 0; i < refreshLinks.length; i++) { @@ -133,7 +133,7 @@ if (typeof myPubCopy != "undefined"){ }) } console.log("copied pubkey to clipboard") - } + } } /* For Config toggle on homepage */