package example.energy; import java.util.Properties; import test.rewolucja.energy.EnergyEvent; import test.rewolucja.resources.physical.base.ComputingResource; import test.rewolucja.resources.physical.implementation.Processor; import test.rewolucja.resources.physical.implementation.ComputingNode; import test.rewolucja.scheduling.JobRegistryInterface; public class ComputingNodeEnergyEstimationPlugin extends BaseEnergyEstimationPlugin { @Override public double estimatePowerConsumption(EnergyEvent event, JobRegistryInterface jobRegistry, ComputingResource resource) { double power = 0; ComputingNode node = (ComputingNode) resource; for(Processor cpu: node.getProcessors()){ //try{ power = power + cpu.getPowerInterface().getRecentPowerUsage().getValue(); //} catch(Exception e){ // power = power + cpu.getPowerInterface().getPowerConsumption(cpu.getPowerInterface().getPowerState()); //} } power += node.getPowerInterface().getPowerConsumption(node.getPowerInterface().getPowerState()); return power; } public String getName() { return getClass().getName(); } public void init(Properties properties) { // TODO Auto-generated method stub } }