2017-06-28 43 views
0

目前,我正在努力從Java代碼中獲得理想的JMeter報告。 我的目標是將延遲和吞吐量記錄到每個事務的文件中,然後爲每個方案彙總延遲和吞吐量的平均值和最大/最小值。從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 

有誰知道有沒有什麼辦法,我怎麼能調嗎?

謝謝!

回答

0
  • only per one transaction - .jtl日誌文件包含單採樣的執行,嘗試加入更多的線程和/或環上Thread Group水平,你應該看到更多的結果。
  • 延遲總是零爲基於腳本的採樣器,你需要顯式調用SampleResult.setLatency()方法和設置所需的值。
  • 吞吐量不被記錄,它正在計算。您需要打開.jtl結果文件,即Aggregate ReportSummary Report偵聽器才能查看生成的值。查看org.apache.jmeter.util.Calculator類的源代碼以查看詳細信息,如果您更喜歡使用programmaticall非GUI方法。
+0

太感謝你了,德米特里,您的幫助!我真的很感激你的答案:)現在我正在努力如何獲得SampleResult?我有點跑圈... SampleResult sampleResult = new SampleResult(); SampleEvent sampleEvent = new SampleEvent(sampleResult,threadGroup.toString()); sampleResult = sampleEvent.getResult(); 我有什麼正確的方法可以得到它嗎? SampleResult或SampleEvent – SeraphimaTW