source: DCWoRMS/trunk/src/example/energy/DefaultEnergyEstimationPlugin.java @ 546

Revision 546, 1.3 KB checked in by wojtekp, 12 years ago (diff)
  • Property svn:mime-type set to text/plain
Line 
1package example.energy;
2
3import schedframe.resources.computing.ComputingResource;
4import schedframe.resources.computing.profiles.energy.EnergyEvent;
5import schedframe.scheduling.manager.tasks.JobRegistry;
6
7
8public class DefaultEnergyEstimationPlugin extends BaseEnergyEstimationPlugin{
9
10
11        public double estimatePowerConsumption(EnergyEvent event, JobRegistry jobRegistry, ComputingResource resource) {
12                double powerConsumption = 0;
13                try {
14                        powerConsumption = resource.getPowerInterface().getPowerConsumption(resource.getPowerInterface().getPowerState());
15                } catch (NoSuchFieldException e) {
16                        powerConsumption = 0;
17                }
18               
19                powerConsumption = powerConsumption + getChildrenPowerConsumption(resource);
20               
21                for(ComputingResource child:resource.getChildren()){
22                        try {
23                                //powerConsumption = powerConsumption + child.getPowerInterface().getRecentPowerUsage().getValue();
24                        } catch (Exception e) {
25
26                        }
27                }
28                return powerConsumption;
29        }
30       
31        private double getChildrenPowerConsumption(ComputingResource resource){
32                double powerConsumption = 0;
33                for(ComputingResource child:resource.getChildren()){
34                        try {
35                                powerConsumption = powerConsumption + child.getPowerInterface().getRecentPowerUsage().getValue();
36                        } catch (Exception e) {
37                                powerConsumption = powerConsumption + getChildrenPowerConsumption(child);
38                        }
39                }
40                return powerConsumption;
41        }
42}
Note: See TracBrowser for help on using the repository browser.