mirror of https://github.com/apache/cloudstack.git
Merge pull request #1918 from jayakarteek/cloudstack-9762
Management Server UI (VM statistics page) CPU Utilized value is incorrect.
This commit is contained in:
commit
4ad29b474a
|
|
@ -5093,21 +5093,23 @@ public class VmwareResource implements StoragePoolResource, ServerResource, Vmwa
|
|||
final String guestMemUseStr = "summary.quickStats.guestMemoryUsage";
|
||||
final String memLimitStr = "resourceConfig.memoryAllocation.limit";
|
||||
final String memMbStr = "config.hardware.memoryMB";
|
||||
final String allocatedCpuStr = "summary.runtime.maxCpuUsage";
|
||||
|
||||
ObjectContent[] ocs =
|
||||
hyperHost.getVmPropertiesOnHyperHost(new String[] {"name", numCpuStr, cpuUseStr ,guestMemUseStr ,memLimitStr ,memMbStr, instanceNameCustomField});
|
||||
hyperHost.getVmPropertiesOnHyperHost(new String[] {"name", numCpuStr, cpuUseStr ,guestMemUseStr ,memLimitStr ,memMbStr,allocatedCpuStr ,instanceNameCustomField});
|
||||
if (ocs != null && ocs.length > 0) {
|
||||
for (ObjectContent oc : ocs) {
|
||||
List<DynamicProperty> objProps = oc.getPropSet();
|
||||
if (objProps != null) {
|
||||
String name = null;
|
||||
String numberCPUs = null;
|
||||
String maxCpuUsage = null;
|
||||
double maxCpuUsage = 0;
|
||||
String memlimit = null;
|
||||
String memkb = null;
|
||||
String guestMemusage = null;
|
||||
String vmNameOnVcenter = null;
|
||||
String vmInternalCSName = null;
|
||||
double allocatedCpu = 0;
|
||||
for (DynamicProperty objProp : objProps) {
|
||||
if (objProp.getName().equals("name")) {
|
||||
vmNameOnVcenter = objProp.getVal().toString();
|
||||
|
|
@ -5119,13 +5121,17 @@ public class VmwareResource implements StoragePoolResource, ServerResource, Vmwa
|
|||
}else if (objProp.getName().equals(numCpuStr)) {
|
||||
numberCPUs = objProp.getVal().toString();
|
||||
} else if (objProp.getName().equals(cpuUseStr)) {
|
||||
maxCpuUsage = objProp.getVal().toString();
|
||||
maxCpuUsage = NumberUtils.toDouble(objProp.getVal().toString());
|
||||
} else if (objProp.getName().equals(memLimitStr)) {
|
||||
memlimit = objProp.getVal().toString();
|
||||
} else if (objProp.getName().equals(memMbStr)) {
|
||||
memkb = objProp.getVal().toString();
|
||||
} else if (objProp.getName().equals(allocatedCpuStr)){
|
||||
allocatedCpu = NumberUtils.toDouble(objProp.getVal().toString());
|
||||
}
|
||||
}
|
||||
|
||||
maxCpuUsage = (maxCpuUsage/allocatedCpu)*100;
|
||||
new VirtualMachineMO(hyperHost.getContext(), oc.getObj());
|
||||
if (vmInternalCSName != null) {
|
||||
name = vmInternalCSName;
|
||||
|
|
@ -5192,7 +5198,7 @@ public class VmwareResource implements StoragePoolResource, ServerResource, Vmwa
|
|||
}
|
||||
}
|
||||
}
|
||||
vmResponseMap.put(name, new VmStatsEntry( NumberUtils.toDouble(memkb)*1024,NumberUtils.toDouble(guestMemusage)*1024,NumberUtils.toDouble(memlimit)*1024, NumberUtils.toDouble(maxCpuUsage), networkReadKBs, networkWriteKBs, NumberUtils.toInt(numberCPUs), "vm"));
|
||||
vmResponseMap.put(name, new VmStatsEntry( NumberUtils.toDouble(memkb)*1024,NumberUtils.toDouble(guestMemusage)*1024,NumberUtils.toDouble(memlimit)*1024, maxCpuUsage, networkReadKBs, networkWriteKBs, NumberUtils.toInt(numberCPUs), "vm"));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue