从Java代码中获取所需的JMeter报告

时间:2017-06-28 17:02:31

标签: java jmeter report

目前,我正在努力从java代码中获取理想的JMeter报告。 我的目标是为每个事务记录到文件中的延迟和吞吐量,然后根据每个方案得到一个摘要,其中包括延迟和吞吐量的平均值和最大/最小值。

目前我有以下报告代码:

ResultCollector csvlogger = new ResultCollector(summer);
csvlogger.setFilename(csvLogFile);
testPlanTree.add(testPlanTree.getArray()[0], csvlogger);

但是通过这种方式,它只记录每个事务的信息,并且没有吞吐量,报告的延迟只是0(没有任何小数部分)。 它看起来像这样:

timeStamp,elapsed,label,responseCode,responseMessage,threadName,dataType,success,failureMessage,bytes,sentBytes,grpThreads,allThreads,Latency,IdleTime,Connect
2017/06/28 08:53:49.276,1014,Jedis Sampler,200,OK,Jedis Thread Group 1-1,text,true,,0,0,1,1,0,0,0

有谁知道我有什么方法可以调整它?

谢谢!

1 个答案:

答案 0 :(得分:0)

  • only per one transaction - .jtl日志文件包含单个采样器的执行,尝试在Thread Group级别添加更多线程和/或循环,您应该会看到更多结果。
  • 基于脚本的采样器的延迟始终为零,您需要显式调用SampleResult.setLatency()方法并设置所需的值。
  • 未记录吞吐量,计算。您需要使用Aggregate ReportSummary Report侦听器打开.jtl结果文件以查看生成的值。如果您更喜欢programmaticicall非GUI方法,请查看org.apache.jmeter.util.Calculator类源以查看详细信息。