Merge pull request #38 from bluecircle/bluecircle
Added stats grouped by algorithm
This commit is contained in:
commit
984d3251b4
|
@ -14,13 +14,6 @@ module.exports = function(logger, portalConfig, poolConfigs){
|
||||||
|
|
||||||
var redisClients = [];
|
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;
|
var canDoStats = true;
|
||||||
|
|
||||||
Object.keys(poolConfigs).forEach(function(coin){
|
Object.keys(poolConfigs).forEach(function(coin){
|
||||||
|
@ -55,7 +48,6 @@ module.exports = function(logger, portalConfig, poolConfigs){
|
||||||
this.stats = {};
|
this.stats = {};
|
||||||
this.statsString = '';
|
this.statsString = '';
|
||||||
|
|
||||||
|
|
||||||
this.getGlobalStats = function(callback){
|
this.getGlobalStats = function(callback){
|
||||||
|
|
||||||
var allCoinStats = {};
|
var allCoinStats = {};
|
||||||
|
@ -76,6 +68,7 @@ module.exports = function(logger, portalConfig, poolConfigs){
|
||||||
|
|
||||||
var commandsPerCoin = redisComamndTemplates.length;
|
var commandsPerCoin = redisComamndTemplates.length;
|
||||||
|
|
||||||
|
|
||||||
client.coins.map(function(coin){
|
client.coins.map(function(coin){
|
||||||
redisComamndTemplates.map(function(t){
|
redisComamndTemplates.map(function(t){
|
||||||
var clonedTemplates = t.slice(0);
|
var clonedTemplates = t.slice(0);
|
||||||
|
@ -84,6 +77,7 @@ module.exports = function(logger, portalConfig, poolConfigs){
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
client.client.multi(redisCommands).exec(function(err, replies){
|
client.client.multi(redisCommands).exec(function(err, replies){
|
||||||
if (err){
|
if (err){
|
||||||
console.log('error with getting hashrate stats ' + JSON.stringify(err));
|
console.log('error with getting hashrate stats ' + JSON.stringify(err));
|
||||||
|
@ -121,6 +115,7 @@ module.exports = function(logger, portalConfig, poolConfigs){
|
||||||
workers: 0,
|
workers: 0,
|
||||||
hashrate: 0
|
hashrate: 0
|
||||||
},
|
},
|
||||||
|
algos: {},
|
||||||
pools: allCoinStats
|
pools: allCoinStats
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -143,8 +138,27 @@ module.exports = function(logger, portalConfig, poolConfigs){
|
||||||
coinStats.hashrate = hashratePre / 1e3 | 0;
|
coinStats.hashrate = hashratePre / 1e3 | 0;
|
||||||
portalStats.global.hashrate += coinStats.hashrate;
|
portalStats.global.hashrate += coinStats.hashrate;
|
||||||
portalStats.global.workers += Object.keys(coinStats.workers).length;
|
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,
|
||||||
|
hashrateString: null
|
||||||
|
};
|
||||||
|
}
|
||||||
|
portalStats.algos[algo].hashrate += coinStats.hashrate;
|
||||||
|
portalStats.algos[algo].workers += Object.keys(coinStats.workers).length;
|
||||||
|
|
||||||
delete coinStats.hashrates;
|
delete coinStats.hashrates;
|
||||||
delete coinStats.shares;
|
delete coinStats.shares;
|
||||||
|
coinStats.hashrateString = _this.getReadableHashRateString(coinStats.hashrate);
|
||||||
|
});
|
||||||
|
|
||||||
|
Object.keys(portalStats.algos).forEach(function(algo){
|
||||||
|
var algoStats = portalStats.algos[algo];
|
||||||
|
algoStats.hashrateString = _this.getReadableHashRateString(algoStats.hashrate);
|
||||||
});
|
});
|
||||||
|
|
||||||
_this.stats = portalStats;
|
_this.stats = portalStats;
|
||||||
|
@ -153,5 +167,16 @@ module.exports = function(logger, portalConfig, poolConfigs){
|
||||||
});
|
});
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
this.getReadableHashRateString = function(hashrate){
|
||||||
|
var i = -1;
|
||||||
|
var byteUnits = [ ' KH', ' MH', ' GH', ' TH', ' PH' ];
|
||||||
|
do {
|
||||||
|
hashrate = hashrate / 1024;
|
||||||
|
i++;
|
||||||
|
} while (hashrate > 1024);
|
||||||
|
return hashrate.toFixed(2) + byteUnits[i];
|
||||||
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue