2016-11-30 9 views
0

Есть какой-то способ использования jRAPL или подобного инструмента для измерения энергопотребления внутри модульных тестов?Использование jRAPL в модульном модуле JUnit

Что-то вроде:

public class FooTest{ 
    @Before 
    public void startUp(){ 
     double beginning = EnergyCheck.statCheck(); 
    } 

    @After 
    public void tearDown(){ 
     double end = EnergyCheck.statCheck(); 
     System.out.println(end - beginning); 
    } 

    @Test 
    public void FooTest(){ 
     //TODO 
    } 
} 

Какую конфигурацию я должен сделать, чтобы быть в состоянии использовать jRAPL таким образом, с помощью Eclipse IDE?

С уважением.

ответ

0

Просмотрев код, для данного метода может работать следующее: до тех пор, пока запрос занимает достаточно много времени.

@Test 
public void FooTest(){ 
    double beginning = EnergyCheck.statCheck(); 
    //TODO 
    double end = EnergyCheck.statCheck(); 
    System.out.println(end - beginning);enter code here 
} 

Есть некоторые проблемы с использованием RAPL, когда продолжительность выполнения очень мала. См: http://os.inf.tu-dresden.de/papers_ps/greenmetrics2012-rapl.pdf

Конфигурация вам потребуется, чтобы запустить в на Linux, инструкции указывают, что вы должны использовать команду:

sudo modprobe msr 

который позволяет модуль ядра для получения инструкций на основе мониторинга RAPL.

Альтернативный инструмент: https://github.com/TANGO-Project/code-optimiser-plugin, который в настоящее время находится в разработке. Он может давать значения мощности, но пока не предлагает прямой способ калибровки модели, которую он использует для расчета энергопотребления.

 Смежные вопросы

  • Нет связанных вопросов^_^