package simulator.stats.implementation; import gridsim.gssim.resource.AbstractComputingResource; import java.util.HashMap; import java.util.Map; import simulator.stats.implementation.out.StatsSerializer; public class ResourceStats implements StatsInterface { // raw resource statistic protected String resourceName; protected int cpucnt; protected int cpuspeed; protected int memory; protected double queueLength; protected Map processorsLoad; protected Map processorsReservationLoad; private String[] headers = { "resourceName", "memory", "cpu", "cpu_speed", "queue_length", "cpu_load", "reservation_load" }; public ResourceStats(AbstractComputingResource gridResource) { this.resourceName = gridResource.getResourceCharacteristics() .getResourceName(); init(); for (int cpu = 0; cpu < gridResource.getResourceCharacteristics() .getNumPE(); cpu++) { String processorName = cpu + "@" + this.resourceName; processorsLoad.put(processorName, (double) 0); processorsReservationLoad.put(processorName, (double) 0); } } public void init() { this.cpucnt = 0; this.cpuspeed = 0; this.memory = 0; this.queueLength = 0; this.processorsLoad = new HashMap(); this.processorsReservationLoad = new HashMap(); } public double getQueueLength() { return queueLength; } public void setQueueLength(double queueLength) { this.queueLength = queueLength; } public Map getPELoad() { return processorsLoad; } public Map getProcessorsReservationLoad() { return processorsReservationLoad; } public String getResourceName() { return resourceName; } public int getCpucnt() { return cpucnt; } public int getCpuspeed() { return cpuspeed; } public int getMemory() { return memory; } public Object serialize(StatsSerializer serializer) { return serializer.visit(this); } public String[] getHeaders() { return headers; } }