• 事务控制函数


    事务控制函数

    • double lr_stop_transaction(const char * transaction_name)

      将一个事务暂停,该函数后的操作都不会计入事务时间

    • void lr_resume_transaction(const char * transaction_name)

      

      将暂停的事务恢复

      参数transaction_name是事务名称,通过它来控制对应事务的暂停与继续启动。

      须要注意的是,调用lr_stop_transaction后,对应事务数据的采集并没有中断,仍然会采集从事务开始执行时的全部数据。

      不过,在最后的分析结束中, Analysis的分析报告中是否包含事务暂停后的事务数据,则取决于是否在后面代码中调用了lr_resume_transaction函数:如果调用了lr_resume_transaction,则统计分析结果中将会包含事务暂停与继续这个期间的全部数据,对整个事务执行过程进行统计分析;否则,只对事务开始到事务暂停这段时间内的数据进行统计。

      因此, lr_stop_transaction与lr_resume_transaction主要用于一定条件下的事务信息采集:或符合条件时采集全部事务信息,或仅仅采集从事务开始到暂停这段时间的事务信息。

      lr_stop_transaction_instance与lr_resume_transaction_instance用法类似,不再赘述。

    Action2()
    
    {
    
        double duration  = 0;
    
        double wastedtime = 0;
    
     
    
        lr_start_transaction("login");
    
        //打开登录界面
    
        web_url("WebTours",
    
            "URL=http://127.0.0.1:1080/WebTours/",
    
            "Resource=0",
    
            "RecContentType=text/html",
    
            "Referer=",
    
            "Snapshot=t16.inf",
    
            "Mode=HTML",
    
            LAST);
    
     
    
        lr_think_time(4);
    
     
    
        //事务达到该函数运行位置时持续的时间
    
        duration = lr_get_transaction_duration("login");
    
        lr_output_message("duration %f", duration);
    
     
    
        //事务达到该函数运行位置时浪费的时间
    
        wastedtime = lr_get_transaction_wasted_time("login");
    
        lr_output_message("wastedtime %f", wastedtime);
    
     
    
        //为事务添加一个浪费时间 5s//该浪费时间无法直接通过lr_get_transaction_wasted_time获得
    
        lr_wasted_time(5);
    
        wastedtime = lr_get_transaction_wasted_time("login");
    
      lr_output_message("wastedtime %f", wastedtime);
    
     
    
        //暂停事务
    
        lr_stop_transaction("login");
    
     
    
        //注意函数的位置
    
        web_reg_find("Search=Body", "SaveCount=login_times", "Text=jojo", LAST);
    
     
    
        //提交登录页面的表单
    
        web_submit_form("login.pl",
    
            "Snapshot=t17.inf",
    
            ITEMDATA,
    
            "Name=username", "Value=jojo", ENDITEM,
    
            "Name=password", "Value=bean", ENDITEM,
    
            "Name=login.x", "Value=0", ENDITEM,
    
            "Name=login.y", "Value=0", ENDITEM,
    
            LAST);
    
     
    
        lr_think_time(4);
    
     
    
        //事务达到该函数运行位置时浪费的时间
    
        wastedtime = lr_get_transaction_wasted_time("login");
    
        lr_output_message("wastedtime %f", wastedtime);
    
     
    
        if(atoi(lr_eval_string("{login_times}")) >= 1)
    
            lr_end_transaction("login", LR_PASS);
    
        else
    
            lr_end_transaction("login", LR_FAIL);
    
      
    
        return 0;
    
    }
  • 相关阅读:
    【STL源码学习】STL算法学习之二
    android_SurfaceView 画图
    android_layout_linearlayout(一)
    LINUX_记录(一)
    工作经验之石氏thinking
    android_layout_linearlayout(二)
    android_layout_relativelayout(一)
    两个线程解决一个线程卡之路
    android_layout_relativelayout(二)
    android_layout_framelayout
  • 原文地址:https://www.cnblogs.com/lvchengda/p/12624888.html
Copyright © 2020-2023  润新知