再说“事务”

上一篇 / 下一篇  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:

 

评分:0

我来说两句

Open Toolbar