/** * Copyright (C) 2009-2015 Dell, Inc. * See annotations for authorship information * * ==================================================================== * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * ==================================================================== */ package org.dasein.cloud.compute; import java.io.Serializable; import java.util.Date; /** * <p> * A very ugly class that contains general analytic data that can be retrieved by a * hypervisor from its guest hosts. Implementations of this class should provide empty * values (like 0.0) for anything not supported by the underlying hypervisor or * if the operation is not supported for the account in question. * </p> * @author George Reese @ enstratius (http://www.enstratius.com) */ public class VmStatistics implements Serializable { private static final long serialVersionUID = -5504410320504261431L; private double averageCpuUtilization; private double maximumCpuUtilization; private double minimumCpuUtilization; private double averageDiskReadBytes; private double maximumDiskReadBytes; private double minimumDiskReadBytes; private double averageDiskReadOperations; private double maximumDiskReadOperations; private double minimumDiskReadOperations; private double averageDiskWriteBytes; private double maximumDiskWriteBytes; private double minimumDiskWriteBytes; private double averageDiskWriteOperations; private double maximumDiskWriteOperations; private double minimumDiskWriteOperations; private double averageNetworkIn; private double maximumNetworkIn; private double minimumNetworkIn; private double averageNetworkOut; private double maximumNetworkOut; private double minimumNetworkOut; private long endTimestamp; private long startTimestamp; private int samples; public VmStatistics() { } public double getAverageCpuUtilization() { return averageCpuUtilization; } public double getAverageDiskReadBytes() { return averageDiskReadBytes; } public double getAverageDiskReadOperations() { return averageDiskReadOperations; } public double getAverageDiskWriteBytes() { return averageDiskWriteBytes; } public double getAverageDiskWriteOperations() { return averageDiskWriteOperations; } public double getAverageNetworkIn() { return averageNetworkIn; } public double getAverageNetworkOut() { return averageNetworkOut; } public long getEndTimestamp() { return endTimestamp; } public double getMaximumCpuUtilization() { return maximumCpuUtilization; } public double getMaximumDiskReadBytes() { return maximumDiskReadBytes; } public double getMaximumDiskReadOperations() { return maximumDiskReadOperations; } public double getMaximumDiskWriteBytes() { return maximumDiskWriteBytes; } public double getMaximumDiskWriteOperations() { return maximumDiskWriteOperations; } public double getMaximumNetworkIn() { return maximumNetworkIn; } public double getMaximumNetworkOut() { return maximumNetworkOut; } public double getMinimumCpuUtilization() { return minimumCpuUtilization; } public double getMinimumDiskReadBytes() { return minimumDiskReadBytes; } public double getMinimumDiskReadOperations() { return minimumDiskReadOperations; } public double getMinimumDiskWriteBytes() { return minimumDiskWriteBytes; } public double getMinimumDiskWriteOperations() { return minimumDiskWriteOperations; } public double getMinimumNetworkIn() { return minimumNetworkIn; } public double getMinimumNetworkOut() { return minimumNetworkOut; } public long getStartTimestamp() { return startTimestamp; } public void setAverageCpuUtilization(double averageCpuUtilization) { this.averageCpuUtilization = averageCpuUtilization; } public void setAverageDiskReadBytes(double averageDiskReadBytes) { this.averageDiskReadBytes = averageDiskReadBytes; } public void setAverageDiskReadOperations(double averageDiskReadOperations) { this.averageDiskReadOperations = averageDiskReadOperations; } public void setAverageDiskWriteBytes(double averageDiskWriteBytes) { this.averageDiskWriteBytes = averageDiskWriteBytes; } public void setAverageDiskWriteOperations(double averageDiskWriteOperations) { this.averageDiskWriteOperations = averageDiskWriteOperations; } public void setAverageNetworkIn(double averageNetworkIn) { this.averageNetworkIn = averageNetworkIn; } public void setAverageNetworkOut(double averageNetworkOut) { this.averageNetworkOut = averageNetworkOut; } public void setEndTimestamp(long endTimestamp) { this.endTimestamp = endTimestamp; } public void setMaximumCpuUtilization(double maximumCpuUtilization) { this.maximumCpuUtilization = maximumCpuUtilization; } public void setMaximumDiskReadBytes(double maximumDiskReadBytes) { this.maximumDiskReadBytes = maximumDiskReadBytes; } public void setMaximumDiskReadOperations(double maximumDiskReadOperations) { this.maximumDiskReadOperations = maximumDiskReadOperations; } public void setMaximumDiskWriteBytes(double maximumDiskWriteBytes) { this.maximumDiskWriteBytes = maximumDiskWriteBytes; } public void setMaximumDiskWriteOperations(double maximumDiskWriteOperations) { this.maximumDiskWriteOperations = maximumDiskWriteOperations; } public void setMaximumNetworkIn(double maximumNetworkIn) { this.maximumNetworkIn = maximumNetworkIn; } public void setMaximumNetworkOut(double maximumNetworkOut) { this.maximumNetworkOut = maximumNetworkOut; } public void setMinimumCpuUtilization(double minimumCpuUtilization) { this.minimumCpuUtilization = minimumCpuUtilization; } public void setMinimumDiskReadBytes(double minimumDiskReadBytes) { this.minimumDiskReadBytes = minimumDiskReadBytes; } public void setMinimumDiskReadOperations(double minimumDiskReadOperations) { this.minimumDiskReadOperations = minimumDiskReadOperations; } public void setMinimumDiskWriteBytes(double minimumDiskWriteBytes) { this.minimumDiskWriteBytes = minimumDiskWriteBytes; } public void setMinimumDiskWriteOperations(double minimumDiskWriteOperations) { this.minimumDiskWriteOperations = minimumDiskWriteOperations; } public void setMinimumNetworkIn(double minimumNetworkIn) { this.minimumNetworkIn = minimumNetworkIn; } public void setMinimumNetworkOut(double minimumNetworkOut) { this.minimumNetworkOut = minimumNetworkOut; } public void setStartTimestamp(long startTimestamp) { this.startTimestamp = startTimestamp; } public int getSamples() { return samples; } public void setSamples(int samples) { this.samples = samples; } public String toString() { return (new Date(startTimestamp)) + " - " + (new Date(endTimestamp)); } }