JMeter Transaction Controller标签名称未在聚合报告中显示是什么原因?
JMeter聚合报告无事务控制器名称的解决办法
以下是针对该场景的可落地排查及修复方案:
- 检查事务控制器配置
确认事务控制器已勾选生成父样本选项,若需要统计包含定时器、前后处理器的耗时可同步勾选在生成的样本中包含定时器和前后处理器的持续时间,保证事务会作为独立样本被JMeter采集上报。 - 修正循环退出逻辑
While控制器按时长强制退出时,可能会打断执行中的事务,未完整执行完的事务不会被纳入统计。可以调整While的判断条件,在时长判断外额外增加事务执行完成的校验,保证每次循环都完整跑完一个事务再判断是否退出。 - 校验If控制器逻辑
确认If控制器的条件写法正确,JMeter 4.0及以上版本建议勾选「将条件解释为变量表达式」,条件写为${__jexl3(${JMeterThread.last_sample_ok} == true,)},避免判断失效导致事务下的采样器从未执行。可以在If控制器前添加Debug Sampler,输出${JMeterThread.last_sample_ok}的实际值,确认变量返回符合预期。 - 排查样本过滤配置
确认聚合报告、结果文件的保存配置没有过滤事务样本,不要勾选「仅保存失败样本」「排除事务样本」类的过滤选项,也不要在user.properties配置文件中设置排除事务样本采集的相关参数。 - 版本兼容排查
若使用的是JMeter 3.x及更早版本,存在循环内部事务控制器统计丢失的已知bug,升级到最新稳定版即可解决。
内容的提问来源于stack exchange,提问作者Venkatesh
相关产品推荐
相关产品推荐

