package example.energy; import java.util.Properties; import test.rewolucja.energy.EnergyEvent; import test.rewolucja.energy.plugin.EnergyEstimationPluginInterface; import test.rewolucja.resources.physical.base.ComputingResource; import test.rewolucja.resources.physical.implementation.CPU; import test.rewolucja.resources.physical.implementation.ComputingNode; import test.rewolucja.scheduling.JobRegistryInterface; import test.rewolucja.scheduling.PluginConfiguration; public class ComputingNodeEnergyEstimationPlugin implements EnergyEstimationPluginInterface { @Override public double estimatePowerConsumption(EnergyEvent event, JobRegistryInterface jobRegistry, ComputingResource resource) { double power = 0; ComputingNode node = (ComputingNode) resource; for(CPU 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; } @Override public String getName() { // TODO Auto-generated method stub return null; } @Override public void init(Properties properties) { // TODO Auto-generated method stub } @Override public PluginConfiguration getConfiguration() { // TODO Auto-generated method stub return null; } @Override public double estimateEnergyDissipation(EnergyEvent event, JobRegistryInterface jobRegistry, ComputingResource resourceManager) { // TODO Auto-generated method stub return 0; } @Override public double estimateTemperature(EnergyEvent event, JobRegistryInterface jobRegistry, ComputingResource resourceManager) { // TODO Auto-generated method stub return 0; } }