/*********************************************************************************************************************** * Copyright (C) 2010-2013 by the Stratosphere project (http://stratosphere.eu) * * 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 eu.stratosphere.nephele.profiling.impl.types; import java.io.DataInput; import java.io.DataOutput; import java.io.IOException; import eu.stratosphere.nephele.instance.InstanceConnectionInfo; public class InternalInstanceProfilingData implements InternalProfilingData { private InstanceConnectionInfo instanceConnectionInfo; private int profilingInterval; private int ioWaitCPU; private int idleCPU; private int userCPU; private int systemCPU; private int hardIrqCPU; private int softIrqCPU; private long totalMemory; private long freeMemory; private long bufferedMemory; private long cachedMemory; private long cachedSwapMemory; private long receivedBytes; private long transmittedBytes; public InternalInstanceProfilingData() { this.freeMemory = -1; this.ioWaitCPU = -1; this.idleCPU = -1; this.instanceConnectionInfo = new InstanceConnectionInfo(); this.profilingInterval = -1; this.systemCPU = -1; this.totalMemory = -1; this.bufferedMemory = -1; this.cachedMemory = -1; this.cachedSwapMemory = -1; this.userCPU = -1; this.receivedBytes = -1; this.transmittedBytes = -1; } public InternalInstanceProfilingData(InstanceConnectionInfo instanceConnectionInfo, int profilingInterval) { this.instanceConnectionInfo = instanceConnectionInfo; this.profilingInterval = profilingInterval; this.freeMemory = -1; this.ioWaitCPU = -1; this.idleCPU = -1; this.systemCPU = -1; this.totalMemory = -1; this.bufferedMemory = -1; this.cachedMemory = -1; this.cachedSwapMemory = -1; this.userCPU = -1; this.receivedBytes = -1; this.transmittedBytes = -1; } public long getFreeMemory() { return this.freeMemory; } public int getIOWaitCPU() { return this.ioWaitCPU; } public int getIdleCPU() { return this.idleCPU; } public int getHardIrqCPU() { return this.hardIrqCPU; } public int getSoftIrqCPU() { return this.softIrqCPU; } public InstanceConnectionInfo getInstanceConnectionInfo() { return this.instanceConnectionInfo; } public int getProfilingInterval() { return this.profilingInterval; } public int getSystemCPU() { return this.systemCPU; } public long getTotalMemory() { return this.totalMemory; } public long getBufferedMemory() { return this.bufferedMemory; } public long getCachedMemory() { return this.cachedMemory; } public long getCachedSwapMemory() { return this.cachedSwapMemory; } public int getUserCPU() { return this.userCPU; } public long getReceivedBytes() { return this.receivedBytes; } public long getTransmittedBytes() { return this.transmittedBytes; } @Override public void read(DataInput in) throws IOException { this.freeMemory = in.readLong(); this.ioWaitCPU = in.readInt(); this.idleCPU = in.readInt(); this.instanceConnectionInfo.read(in); this.profilingInterval = in.readInt(); this.systemCPU = in.readInt(); this.totalMemory = in.readLong(); this.bufferedMemory = in.readLong(); this.cachedMemory = in.readLong(); this.cachedSwapMemory = in.readLong(); this.userCPU = in.readInt(); this.receivedBytes = in.readLong(); this.transmittedBytes = in.readLong(); this.hardIrqCPU = in.readInt(); this.softIrqCPU = in.readInt(); } @Override public void write(DataOutput out) throws IOException { out.writeLong(this.freeMemory); out.writeInt(this.ioWaitCPU); out.writeInt(this.idleCPU); this.instanceConnectionInfo.write(out); out.writeInt(this.profilingInterval); out.writeInt(this.systemCPU); out.writeLong(this.totalMemory); out.writeLong(this.bufferedMemory); out.writeLong(this.cachedMemory); out.writeLong(this.cachedSwapMemory); out.writeInt(this.userCPU); out.writeLong(this.receivedBytes); out.writeLong(this.transmittedBytes); out.writeInt(this.hardIrqCPU); out.writeInt(this.softIrqCPU); } public void setFreeMemory(long freeMemory) { this.freeMemory = freeMemory; } public void setIoWaitCPU(int ioWaitCPU) { this.ioWaitCPU = ioWaitCPU; } public void setIdleCPU(int idleCPU) { this.idleCPU = idleCPU; } public void setSystemCPU(int systemCPU) { this.systemCPU = systemCPU; } public void setHardIrqCPU(int hardIrqCPU) { this.hardIrqCPU = hardIrqCPU; } public void setSoftIrqCPU(int softIrqCPU) { this.softIrqCPU = softIrqCPU; } public void setTotalMemory(long totalMemory) { this.totalMemory = totalMemory; } public void setBufferedMemory(long bufferedMemory) { this.bufferedMemory = bufferedMemory; } public void setCachedMemory(long cachedMemory) { this.cachedMemory = cachedMemory; } public void setCachedSwapMemory(long cachedSwapMemory) { this.cachedSwapMemory = cachedSwapMemory; } public void setUserCPU(int userCPU) { this.userCPU = userCPU; } public void setReceivedBytes(long receivedBytes) { this.receivedBytes = receivedBytes; } public void setTransmittedBytes(long transmittedBytes) { this.transmittedBytes = transmittedBytes; } }