package example.energy; import schedframe.resources.computing.ComputingNode; import schedframe.resources.computing.ComputingResource; import schedframe.resources.computing.profiles.energy.EnergyEvent; import schedframe.resources.computing.profiles.energy.power.PowerUsage; import schedframe.scheduling.manager.tasks.JobRegistry; public class DataCenterEnergyEstimationPlugin extends BaseEnergyEstimationPlugin{ @Override public double estimatePowerConsumption(EnergyEvent event, JobRegistry 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(); } }