也许我在浏览JMeter API site时真的很糟糕。获取时间jMeter线程已经运行
但让我们说我想知道一个线程已经运行了多长时间,在一个If Controller或一个JSR223采样器中,我该怎么做? thread group例如似乎并不具有什么我找
也许我在浏览JMeter API site时真的很糟糕。获取时间jMeter线程已经运行
但让我们说我想知道一个线程已经运行了多长时间,在一个If Controller或一个JSR223采样器中,我该怎么做? thread group例如似乎并不具有什么我找
也许,调查JMeterThread JavaDoc而不是。如果您使用Thread Group的“计划程序”选项,则可以使用JMeterThread.getStartTime()和JMeterThread.getEndTime()方法。
如果不使用调度程序,你可以用下面的办法:
添加JSR223测试元件(没有真正的问题是哪一个)到你的线程组的一开始,把下面的代码为“脚本”区域:
ctx.getThread().setStartTime(System.currentTimeMillis())
添加另一个JSR223测试件以你的线程组的结束,并使用下面的代码获取当前线程的持续时间:
long started = ctx.getThread().getStartTime()
log.info('Thread duration: ' + (System.currentTimeMillis() - started))
演示:
ctx
是一个速记JMeterContextService类。
有关在JMeter测试中使用Groovy的更多详细信息,请参阅Apache Groovy - Why and How You Should Use It文章。
您可以在事务控制器添加您的测试
然后在采样结果可以看到加载时间:2771看到Manual
注意:当选中“生成的样本中包含计时器和前处理 处理器”复选框时,时间包括在控制器范围内处理的所有 ,而不仅仅是样本。