获取时间jMeter线程一直在运行

时间:2017-06-20 13:08:42

标签: java jmeter beanshell

也许我在导航JMeter API site时非常糟糕。

但是让我说我​​想知道一个线程运行了多长时间,在If Controller或JSR223采样器中我该怎么做?例如thread group似乎没有我想要的东西

2 个答案:

答案 0 :(得分:3)

也许,转而考虑JMeterThread JavaDoc。如果您使用Thread Group的“计划程序”选项,则可以使用JMeterThread.getStartTime()JMeterThread.getEndTime()方法。

如果您不使用调度程序,则可以使用以下方法:

  1. 在您的线程组的最开头添加JSR223测试元素(并不重要),并将以下代码放入“脚本”区域:

    ctx.getThread().setStartTime(System.currentTimeMillis())
    
  2. 将另一个JSR223测试元素添加到线程组的末尾,并使用以下代码获取当前线程持续时间:

    long started = ctx.getThread().getStartTime()
    
    log.info('Thread duration: ' + (System.currentTimeMillis() - started))
    
  3. 演示:

    JMeter Groovy Thread Duration

    ctxJMeterContextService课程的简写。

    有关在JMeter测试中使用Groovy的更多详细信息,请参阅Apache Groovy - Why and How You Should Use It文章。

答案 1 :(得分:0)

您可以在交易控制器

下添加测试

然后在Sampler结果中,您可以看到加载时间:2771,请参阅Manual

  

注意:当复选框“包括计时器和预发布的持续时间   检查生成的样本中的处理器,时间包括所有   在控制器范围内处理,而不仅仅是样本。