/*!
* Pi Dashboard (http://www.nxez.com)
* Copyright 2017 NXEZ.com.
* Licensed under the GPL v3.0 license.
*/
$(document).ready(function() {
Highcharts.setOptions({
global: {
useUTC: false
},
credits: {
enabled: false
},
navigation: {
buttonOptions: {
enabled: false
}
}
});
var gaugeOptions = {
chart: {
type: 'solidgauge'
},
title: null,
pane: {
center: ['50%', '85%'],
size: '140%',
startAngle: -90,
endAngle: 90,
background: {
backgroundColor: (Highcharts.theme && Highcharts.theme.background2) || '#FFFFFF',
innerRadius: '60%',
outerRadius: '100%',
shape: 'arc'
}
},
tooltip: {
enabled: false
},
// the value axis
yAxis: {
stops: [
[0.1, '#55BF3B'],
[0.5, '#DDDF0D'],
[0.9, '#DF5353']
],
lineWidth: 0,
minorTickInterval: null,
tickAmount: 2,
title: {
y: -70
},
labels: {
y: 16
}
},
plotOptions: {
solidgauge: {
dataLabels: {
y: 5,
borderWidth: 0,
useHTML: true
}
}
}
};
var chartCPU = Highcharts.chart('container-cpu', Highcharts.merge(gaugeOptions, {
yAxis: {
min: 0,
max: 100,
title: {
text: ''
}
},
series: [{
name: 'CPU',
data: [0],
dataLabels: {
format: '
{y}' +
'%
'
},
tooltip: {
valueSuffix: ' %'
}
}]
}));
var chartRAM = Highcharts.chart('container-mem', Highcharts.merge(gaugeOptions, {
yAxis: {
min: 0,
max: init_vals.mem.total,
title: {
text: ''
}
},
series: [{
name: 'MEMORY',
data: [0],
dataLabels: {
format: '{y:.1f}
' +
'MB
'
},
tooltip: {
valueSuffix: ' MB'
}
}]
}));
var chartCache = Highcharts.chart('container-cache', Highcharts.merge(gaugeOptions, {
yAxis: {
min: 0,
max: init_vals.mem.total,
title: {
text: ''
}
},
series: [{
name: 'CACHE',
data: [0],
dataLabels: {
format: '{y:.1f}
' +
'MB
'
},
tooltip: {
valueSuffix: ' MB'
}
}]
}));
var chartRAM_real = Highcharts.chart('container-mem-real', Highcharts.merge(gaugeOptions, {
yAxis: {
min: 0,
max: init_vals.mem.total,
title: {
text: ''
}
},
series: [{
name: 'REAL MEMORY',
data: [0],
dataLabels: {
format: '{y:.1f}
' +
'MB
'
},
tooltip: {
valueSuffix: ' MB'
}
}]
}));
var chartSWAP = Highcharts.chart('container-swap', Highcharts.merge(gaugeOptions, {
yAxis: {
min: 0,
max: init_vals.mem.swap.total,
title: {
text: ''
}
},
series: [{
name: 'SWAP',
data: [0],
dataLabels: {
format: '{y:.1f}
' +
'MB
'
},
tooltip: {
valueSuffix: ' MB'
}
}]
}));
var chartDisk = Highcharts.chart('container-disk', Highcharts.merge(gaugeOptions, {
yAxis: {
min: 0,
max: init_vals.disk.total,
title: {
text: ''
}
},
series: [{
name: 'DISK',
data: [0],
dataLabels: {
format: '{y:.1f}
' +
'GB
'
},
tooltip: {
valueSuffix: ' GB'
}
}]
}));
var chartNetInterfaces = new Array();
var net_In = new Array();
var net_Out = new Array();
for(i=0;i 5) {
newVal = point.y - inc;
}
point.update(newVal);
*/
}
if(window.dashboard_old != null)
{
//console.log(window.dashboard_old.net.count);
if(window.dashboard_old.net.count > 0)
{
for(i=0;i=30){
chartNetInterfaces[i].series[0].addPoint(parseInt(window.dashboard.net.interfaces[i].total_in) - parseInt(window.dashboard_old.net.interfaces[i].total_in), true, true);
}
else{
chartNetInterfaces[i].series[0].addPoint(parseInt(window.dashboard.net.interfaces[i].total_in) - parseInt(window.dashboard_old.net.interfaces[i].total_in));
}
if(chartNetInterfaces[i].series[1].data.length >=30){
chartNetInterfaces[i].series[1].addPoint(parseInt(window.dashboard.net.interfaces[i].total_out) - parseInt(window.dashboard_old.net.interfaces[i].total_out), true, true);
}
else{
chartNetInterfaces[i].series[1].addPoint(parseInt(window.dashboard.net.interfaces[i].total_out) - parseInt(window.dashboard_old.net.interfaces[i].total_out));
}
}
}
idle_diff = parseInt(window.dashboard.cpu.stat.idle) - parseInt(window.dashboard_old.cpu.stat.idle);
used_total = parseInt(window.dashboard.cpu.stat.idle) +
parseInt(window.dashboard.cpu.stat.user) +
parseInt(window.dashboard.cpu.stat.sys) +
parseInt(window.dashboard.cpu.stat.nice) +
parseInt(window.dashboard.cpu.stat.iowait) +
parseInt(window.dashboard.cpu.stat.irq) +
parseInt(window.dashboard.cpu.stat.softirq) -
parseInt(window.dashboard_old.cpu.stat.idle) -
parseInt(window.dashboard_old.cpu.stat.user) -
parseInt(window.dashboard_old.cpu.stat.sys) -
parseInt(window.dashboard_old.cpu.stat.nice) -
parseInt(window.dashboard_old.cpu.stat.iowait) -
parseInt(window.dashboard_old.cpu.stat.irq) -
parseInt(window.dashboard_old.cpu.stat.softirq);
if (chartCPU) {
point = chartCPU.series[0].points[0];
point.update(Math.round((1.0 - (idle_diff / used_total)) * 100 * Math.pow(10,1))/Math.pow(10,1));
}
$("#cpu-stat-idl").text(Math.round(((parseInt(window.dashboard.cpu.stat.idle) - parseInt(window.dashboard_old.cpu.stat.idle)) / used_total) * 100 * Math.pow(10,1))/Math.pow(10,1));
$("#cpu-stat-use").text(Math.round(((parseInt(window.dashboard.cpu.stat.user) - parseInt(window.dashboard_old.cpu.stat.user)) / used_total) * 100 * Math.pow(10,1))/Math.pow(10,1));
$("#cpu-stat-sys").text(Math.round(((parseInt(window.dashboard.cpu.stat.sys) - parseInt(window.dashboard_old.cpu.stat.sys)) / used_total) * 100 * Math.pow(10,1))/Math.pow(10,1));
$("#cpu-stat-nic").text(Math.round(((parseInt(window.dashboard.cpu.stat.nice) - parseInt(window.dashboard_old.cpu.stat.nice)) / used_total) * 100 * Math.pow(10,1))/Math.pow(10,1));
$("#cpu-stat-iow").text(Math.round(((parseInt(window.dashboard.cpu.stat.iowait) - parseInt(window.dashboard_old.cpu.stat.iowait)) / used_total) * 100 * Math.pow(10,1))/Math.pow(10,1));
$("#cpu-stat-irq").text(Math.round(((parseInt(window.dashboard.cpu.stat.irq) - parseInt(window.dashboard_old.cpu.stat.irq)) / used_total) * 100 * Math.pow(10,1))/Math.pow(10,1));
$("#cpu-stat-sirq").text(Math.round(((parseInt(window.dashboard.cpu.stat.softirq) - parseInt(window.dashboard_old.cpu.stat.softirq)) / used_total) * 100 * Math.pow(10,1))/Math.pow(10,1));
//}
}
}
}, 1000);
});
function bytesRound(number, round)
{
if (number<0){
var last=0+"B";
}else if (number<1024){
//var last=Math.round(number*Math.pow(10,round))/Math.pow(10,round)+"B";
var last=number+"B";
}else if (number<1048576){
number=number/1024;
var last=Math.round(number*Math.pow(10,round))/Math.pow(10,round)+"K";
}else if (number<1048576000){
number=number/1048576;
var last=Math.round(number*Math.pow(10,round))/Math.pow(10,round)+"M";
}else{
number=number/1048576000;
var last=Math.round(number*Math.pow(10,round))/Math.pow(10,round)+"G";
}
return last;
}
Date.prototype.format = function(format) {
var date = {
"M+": this.getMonth() + 1,
"d+": this.getDate(),
"h+": this.getHours(),
"m+": this.getMinutes(),
"s+": this.getSeconds(),
"q+": Math.floor((this.getMonth() + 3) / 3),
"S+": this.getMilliseconds()
};
if (/(y+)/i.test(format)) {
format = format.replace(RegExp.$1, (this.getFullYear() + '').substr(4 - RegExp.$1.length));
}
for (var k in date) {
if (new RegExp("(" + k + ")").test(format)) {
format = format.replace(RegExp.$1, RegExp.$1.length == 1
? date[k] : ("00" + date[k]).substr(("" + date[k]).length));
}
}
return format;
}
function uptimeFormat(str){
var uptime = "";
var min = parseInt(str) / 60;
var hours = min / 60;
var days = Math.floor(hours / 24);
var hours = Math.floor(hours - (days * 24));
min = Math.floor(min - (days * 60 * 24) - (hours * 60));
if (days !== 0){
if(days == 1){
uptime = days+" day ";
}
else{
uptime = days+" days ";
}
}
if (hours !== 0){
uptime = uptime+hours+":";
}
return uptime=uptime+min;
}