Java JMH:将基准测试结果作为json对象返回

Java JMH:将基准测试结果作为json对象返回,java,json,benchmarking,jmh,Java,Json,Benchmarking,Jmh,我正在开发一个集成的基准测试到一个应用程序中。我想用它作为我的框架 如何将结果作为JSON对象接收 我知道我可以使用以下运行选项将其保存到文件中: org.openjdk.jmh.runner.options.Options opt = new OptionsBuilder() .include(WorkerBenBenchmarkObject.class.getSimpleName()) .shouldDoGC(true)

我正在开发一个集成的基准测试到一个应用程序中。我想用它作为我的框架

如何将结果作为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();

如何在不需要读取文件的情况下接收此结果?

如果从命令行运行JMH,则有一个选项(-rf)用于设置输出格式

对于JSON输出:

java -jar benchmarks.jar -rf json
要获取其他格式的列表以及要选择的选项,请执行以下操作:

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