added stats as different method
This commit is contained in:
parent
0925b738b9
commit
28447d6c43
16
app.js
16
app.js
@ -181,6 +181,22 @@ api.on('connection', function(spark) {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
spark.on('stats', function(data)
|
||||||
|
{
|
||||||
|
if( !_.isUndefined(data.id) && !_.isUndefined(data.stats) )
|
||||||
|
{
|
||||||
|
var stats = Nodes.updateStats(data.id, data.stats);
|
||||||
|
|
||||||
|
if(stats !== false)
|
||||||
|
{
|
||||||
|
client.write({
|
||||||
|
action: 'stats',
|
||||||
|
data: stats
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
spark.on('history', function(data)
|
spark.on('history', function(data)
|
||||||
{
|
{
|
||||||
console.log("got history from " + data.id);
|
console.log("got history from " + data.id);
|
||||||
|
2
dist/js/netstats.min.js
vendored
2
dist/js/netstats.min.js
vendored
File diff suppressed because one or more lines are too long
2
dist/js/netstats.min.js.map
vendored
2
dist/js/netstats.min.js.map
vendored
File diff suppressed because one or more lines are too long
@ -70,6 +70,16 @@ Collection.prototype.updatePending = function(id, stats)
|
|||||||
return node.setPending(stats);
|
return node.setPending(stats);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Collection.prototype.updateStats = function(id, stats)
|
||||||
|
{
|
||||||
|
var node = this.getNode({ id: id });
|
||||||
|
|
||||||
|
if (!node)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
return node.setBasicStats(stats);
|
||||||
|
}
|
||||||
|
|
||||||
Collection.prototype.addHistory = function(id, blocks)
|
Collection.prototype.addHistory = function(id, blocks)
|
||||||
{
|
{
|
||||||
var node = this.getNode({ id: id });
|
var node = this.getNode({ id: id });
|
||||||
|
@ -11,8 +11,8 @@ var Node = function Node(data)
|
|||||||
this.geo = {}
|
this.geo = {}
|
||||||
this.stats = {
|
this.stats = {
|
||||||
active: false,
|
active: false,
|
||||||
listening: false,
|
|
||||||
mining: false,
|
mining: false,
|
||||||
|
hashrate: 0,
|
||||||
peers: 0,
|
peers: 0,
|
||||||
pending: 0,
|
pending: 0,
|
||||||
gasPrice: 0,
|
gasPrice: 0,
|
||||||
@ -181,6 +181,23 @@ Node.prototype.setPending = function(stats)
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Node.prototype.setBasicStats = function(stats)
|
||||||
|
{
|
||||||
|
if( !_.isUndefined(stats) )
|
||||||
|
{
|
||||||
|
this.stats.active = stats.active;
|
||||||
|
this.stats.mining = stats.mining;
|
||||||
|
this.stats.hashrate = stats.hashrate;
|
||||||
|
this.stats.peers = stats.peers;
|
||||||
|
this.stats.gasPrice = stats.gasPrice;
|
||||||
|
this.stats.uptime = stats.uptime;
|
||||||
|
|
||||||
|
return this.getBasicStats();
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
Node.prototype.setLatency = function(latency)
|
Node.prototype.setLatency = function(latency)
|
||||||
{
|
{
|
||||||
if( !_.isUndefined(latency) )
|
if( !_.isUndefined(latency) )
|
||||||
@ -215,6 +232,21 @@ Node.prototype.getBlockStats = function()
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Node.prototype.getBasicStats = function()
|
||||||
|
{
|
||||||
|
return {
|
||||||
|
id: this.id,
|
||||||
|
stats: {
|
||||||
|
active: this.stats.active,
|
||||||
|
mining: this.stats.mining,
|
||||||
|
hashrate: this.stats.hashrate,
|
||||||
|
peers: this.stats.peers,
|
||||||
|
gasPrice: this.stats.gasPrice,
|
||||||
|
uptime: this.stats.uptime
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
Node.prototype.setState = function(active)
|
Node.prototype.setState = function(active)
|
||||||
{
|
{
|
||||||
this.stats.active = active;
|
this.stats.active = active;
|
||||||
|
@ -214,12 +214,32 @@ netStatsApp.controller('StatsCtrl', function($scope, $filter, socket, _, toastr)
|
|||||||
{
|
{
|
||||||
var node = $scope.nodes[index];
|
var node = $scope.nodes[index];
|
||||||
|
|
||||||
if( !_.isUndefined(node) && !_.isUndefined(node.stats) && !_.isUndefined(node.stats.pending) )
|
if( !_.isUndefined(node) && !_.isUndefined(node.stats.pending) && !_.isUndefined(data.pending) )
|
||||||
$scope.nodes[index].stats.pending = data.pending;
|
$scope.nodes[index].stats.pending = data.pending;
|
||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case "stats":
|
||||||
|
var index = findIndex({id: data.id});
|
||||||
|
|
||||||
|
if( !_.isUndefined(data.id) && index >= 0 )
|
||||||
|
{
|
||||||
|
var node = $scope.nodes[index];
|
||||||
|
|
||||||
|
if( !_.isUndefined(node) && !_.isUndefined(node.stats) )
|
||||||
|
{
|
||||||
|
$scope.nodes[index].stats.active = data.stats.active;
|
||||||
|
$scope.nodes[index].stats.mining = data.stats.mining;
|
||||||
|
$scope.nodes[index].stats.hashrate = data.stats.hashrate;
|
||||||
|
$scope.nodes[index].stats.peers = data.stats.peers;
|
||||||
|
$scope.nodes[index].stats.gasPrice = data.stats.gasPrice;
|
||||||
|
$scope.nodes[index].stats.uptime = data.stats.uptime;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
break;
|
||||||
|
|
||||||
case "info":
|
case "info":
|
||||||
var index = findIndex({id: data.id});
|
var index = findIndex({id: data.id});
|
||||||
|
|
||||||
@ -317,7 +337,7 @@ netStatsApp.controller('StatsCtrl', function($scope, $filter, socket, _, toastr)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if( action !== "latency" && action !== "client-ping" )
|
if( action !== "latency" && action !== "pending" && action !== "client-ping" )
|
||||||
{
|
{
|
||||||
updateStats();
|
updateStats();
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user