CLOUDSTACK-1192: Disk I/O Statistics (vm stats) support KVM and XenServer only util 2013/06/25
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/181567ba Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/181567ba Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/181567ba Branch: refs/heads/vmsync Commit: 181567ba746b5a0a5528a87f06a6dfc734fffd82 Parents: 8745316 Author: Wei Zhou <[email protected]> Authored: Thu Jun 27 14:25:54 2013 +0200 Committer: Wei Zhou <[email protected]> Committed: Thu Jun 27 14:25:54 2013 +0200 ---------------------------------------------------------------------- .../cloud/api/query/dao/UserVmJoinDaoImpl.java | 21 ++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cloudstack/blob/181567ba/server/src/com/cloud/api/query/dao/UserVmJoinDaoImpl.java ---------------------------------------------------------------------- diff --git a/server/src/com/cloud/api/query/dao/UserVmJoinDaoImpl.java b/server/src/com/cloud/api/query/dao/UserVmJoinDaoImpl.java index 0280834..241c073 100644 --- a/server/src/com/cloud/api/query/dao/UserVmJoinDaoImpl.java +++ b/server/src/com/cloud/api/query/dao/UserVmJoinDaoImpl.java @@ -38,6 +38,7 @@ import com.cloud.api.ApiDBUtils; import com.cloud.api.query.vo.ResourceTagJoinVO; import com.cloud.api.query.vo.UserVmJoinVO; import com.cloud.configuration.dao.ConfigurationDao; +import com.cloud.hypervisor.Hypervisor.HypervisorType; import com.cloud.user.Account; import com.cloud.uservm.UserVm; import com.cloud.utils.db.GenericDaoBase; @@ -180,17 +181,21 @@ public class UserVmJoinDaoImpl extends GenericDaoBase<UserVmJoinVO, Long> implem Double networkKbWrite = Double.valueOf(vmStats.getNetworkWriteKBs()); userVmResponse.setNetworkKbsWrite(networkKbWrite.longValue()); - Double diskKbsRead = Double.valueOf(vmStats.getDiskReadKBs()); - userVmResponse.setDiskKbsRead(diskKbsRead.longValue()); + if ((userVm.getHypervisorType() != null) + && (userVm.getHypervisorType().equals(HypervisorType.KVM) + || userVm.getHypervisorType().equals(HypervisorType.XenServer))) { // support KVM and XenServer only util 2013.06.25 + Double diskKbsRead = Double.valueOf(vmStats.getDiskReadKBs()); + userVmResponse.setDiskKbsRead(diskKbsRead.longValue()); - Double diskKbsWrite = Double.valueOf(vmStats.getDiskWriteKBs()); - userVmResponse.setDiskKbsWrite(diskKbsWrite.longValue()); + Double diskKbsWrite = Double.valueOf(vmStats.getDiskWriteKBs()); + userVmResponse.setDiskKbsWrite(diskKbsWrite.longValue()); - Double diskIORead = Double.valueOf(vmStats.getDiskReadIOs()); - userVmResponse.setDiskIORead(diskIORead.longValue()); + Double diskIORead = Double.valueOf(vmStats.getDiskReadIOs()); + userVmResponse.setDiskIORead(diskIORead.longValue()); - Double diskIOWrite = Double.valueOf(vmStats.getDiskWriteIOs()); - userVmResponse.setDiskIOWrite(diskIOWrite.longValue()); + Double diskIOWrite = Double.valueOf(vmStats.getDiskWriteIOs()); + userVmResponse.setDiskIOWrite(diskIOWrite.longValue()); + } } }
