package example.energy.recs; import schedframe.resources.computing.ComputingResource; import schedframe.resources.computing.profiles.energy.EnergyEvent; import schedframe.resources.computing.profiles.energy.power.PowerUsage; import schedframe.resources.computing.recs.ComputeBox1; import schedframe.resources.computing.recs.NodeGroup; import schedframe.scheduling.manager.tasks.JobRegistry; import example.energy.BaseEnergyEstimationPlugin; public class CB1EnergyEstimationPlugin extends BaseEnergyEstimationPlugin{ public double estimatePowerConsumption(EnergyEvent event, JobRegistry jobRegistry, ComputingResource resource) { double power = 0; ComputeBox1 computeBox1 = (ComputeBox1)resource; for(NodeGroup ng:computeBox1.getNodesGroups()){ PowerUsage powerUsage = ng.getPowerInterface().getRecentPowerUsage(); power += (powerUsage == null ? 0 : powerUsage.getValue()); } return power; } }