Weaved code has dependency to project jRAPL, which can be found at https://github.com/kliu20/jRAPL



public class EnergyTest {
    public double bar() {
        return 1.0;
    }

    public double foo() {
        double a = 0;
        for (int i = 0; i < 5; i++) {
            double[] kadabra_energy_output_0Before = weaver.kadabra.monitor.pc.ubuntu.UbuntuEnergyCheck.getEnergyStats();
            a += bar();
            double[] kadabra_energy_output_0After = weaver.kadabra.monitor.pc.ubuntu.UbuntuEnergyCheck.getEnergyStats();
            double kadabra_energy_output_0 = 0;
            for(int kadabra_energy_output_0Counter = 0; kadabra_energy_output_0Counter < kadabra_energy_output_0Before.length; kadabra_energy_output_0Counter++){
                kadabra_energy_output_0 += kadabra_energy_output_0After[ kadabra_energy_output_0Counter ] - kadabra_energy_output_0Before[ kadabra_energy_output_0Counter ]; // /10?
            }
            //weaver.kadabra.monitor.pc.ubuntu.UbuntuEnergyCheck.ProfileDealloc();
            System.out.printf("Energy:%fJ", kadabra_energy_output_0);
        }
        return a;
    }

    public static void main(String[] args) {
        double[] kadabra_energy_output_1Before = weaver.kadabra.monitor.pc.ubuntu.UbuntuEnergyCheck.getEnergyStats();
        new EnergyTest().foo();
        double[] kadabra_energy_output_1After = weaver.kadabra.monitor.pc.ubuntu.UbuntuEnergyCheck.getEnergyStats();
        double kadabra_energy_output_1 = 0;
        for(int kadabra_energy_output_1Counter = 0; kadabra_energy_output_1Counter < kadabra_energy_output_1Before.length; kadabra_energy_output_1Counter++){
            kadabra_energy_output_1 += kadabra_energy_output_1After[ kadabra_energy_output_1Counter ] - kadabra_energy_output_1Before[ kadabra_energy_output_1Counter ]; // /10?
        }
        //weaver.kadabra.monitor.pc.ubuntu.UbuntuEnergyCheck.ProfileDealloc();
        System.out.printf("Energy:%fJ", kadabra_energy_output_1);
    }
}


