angular: show totals
This commit is contained in:
parent
7a25220ca5
commit
36f88cf58e
|
|
@ -145,6 +145,9 @@ function dur_str(i)
|
|||
var s = '';
|
||||
var c = 0;
|
||||
|
||||
if (isUndefined(i))
|
||||
return '';
|
||||
|
||||
if (i > 86400) {
|
||||
t = Math.floor(i/86400);
|
||||
i -= t*86400;
|
||||
|
|
@ -691,13 +694,6 @@ function calc_rate(key, value, no_s)
|
|||
return [ value, rate ];
|
||||
}
|
||||
|
||||
var totals_keys = [
|
||||
'clients', 'connects',
|
||||
'tcp_bytes_tx', 'tcp_bytes_rx', 'tcp_pkts_tx', 'tcp_pkts_rx',
|
||||
'udp_bytes_tx', 'udp_bytes_rx', 'udp_pkts_tx', 'udp_pkts_rx',
|
||||
'sctp_bytes_tx', 'sctp_bytes_rx', 'sctp_pkts_tx', 'sctp_pkts_rx'
|
||||
];
|
||||
|
||||
var alarms_visible = 0;
|
||||
|
||||
function render_alarms(alarms)
|
||||
|
|
@ -1116,9 +1112,37 @@ function init()
|
|||
});
|
||||
}
|
||||
|
||||
var setup = {
|
||||
'server_keys': [ 'server_id', 'admin' ]
|
||||
};
|
||||
/* ******** NEW angular.js ********* */
|
||||
|
||||
function ratestr(rate)
|
||||
{
|
||||
var prefix = '';
|
||||
if (rate < 0) {
|
||||
rate *= -1;
|
||||
prefix = '-';
|
||||
}
|
||||
|
||||
if (rate >= 10)
|
||||
rate = rate.toFixed(0);
|
||||
else if (rate >= 1)
|
||||
rate = rate.toFixed(1);
|
||||
else if (rate > 0)
|
||||
rate = rate.toFixed(2);
|
||||
else if (rate == 0)
|
||||
rate = '0';
|
||||
else
|
||||
rate = rate.toFixed(2);
|
||||
|
||||
return prefix + rate;
|
||||
}
|
||||
|
||||
|
||||
var keys_totals = [
|
||||
'clients', 'connects',
|
||||
'tcp_bytes_tx', 'tcp_bytes_rx', 'tcp_pkts_tx', 'tcp_pkts_rx',
|
||||
'udp_bytes_tx', 'udp_bytes_rx', 'udp_pkts_tx', 'udp_pkts_rx',
|
||||
'sctp_bytes_tx', 'sctp_bytes_rx', 'sctp_pkts_tx', 'sctp_pkts_rx'
|
||||
];
|
||||
|
||||
var app = angular.module('aprsc', []).
|
||||
config(function() {
|
||||
|
|
@ -1130,9 +1154,15 @@ var app = angular.module('aprsc', []).
|
|||
|
||||
app.filter('duration', function() { return dur_str; });
|
||||
app.filter('datetime', function() { return timestr; });
|
||||
app.filter('ratestr', function() { return ratestr; });
|
||||
|
||||
app.controller('aprscc', [ '$scope', '$http', function($scope, $http) {
|
||||
console.log('aprsc init');
|
||||
|
||||
$scope.setup = {
|
||||
'keys_totals': keys_totals,
|
||||
'key_translate': key_translate
|
||||
};
|
||||
|
||||
/* Ajax updates */
|
||||
|
||||
|
|
@ -1144,6 +1174,7 @@ app.controller('aprscc', [ '$scope', '$http', function($scope, $http) {
|
|||
$http.get('/status.json', config).success(function(d) {
|
||||
console.log('status.json received, status: ' + d['result']);
|
||||
|
||||
$scope.status_prev = $scope.status;
|
||||
$scope.status = d;
|
||||
|
||||
setTimeout(function() { full_load($scope, $http); }, 10000);
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@
|
|||
|
||||
<div class="row">
|
||||
<div class="col-md-3 col-sm-3">
|
||||
<div class="text-primary text-right" ng-cloak>{{ status.server.server_id }} aprsc status</span> <span ng-show="status">at {{ status.server.time_now | datetime }}</span></div>
|
||||
<div class="text-primary text-right" ng-cloak><h3>{{ status.server.server_id }} aprsc status <span ng-show="status">at {{ status.server.time_now | datetime }}</span></h3></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
@ -24,17 +24,31 @@
|
|||
<h3>Server</h3>
|
||||
<div class='table-responsive'>
|
||||
<table class='table table-hover table-condensed'>
|
||||
<tr><td>Server ID</td> <td>{{ status.server.server_id }}</td></tr>
|
||||
<tr><td>Server admin</td> <td>{{ status.server.admin }}</td></tr>
|
||||
<tr><td>Software</td> <td>{{ status.server.software }} {{ status.server.software_version }}</td></tr>
|
||||
<tr><td>Software features</td> <td>{{ status.server.software_build_features }}</td></tr>
|
||||
<tr><td>Uptime</td> <td>{{ status.server.uptime | duration }}</td></tr>
|
||||
<tr><td>Started</td> <td>{{ status.server.time_started | datetime }}</td></tr>
|
||||
<tr><td>OS</td> <td>{{ status.server.os }}</td></tr>
|
||||
<tr><td>Server ID</td> <td class="ar">{{ status.server.server_id }}</td></tr>
|
||||
<tr><td>Server admin</td> <td class="ar">{{ status.server.admin }}</td></tr>
|
||||
<tr><td>Software</td> <td class="ar">{{ status.server.software }} {{ status.server.software_version }}</td></tr>
|
||||
<tr><td>Software features</td> <td class="ar">{{ status.server.software_build_features }}</td></tr>
|
||||
<tr><td>Uptime</td> <td class="ar">{{ status.server.uptime | duration }}</td></tr>
|
||||
<tr><td>Started</td> <td class="ar">{{ status.server.time_started | datetime }}</td></tr>
|
||||
<tr><td>OS</td> <td class="ar">{{ status.server.os }}</td></tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class='row' ng-cloak>
|
||||
<h3>Totals</h3>
|
||||
<div class='table-responsive'>
|
||||
<table class='table table-hover table-condensed'>
|
||||
<tr ng-repeat="k in setup.keys_totals">
|
||||
<td>{{ setup.key_translate[k] }}</td>
|
||||
<td>{{ status.totals[k] }}</td>
|
||||
<td ng-show="status_prev">{{ (status.totals[k] - status_prev.totals[k]) / (status.server.tick_now - status_prev.server.tick_now) | ratestr}}/s</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div><!-- container -->
|
||||
|
||||
<script type='text/JavaScript' src='jquery.min.js'></script>
|
||||
|
|
|
|||
Loading…
Reference in New Issue