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.Node; import schedframe.resources.computing.recs.NodeGroup; import schedframe.scheduling.manager.tasks.JobRegistry; import example.energy.BaseEnergyEstimationPlugin; public class NodeGroupEnergyEstimationPlugin extends BaseEnergyEstimationPlugin{ public double estimatePowerConsumption(EnergyEvent event, JobRegistry jobRegistry, ComputingResource resource) { double power = 0; NodeGroup nodeGroup = (NodeGroup)resource; for(Node cn: nodeGroup.getNodes()){ PowerUsage powerUsage = cn.getPowerInterface().getRecentPowerUsage(); power += (powerUsage == null ? 0 : powerUsage.getValue()); } return power; } }