package experiments.e2dc2013.recs.plugins.energy; import schedframe.resources.computing.Node; import schedframe.resources.computing.ComputingResource; import schedframe.resources.computing.DataCenter; import schedframe.resources.computing.profiles.energy.ResourceEvent; import schedframe.resources.computing.profiles.energy.power.PowerUsage; import schedframe.resources.devices.PhysicalResource; import schedframe.scheduling.manager.tasks.JobRegistry; import example.energy.BaseEnergyEstimationPlugin; public class DataCenterEnergyEstimationPlugin extends BaseEnergyEstimationPlugin{ @Override public double estimatePowerConsumption(ResourceEvent event, JobRegistry jobRegistry, PhysicalResource resource) { double power = 0; DataCenter dataCenter = (DataCenter)resource; for(Node cn:dataCenter.getNodes()){ PowerUsage powerUsage = cn.getPowerInterface().getRecentPowerUsage(); power += (powerUsage == null ? 0 : powerUsage.getValue()); } return power; } public double estimateTemperature(ResourceEvent event, JobRegistry jobRegistry, ComputingResource resource) { return 0; } }