再说“事务”
上一篇 /
下一篇 2010-05-23 23:24:38
/ 个人分类:LoadRunner
从下面的例子我们可以得出几个结论:
只要是步骤都会消耗时间,包括lr_start_transaction(),lr_end_transaction()等
lr_get_transaction_duration:duration可以是lr_start_transaction到lr_get_transaction_duration之间,lr_stop_transaction到lr_get_transaction_duration之间,而transaction stop之前的时间不算在内
lr_stop_transaction:stop transaction之前的时间不计算
lr_resume_transaction:一旦resume transaction,那就要从start transaction开始计时
例子:
Action()
{
int i;
int iteration=100;
char aStr[100];
lr_start_transaction("stop&start");
for(i=0;i<iteration;++i)
{
sprintf(aStr,"%d",i);
lr_log_message("%d",i);
}
lr_output_message("First time=%f",lr_get_transaction_duration("stop&start"));//0.985325=start transaction+iteration1
lr_stop_transaction("stop&start");
lr_output_message("Immediatly after stop=%d",lr_get_transaction_duration("stop&start"));//-1639921593
for(i=0;i<iteration;++i)
{
sprintf(aStr,"%d",i);
lr_log_message("%d",i);
}
lr_output_message("After stop and loop = %f",lr_get_transaction_duration("stop&start"));//0.991988=stop transaction+iteration2
lr_resume_transaction("stop&start");
lr_output_message("After resume time=%f",lr_get_transaction_duration("stop&start"));//2.011729=start transaction from start transaction to here1
for(i=0;i<iteration;++i)
{
sprintf(aStr,"%d",i);
lr_log_message("%d",i);
}
lr_output_message("After resume and loop = %f",lr_get_transaction_duration("stop&start")); //3.124461=all the time from start transaction to here2
lr_end_transaction("stop&start", LR_AUTO); //3.1340=all the time from strart transaction to here3
return 0;
}
收藏
举报
TAG: