JMeter-APDEX将开始以及结束时间精确到秒
2018-05-12 本文已影响54人
ArthasManu
在JMeter的APDEX报告中,在Test and Report informations中,会看到Start Time和End Time默认只精确到分钟。如图:
APDEX_Minute_level.png
HtmlTemplateExporter_format_date.png
HtmlTemplateExporter_format_timeHelper.png
再跟代码,TimeHelper类位于/src/core/org/apache.jmeter/report/core/TimeHelper.java, 修改line 81,修改如下代码:
HtmlTemplateExporter_format_timeHelper_modify.png
APDEX_Second_level.png
![](https://img.haomeiwen.com/i6725433/52df0afe20c89da0.png)
由于我们需要收集更多这段测试时间内的信息,所以精确度应该是到秒级别且用24小时制会更方便阅读。因此,我们需要对源代码进行小小的修改。
导出APDEX报告的组件类中,最关键的是/src/core/org/apache.jmeter/report/dashboard/HtmlTemplateExporter.java中的。
在Jmeter 4.0的版本中,line 463行和467行,分别对beginDate, endDate这两个变量进行了处理。可以看到,最初这两个变量为long型。
![](https://img.haomeiwen.com/i6725433/7fbd438235a1d422.png)
再继续跟代码,发现它的调用了TimeHelper类中的formatTimeStamp(long time)方法;该方法的调用场景目前只有这里,所以可以放心的修改。必要的话,可以在这里写个新方法去调用就好了。
如图:
![](https://img.haomeiwen.com/i6725433/48c810728c3b3cc7.png)
![](https://img.haomeiwen.com/i6725433/9dbc882c0b455696.png)
之后用Ant的Package命令进行编译打包,修改的源代码依然生成在ApacheJMeter_core.jar中,替换原来的相应文件。
![](https://img.haomeiwen.com/i6725433/9ae441b7befaeff9.png)