loadrunner Lr_类函数之 lr_stop_transaction()

lr_stop_transaction()

终止执行的事务运行。

double lr_stop_transaction(const char * transaction_name);

 

参数说明:

transaction_name打开的事务的名称。

保留此功能是为了向后兼容。有关报告部分事务持续时间的更一般方法,请参阅lr_start_sub_transaction和lr_set_transaction。

调用lr_stop_transaction后,由“get”事务函数返回的统计信息只反映直到调用的数据,直到调用lr_resume_transaction。指定的事务必须已使用lr_start_transaction打开。

但是,数据收集不会中断。调用lr_resume_transaction后,“get”函数自事务开始后返回所有数据。此外,分析测试时的最终结果将反映总值,包括交易停止和恢复之间的期间。

如果未调用lr_resume_transaction,则“get”函数和最终结果仅反映从事务开始到lr_stop_transaction调用的持续时间。因此,可以有条件地使用lr_stop_transaction和lr_resume_transaction来收集关于整个事务或仅开始的信息。要完成此任务,只有满足条件时才调用lr_resume_transaction。

注意:当以这种方式收集数据时,分析中的数据将反映满足lr_resume_transaction的条件的测试,以及不满足条件的测试。

如果您希望排除的部分在事务结束之前结束,则此技术不适用。如果需要区分满足lr_resume_transaction条件的情况和不在分析数据中的情况,则此技术不适用。

 

例如:lr_stop_transaction和lr_resume_transaction

在下面的示例中,将停止并恢复事务,以显示对所报告的时间的影响.。

{

    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);

    }}

    / *输出持续时间到此点(0.343750秒)

        与事务活动。 * /

    lr_output_message(“First time =%f”,

        lr_get_transaction_duration(“Stop&Start”));

    //停止事务

    lr_stop_transaction(“Stop&Start”);

    / *将持续时间输出到此点(0.359375秒)

        与事务停止。 * /

    lr_output_message(“停止后立即=%f”,

        lr_get_transaction_duration(“Stop&Start”));

    //确保一些时间过去

    for(i = 0; i <iteration; ++ i){

        sprintf(aStr,“%d”,i);

        lr_log_message(“%d”,i);

    }}

    / *将持续时间输出到此点(0.359375秒)

        交易仍然停止,但是

        更多的时间。注意时间是一样的。

        在事务处理时在循环中花费的时间

        停止不报告。 * /

    lr_output_message(“停止和循环=%f”后,

        lr_get_transaction_duration(“Stop&Start”));

    //恢复事务

    lr_resume_transaction(“Stop&Start”);

    / *请注意,随着事务恢复,

        自从开始以来所有的时间都过去了

        报告(0.781250秒),包括花费的时间

        在事务被停止的循环中。 * /

    lr_output_message(“恢复时间=%f”后,

        lr_get_transaction_duration(“Stop&Start”));

    //将时间添加到持续时间

    for(i = 0; i <iteration; ++ i){

        sprintf(aStr,“%d”,i);

        lr_log_message(“%d”,i);

        }}

    / *报告的总时间(1.140625秒)* /

    lr_output_message(“resume resume and loop =%f”后,

        lr_get_transaction_duration(“Stop&Start”));

     

    //结束事务

    lr_end_transaction(“Stop&Start”,LR_AUTO);

    return 0;

}}

输出:

Action.c(11):通知:事务停止和启动开始。

Action.c(23):第一次= 0.343750

Action.c(27):通知:事务停止和开始停止。

Action.c(31):停止后立即= 0.359375

Action.c(45):停止和循环后= 0.359375

Action.c(49):通知:事务停止和启动恢复。

Action.c(55):恢复时间= 0.781250

Action.c(65):resume和循环后= 1.140625

Action.c(70):通知:事务停止和开始以通过状态结束(持续时间:1.1406)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值