package example.energy; import java.util.Properties; import schedframe.resources.profile.PowerUsage; import test.rewolucja.energy.EnergyEvent; import test.rewolucja.resources.physical.base.ComputingResource; import test.rewolucja.resources.physical.implementation.ComputingNode; import test.rewolucja.scheduling.JobRegistryInterface; public class DataCenterEnergyEstimationPlugin extends BaseEnergyEstimationPlugin{ @Override public double estimatePowerConsumption(EnergyEvent event, JobRegistryInterface jobRegistry, ComputingResource resource) { double power = 0; for(ComputingResource child:resource.getChildren()){ ComputingNode node = (ComputingNode)child; PowerUsage powerUsage = node.getPowerInterface().getRecentPowerUsage(); power += (powerUsage == null ? 0 : powerUsage.getValue()); } //System.out.println( new DateTime() + "ENERGY CONSUMPT BY: " + resMan.getResourceName() +" IS: " + power); return power; } public String getName() { return getClass().getName(); } public void init(Properties properties) { // TODO Auto-generated method stub } }