jmeter事务控制器

​1、jmeter 对Transaction Controller(事务控制),在内部对应生成TransactionSampler,此TransactionSampler有自己的sampleResult,此sampleResult也会写入到jtl文件中,聚合报告中对Transaction Controller本身的统计逻辑其实是和其他的sampler的处理逻辑是一样的

2、TransactionSampler中包含内部子sampler的引用,还包含一个对子sampler的samplerResult引用的list引用

如下图:

勾不勾选Generate parent Sampler,其实影响的是是否统计子sampler的samplerResult的问题。

启动jmeterThread线程,执行run方法

next(),调用的TransactionController

下方是具体sampler处理的代码,会先判断此次执行的是否是TransactionSampler,如果是则取出其中的子sampler进行处理,子sampler的处理过程同其他普通的sampler处理过程一样。

处理子sampler

对子sampler的samplerResult进行处理(写入jtl文件),同时将子sampler的samplerResult存入到TransactionSampler中。此时不对TransactionSampler的samplerResult进行处理。

循环处理TransactionSampler下的子sampler,如果已全部执行完毕,则事务结束,将TransactionSampler的samplerResult写入jtl文件

下方是将子sampler加入到TransactionSampler的过程(在调用next()方法的过程中)

你可能感兴趣的:(jmeter事务控制器)