Added stats grouped by algorithm

This commit is contained in:
Jerry Brady 2014-04-02 21:42:50 +00:00
parent d65a1ab004
commit ba1836b605

View File

@ -14,13 +14,6 @@ module.exports = function(logger, portalConfig, poolConfigs){
var redisClients = [];
/*var algoMultipliers = {
'x11': Math.pow(2, 16),
'scrypt': Math.pow(2, 16),
'scrypt-jane': Math.pow(2,16),
'sha256': Math.pow(2, 32)
};*/
var canDoStats = true;
Object.keys(poolConfigs).forEach(function(coin){
@ -55,7 +48,6 @@ module.exports = function(logger, portalConfig, poolConfigs){
this.stats = {};
this.statsString = '';
this.getGlobalStats = function(callback){
var allCoinStats = {};
@ -76,6 +68,7 @@ module.exports = function(logger, portalConfig, poolConfigs){
var commandsPerCoin = redisComamndTemplates.length;
client.coins.map(function(coin){
redisComamndTemplates.map(function(t){
var clonedTemplates = t.slice(0);
@ -84,6 +77,7 @@ module.exports = function(logger, portalConfig, poolConfigs){
});
});
client.client.multi(redisCommands).exec(function(err, replies){
if (err){
console.log('error with getting hashrate stats ' + JSON.stringify(err));
@ -121,6 +115,7 @@ module.exports = function(logger, portalConfig, poolConfigs){
workers: 0,
hashrate: 0
},
algos: {},
pools: allCoinStats
};
@ -143,6 +138,18 @@ module.exports = function(logger, portalConfig, poolConfigs){
coinStats.hashrate = hashratePre / 1e3 | 0;
portalStats.global.hashrate += coinStats.hashrate;
portalStats.global.workers += Object.keys(coinStats.workers).length;
/* algorithm specific global stats */
var algo = coinStats.algorithm;
if (!portalStats.algos.hasOwnProperty(algo)){
portalStats.algos[algo] = {
workers: 0,
hashrate: 0
};
}
portalStats.algos[algo].hashrate += coinStats.hashrate;
portalStats.algos[algo].workers += Object.keys(coinStats.workers).length;
delete coinStats.hashrates;
delete coinStats.shares;
});