2017-02-06 33 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