mirror of https://github.com/apache/cloudstack.git
metrics: complete instances metrics view
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
This commit is contained in:
parent
c9d1c4d037
commit
7b912ca4e7
|
|
@ -836,23 +836,23 @@ label.metrics.allocated=Allocated
|
|||
label.metrics.clusters=Clusters
|
||||
label.metrics.cpu.allocated=CPU Allocated
|
||||
label.metrics.cpu.max.dev=CPU Max Dev
|
||||
label.metrics.cpu.total.ghz=Total CPU GHz
|
||||
label.metrics.cpu.total=Total CPU
|
||||
label.metrics.cpu.usage=CPU Usage
|
||||
label.metrics.cpu.used.avg=Avg CPU
|
||||
label.metrics.disk.iops.total=IOPS Total
|
||||
label.metrics.disk.read.bytes=Disk Read Bytes
|
||||
label.metrics.disk.read=Disk Read
|
||||
label.metrics.disk.usage=Disk Usage
|
||||
label.metrics.disk.write.bytes=Disk Write Bytes
|
||||
label.metrics.disk.write=Disk Write
|
||||
label.metrics.hosts=Hosts
|
||||
label.metrics.memory.allocated=Mem Allocated
|
||||
label.metrics.memory.max.dev=Mem Max Dev
|
||||
label.metrics.memory.total.gb=Total Mem GB
|
||||
label.metrics.memory.total=Total Mem
|
||||
label.metrics.memory.usage=Memory Usage
|
||||
label.metrics.memory.used.avg=Avg Mem
|
||||
label.metrics.name=Name
|
||||
label.metrics.network.usage=Network Usage
|
||||
label.metrics.network.read=Net Read GB
|
||||
label.metrics.network.write=Net Write GB
|
||||
label.metrics.network.read=Network Read
|
||||
label.metrics.network.write=Network Write
|
||||
label.metrics.num.cpu.cores=Cores
|
||||
label.metrics.state=State
|
||||
label.migrate.instance.to.host=Migrate instance to another host
|
||||
|
|
|
|||
|
|
@ -837,17 +837,17 @@ dictionary = {
|
|||
'label.metrics.clusters': '<fmt:message key="label.metrics.clusters" />',
|
||||
'label.metrics.cpu.allocated': '<fmt:message key="label.metrics.cpu.allocated" />',
|
||||
'label.metrics.cpu.max.dev': '<fmt:message key="label.metrics.cpu.max.dev" />',
|
||||
'label.metrics.cpu.total.ghz': '<fmt:message key="label.metrics.cpu.total.ghz" />',
|
||||
'label.metrics.cpu.total': '<fmt:message key="label.metrics.cpu.total" />',
|
||||
'label.metrics.cpu.usage': '<fmt:message key="label.metrics.cpu.usage" />',
|
||||
'label.metrics.cpu.used.avg': '<fmt:message key="label.metrics.cpu.used.avg" />',
|
||||
'label.metrics.disk.iops.total': '<fmt:message key="label.metrics.disk.iops.total" />',
|
||||
'label.metrics.disk.read.bytes': '<fmt:message key="label.metrics.disk.read.bytes" />',
|
||||
'label.metrics.disk.read': '<fmt:message key="label.metrics.disk.read" />',
|
||||
'label.metrics.disk.usage': '<fmt:message key="label.metrics.disk.usage" />',
|
||||
'label.metrics.disk.write.bytes': '<fmt:message key="label.metrics.disk.write.bytes" />',
|
||||
'label.metrics.disk.write': '<fmt:message key="label.metrics.disk.write" />',
|
||||
'label.metrics.hosts': '<fmt:message key="label.metrics.hosts" />',
|
||||
'label.metrics.memory.allocated': '<fmt:message key="label.metrics.memory.allocated" />',
|
||||
'label.metrics.memory.max.dev': '<fmt:message key="label.metrics.memory.max.dev" />',
|
||||
'label.metrics.memory.total.gb': '<fmt:message key="label.metrics.memory.total.gb" />',
|
||||
'label.metrics.memory.total': '<fmt:message key="label.metrics.memory.total" />',
|
||||
'label.metrics.memory.usage': '<fmt:message key="label.metrics.memory.usage" />',
|
||||
'label.metrics.memory.used.avg': '<fmt:message key="label.metrics.memory.used.avg" />',
|
||||
'label.metrics.name': '<fmt:message key="label.metrics.name" />',
|
||||
|
|
|
|||
|
|
@ -84,7 +84,7 @@
|
|||
}
|
||||
},
|
||||
cputotal: {
|
||||
label: 'label.metrics.cpu.total.ghz'
|
||||
label: 'label.metrics.cpu.total'
|
||||
}
|
||||
}
|
||||
},
|
||||
|
|
@ -118,7 +118,7 @@
|
|||
}
|
||||
},
|
||||
memtotal: {
|
||||
label: 'label.metrics.memory.total.gb'
|
||||
label: 'label.metrics.memory.total'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -317,7 +317,7 @@
|
|||
}
|
||||
},
|
||||
cputotal: {
|
||||
label: 'label.metrics.cpu.total.ghz'
|
||||
label: 'label.metrics.cpu.total'
|
||||
}
|
||||
}
|
||||
},
|
||||
|
|
@ -351,7 +351,7 @@
|
|||
}
|
||||
},
|
||||
memtotal: {
|
||||
label: 'label.metrics.memory.total.gb'
|
||||
label: 'label.metrics.memory.total'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -531,12 +531,8 @@
|
|||
return str;
|
||||
},
|
||||
indicator: {
|
||||
'Enabled': 'on',
|
||||
'Up': 'on',
|
||||
'Down': 'off',
|
||||
'Unmanaged': 'off',
|
||||
'Destroyed': 'off',
|
||||
'Disabled': 'off'
|
||||
},
|
||||
compact: true
|
||||
},
|
||||
|
|
@ -548,7 +544,7 @@
|
|||
label: 'label.metrics.num.cpu.cores',
|
||||
},
|
||||
cputotal: {
|
||||
label: 'label.metrics.cpu.total.ghz'
|
||||
label: 'label.metrics.cpu.total'
|
||||
},
|
||||
cpuusedavg: {
|
||||
label: 'label.metrics.cpu.used.avg',
|
||||
|
|
@ -573,7 +569,7 @@
|
|||
collapsible: true,
|
||||
columns: {
|
||||
memtotal: {
|
||||
label: 'label.metrics.memory.total.gb'
|
||||
label: 'label.metrics.memory.total'
|
||||
},
|
||||
memallocated: {
|
||||
label: 'label.metrics.allocated',
|
||||
|
|
@ -644,10 +640,10 @@
|
|||
$.each(json.listconfigurationsresponse.configuration, function(i, config) {
|
||||
switch (config.name) {
|
||||
case 'cluster.cpu.allocated.capacity.disablethreshold':
|
||||
items[idx].cpudisablethreshold = parseFloat(config.value) * items[idx].cputotal;
|
||||
items[idx].cpudisablethreshold = parseFloat(config.value) * parseFloat(items[idx].cputotal);
|
||||
break;
|
||||
case 'cluster.cpu.allocated.capacity.notificationthreshold':
|
||||
items[idx].cpunotificationthreshold = parseFloat(config.value) * items[idx].cputotal;
|
||||
items[idx].cpunotificationthreshold = parseFloat(config.value) * parseFloat(items[idx].cputotal);
|
||||
break;
|
||||
case 'cluster.memory.allocated.capacity.disablethreshold':
|
||||
items[idx].memdisablethreshold = parseFloat(config.value) * parseFloat(items[idx].memtotal);
|
||||
|
|
@ -677,7 +673,7 @@
|
|||
async: false
|
||||
});
|
||||
|
||||
items[idx].cputotal = items[idx].cputotal + ' (x' + cpuOverCommit + ')';
|
||||
items[idx].cputotal = items[idx].cputotal + 'Ghz (x' + cpuOverCommit + ')';
|
||||
items[idx].memtotal = items[idx].memtotal + ' (x' + memOverCommit + ')';
|
||||
});
|
||||
}
|
||||
|
|
@ -712,10 +708,8 @@
|
|||
return str;
|
||||
},
|
||||
indicator: {
|
||||
'Enabled': 'on',
|
||||
'Unmanaged': 'off',
|
||||
'Destroyed': 'off',
|
||||
'Disabled': 'off'
|
||||
'Running': 'on',
|
||||
'Stopped': 'off'
|
||||
},
|
||||
compact: true
|
||||
},
|
||||
|
|
@ -727,7 +721,7 @@
|
|||
label: 'label.metrics.num.cpu.cores',
|
||||
},
|
||||
cputotal: {
|
||||
label: 'label.metrics.cpu.total.ghz'
|
||||
label: 'label.metrics.cpu.total'
|
||||
},
|
||||
cpuused: {
|
||||
label: 'label.metrics.cpu.used.avg',
|
||||
|
|
@ -763,12 +757,12 @@
|
|||
collapsible: true,
|
||||
columns: {
|
||||
diskread: {
|
||||
label: 'label.metrics.disk.read.bytes'
|
||||
label: 'label.metrics.disk.read'
|
||||
},
|
||||
diskwrite: {
|
||||
label: 'label.metrics.disk.write.bytes'
|
||||
label: 'label.metrics.disk.write'
|
||||
},
|
||||
diskiops: {
|
||||
diskiopstotal: {
|
||||
label: 'label.metrics.disk.iops.total'
|
||||
}
|
||||
}
|
||||
|
|
@ -786,14 +780,65 @@
|
|||
success: function(json) {
|
||||
var items = json.listvirtualmachinesresponse.virtualmachine;
|
||||
if (items) {
|
||||
$.each(items, function(idx, host) {
|
||||
items[idx].cores = 0;
|
||||
items[idx].cputotal = 0;
|
||||
items[idx].cpuused = 0.0;
|
||||
items[idx].memallocated = 0.0;
|
||||
items[idx].memused = 0.0;
|
||||
items[idx].networkread = 0.0;
|
||||
items[idx].networkwrite = 0.0;
|
||||
$.each(items, function(idx, vm) {
|
||||
items[idx].cores = vm.cpunumber;
|
||||
items[idx].cputotal = (parseFloat(vm.cpunumber) * parseFloat(vm.cpuspeed)).toFixed(2) + 'Mhz';
|
||||
items[idx].cpuusedavg = vm.cpuused;
|
||||
items[idx].cpuallocated = vm.cpuallocated;
|
||||
items[idx].memallocated = (parseFloat(vm.memory)/1024.0).toFixed(2) + 'GB';
|
||||
items[idx].memused = (parseFloat(vm.memoryused)/(1024.0*1024.0*1024.0)).toFixed(2) + 'GB';
|
||||
items[idx].networkread = (parseFloat(vm.networkkbsread)/(1024.0*1024.0)).toFixed(2) + 'GB';
|
||||
items[idx].networkwrite = (parseFloat(vm.networkkbswrite)/(1024.0*1024.0)).toFixed(2) + 'GB';
|
||||
items[idx].diskread = (parseFloat(vm.diskkbsread)/(1024.0)).toFixed(2) + 'MB';
|
||||
items[idx].diskwrite = (parseFloat(vm.diskkbswrite)/(1024.0)).toFixed(2) + 'MB';
|
||||
items[idx].diskiopstotal = parseFloat(vm.diskioread) + parseFloat(vm.diskiowrite);
|
||||
|
||||
var keys = [{'memoryused': 'memused'},
|
||||
{'networkkbsread': 'networkread'},
|
||||
{'networkkbswrite': 'networkwrite'},
|
||||
{'diskkbsread': 'diskread'},
|
||||
{'diskkbswrite': 'diskwrite'},
|
||||
{'diskioread': 'diskiopstotal'}];
|
||||
for (keyIdx in keys) {
|
||||
var map = keys[keyIdx];
|
||||
var key = Object.keys(map)[0];
|
||||
var uiKey = map[key];
|
||||
if (!vm.hasOwnProperty(key)) {
|
||||
items[idx][uiKey] = 'N/A';
|
||||
}
|
||||
}
|
||||
|
||||
// Threshold color coding
|
||||
items[idx].cpunotificationthreshold = 75.0;
|
||||
items[idx].cpudisablethreshold = 95.0;
|
||||
items[idx].memnotificationthreshold = 75.0;
|
||||
items[idx].memdisablethreshold = 95.0;
|
||||
|
||||
$.ajax({
|
||||
url: createURL('listConfigurations'),
|
||||
data: {zoneid: vm.zoneid, listAll: true},
|
||||
success: function(json) {
|
||||
if (json.listconfigurationsresponse && json.listconfigurationsresponse.configuration) {
|
||||
$.each(json.listconfigurationsresponse.configuration, function(i, config) {
|
||||
switch (config.name) {
|
||||
case 'cluster.cpu.allocated.capacity.disablethreshold':
|
||||
items[idx].cpudisablethreshold = parseFloat(config.value) * items[idx].cputotal;
|
||||
break;
|
||||
case 'cluster.cpu.allocated.capacity.notificationthreshold':
|
||||
items[idx].cpunotificationthreshold = parseFloat(config.value) * items[idx].cputotal;
|
||||
break;
|
||||
case 'cluster.memory.allocated.capacity.disablethreshold':
|
||||
items[idx].memdisablethreshold = parseFloat(config.value) * parseFloat(items[idx].memtotal);
|
||||
break;
|
||||
case 'cluster.memory.allocated.capacity.notificationthreshold':
|
||||
items[idx].memnotificationthreshold = parseFloat(config.value) * parseFloat(items[idx].memtotal);
|
||||
break;
|
||||
}
|
||||
});
|
||||
}
|
||||
},
|
||||
async: false
|
||||
});
|
||||
});
|
||||
}
|
||||
args.response.success({
|
||||
|
|
|
|||
Loading…
Reference in New Issue