2017-02-06 9 views
0

Я разрабатываю интегрированный бенчмаркинг в приложении. Я хочу использовать JMH в качестве рамки.JMH: возврат результатов теста как объекта json

Как я могу получить результаты как объект JSON?

Я знаю, что я могу сохранить его в файл со следующими параметрами погонных:

org.openjdk.jmh.runner.options.Options opt = new OptionsBuilder() 
      .include(WorkerBenBenchmarkObject.class.getSimpleName()) 
      .shouldDoGC(true) 
      .resultFormat(ResultFormatType.JSON) 
      .result("benchmark-result/" + System.currentTimeMillis() + ".json") 
      .addProfiler(StackProfiler.class) 
      .jvmArgsAppend("-Djmh.stack.period=1") 
      .warmupIterations(5) 
      .measurementIterations(5) 
      .forks(1) 
      .build(); 

    new Runner(opt).run(); 

Как я могу получить это приводит без необходимости, чтобы прочитать файл?

ответ

0

Если вы запустите JMH из командной строки, для установки формата вывода есть опция (-rf).

Для JSON выхода:

java -jar benchmarks.jar -rf json 

Чтобы получить список других форматов и вариантов для выбора:

java -jar benchmarks.jar -lrf 
Available formats: text, csv, scsv, json, latex