CLOUDSTACK-1192: Disk I/O Statistics support KVM only util 20130625
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/3bb4ec9f Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/3bb4ec9f Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/3bb4ec9f Branch: refs/heads/vmsync Commit: 3bb4ec9f657be41fb22705e0cd80a4245a62e26e Parents: 82958f0 Author: Wei Zhou <w.z...@leaseweb.com> Authored: Wed Jun 26 11:10:11 2013 +0200 Committer: Wei Zhou <w.z...@leaseweb.com> Committed: Wed Jun 26 11:10:11 2013 +0200 ---------------------------------------------------------------------- api/src/com/cloud/vm/VmDiskStats.java | 8 +++--- .../com/cloud/agent/api/VmDiskStatsEntry.java | 26 ++++++++++---------- server/src/com/cloud/server/StatsCollector.java | 2 ++ server/src/com/cloud/vm/UserVmManagerImpl.java | 5 ++-- 4 files changed, 21 insertions(+), 20 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cloudstack/blob/3bb4ec9f/api/src/com/cloud/vm/VmDiskStats.java ---------------------------------------------------------------------- diff --git a/api/src/com/cloud/vm/VmDiskStats.java b/api/src/com/cloud/vm/VmDiskStats.java index 0cf82d0..0551011 100644 --- a/api/src/com/cloud/vm/VmDiskStats.java +++ b/api/src/com/cloud/vm/VmDiskStats.java @@ -19,12 +19,12 @@ package com.cloud.vm; public interface VmDiskStats { // vm related disk stats - public Long getIORead(); + public long getIORead(); - public Long getIOWrite(); + public long getIOWrite(); - public Long getBytesRead(); + public long getBytesRead(); - public Long getBytesWrite(); + public long getBytesWrite(); } http://git-wip-us.apache.org/repos/asf/cloudstack/blob/3bb4ec9f/core/src/com/cloud/agent/api/VmDiskStatsEntry.java ---------------------------------------------------------------------- diff --git a/core/src/com/cloud/agent/api/VmDiskStatsEntry.java b/core/src/com/cloud/agent/api/VmDiskStatsEntry.java index 9bec031..8daa69b 100644 --- a/core/src/com/cloud/agent/api/VmDiskStatsEntry.java +++ b/core/src/com/cloud/agent/api/VmDiskStatsEntry.java @@ -22,15 +22,15 @@ public class VmDiskStatsEntry implements VmDiskStats { String vmName; String path; - Long ioRead = 0L; - Long ioWrite = 0L; - Long bytesWrite = 0L; - Long bytesRead = 0L; + long ioRead = 0; + long ioWrite = 0; + long bytesWrite = 0; + long bytesRead = 0; public VmDiskStatsEntry() { } - public VmDiskStatsEntry(String vmName, String path, Long ioWrite, Long ioRead, Long bytesWrite, Long bytesRead) { + public VmDiskStatsEntry(String vmName, String path, long ioWrite, long ioRead, long bytesWrite, long bytesRead) { this.ioRead = ioRead; this.ioWrite = ioWrite; this.bytesRead = bytesRead; @@ -55,35 +55,35 @@ public class VmDiskStatsEntry implements VmDiskStats { return path; } - public void setBytesRead(Long bytesRead) { + public void setBytesRead(long bytesRead) { this.bytesRead = bytesRead; } - public Long getBytesRead() { + public long getBytesRead() { return bytesRead; } - public void setBytesWrite(Long bytesWrite) { + public void setBytesWrite(long bytesWrite) { this.bytesWrite = bytesWrite; } - public Long getBytesWrite() { + public long getBytesWrite() { return bytesWrite; } - public void setIORead(Long ioRead) { + public void setIORead(long ioRead) { this.ioRead = ioRead; } - public Long getIORead() { + public long getIORead() { return ioRead; } - public void setIOWrite(Long ioWrite) { + public void setIOWrite(long ioWrite) { this.ioWrite = ioWrite; } - public Long getIOWrite() { + public long getIOWrite() { return ioWrite; } http://git-wip-us.apache.org/repos/asf/cloudstack/blob/3bb4ec9f/server/src/com/cloud/server/StatsCollector.java ---------------------------------------------------------------------- diff --git a/server/src/com/cloud/server/StatsCollector.java b/server/src/com/cloud/server/StatsCollector.java index 68c8600..1a6e424 100755 --- a/server/src/com/cloud/server/StatsCollector.java +++ b/server/src/com/cloud/server/StatsCollector.java @@ -65,6 +65,7 @@ import com.cloud.host.HostStats; import com.cloud.host.HostVO; import com.cloud.host.Status; import com.cloud.host.dao.HostDao; +import com.cloud.hypervisor.Hypervisor.HypervisorType; import com.cloud.resource.ResourceState; import com.cloud.storage.StorageManager; import com.cloud.storage.StoragePoolHostVO; @@ -407,6 +408,7 @@ public class StatsCollector extends ManagerBase implements ComponentMethodInterc sc.addAnd("status", SearchCriteria.Op.EQ, Status.Up.toString()); sc.addAnd("resourceState", SearchCriteria.Op.NIN, ResourceState.Maintenance, ResourceState.PrepareForMaintenance, ResourceState.ErrorInMaintenance); sc.addAnd("type", SearchCriteria.Op.EQ, Host.Type.Routing.toString()); + sc.addAnd("hypervisorType", SearchCriteria.Op.EQ, HypervisorType.KVM); // support KVM only util 2013.06.25 List<HostVO> hosts = _hostDao.search(sc, null); for (HostVO host : hosts) { http://git-wip-us.apache.org/repos/asf/cloudstack/blob/3bb4ec9f/server/src/com/cloud/vm/UserVmManagerImpl.java ---------------------------------------------------------------------- diff --git a/server/src/com/cloud/vm/UserVmManagerImpl.java b/server/src/com/cloud/vm/UserVmManagerImpl.java index 66103fb..3cef182 100755 --- a/server/src/com/cloud/vm/UserVmManagerImpl.java +++ b/server/src/com/cloud/vm/UserVmManagerImpl.java @@ -3388,9 +3388,8 @@ public class UserVmManagerImpl extends ManagerBase implements UserVmManager, Use @Override public void collectVmDiskStatistics (UserVmVO userVm) { - // support KVM and XenServer only - if (!userVm.getHypervisorType().equals(HypervisorType.XenServer) - && !userVm.getHypervisorType().equals(HypervisorType.KVM)) + // support KVM only util 2013.06.25 + if (!userVm.getHypervisorType().equals(HypervisorType.KVM)) return; // Collect vm disk statistics from host before stopping Vm long hostId = userVm.getHostId();