如何获取线程组中采样器完整迭代的统计数据?
实现仅统计完整迭代的采样器数据
可行,你可以通过以下两种方式实现:
方法一:事务控制器+样本过滤
- 将Sampler1到Sampler9全部放入事务控制器中,勾选「Generate parent sample」选项。此时事务控制器会生成一个父样本,只有当所有子采样器都完成执行时,这个父样本才会对应一次完整迭代。
- 运行测试后,先确认事务控制器的样本数为110,随后在聚合报告中通过「Filter」功能仅保留该事务控制器下的子采样器数据;或者导出所有样本到CSV文件,通过筛选父样本ID匹配的记录,提取出仅属于完整迭代的各采样器数据。
方法二:变量标记+样本过滤
- 在JMeter的
user.properties配置文件中添加:sample_variables=complete_iteration,重启JMeter使配置生效。该配置会让每个采样器样本都携带complete_iteration自定义变量。 - 在Sampler9末尾添加BeanShell后置处理器,输入代码:
vars.put("complete_iteration", "true");,标记当前线程的本次迭代为完整执行。 - 运行测试后,所有属于完整迭代的采样器样本,其
complete_iteration变量值都会是true(线程内变量共享)。 - 导出样本数据到CSV,通过筛选
complete_iteration=true的记录,即可得到110次完整迭代的各采样器统计数据;也可使用JMeter的「Filter Results Tool」插件,根据该变量值过滤样本后生成聚合报告。
如果仅需要完整迭代的整体统计,直接查看事务控制器的聚合报告即可,它会汇总所有完整迭代的总耗时等数据。
内容的提问来源于stack exchange,提问作者user10931326
相关产品推荐
相关产品推荐

