loadrunner Lr_類函數之 lr_get_trans_instance_duration()

lr_get_trans_instance_duration()

返回事務實例的持續時間

double lr_get_trans_instance_duration(long trans_handle);

 

參數說明:

trans_handle:事務句柄。

 

lr_get_trans_instance_duration函數以秒爲單位返回打開的事務實例的持續時間,直到此時爲止。 使用此函數可確定事務結束前的總事務時間。

此函數和lr_get_transaction_duration之間的區別在於,您可以通過其句柄指定事務實例。 使用lr_get_transaction_duration,可以按其名稱指定獨立事務。

trans_handle是對lr_start_transaction_instance的調用的返回值。

lr_get_trans_instance_duration僅對打開的事務返回大於零的值。

要確定其他事務統計信息,例如思考時間和浪費的時間,請使用適當的事務函數。

示例:lr_get_trans_instance_duration

在以下示例中,lr_get_trans_instance_duration函數檢查父事務實例和子事務實例的持續時間,並將它們發送到Output窗口。

#include“as_web.h”

Action()

{

    long parent_trans_handle;

    long child_handle;

    double trans_time;

    int rc;

 

    / *啓動主事務實例。

        傳遞0作爲父句柄表示

        事務沒有父類。

        函數返回值是在其他中使用的句柄

        事務實例函數。 * /

    parent_trans_handle =

        lr_start_transaction_instance(“ParentTransaction”,0);

    / *執行業務流程,這裏用a表示

        單個web_url調用。 * /

    web_url(“web_url”,“URL = http://www.mercury.com”,LAST);

    rc = lr_get_trans_instance_status(parent_trans_handle);

    if(rc == LR_FAIL){

     / * web_url失敗了事務。

        沒有點繼續,因爲

        未來的電話可能也會失敗。 * /

     lr_end_transaction_instance(parent_trans_handle,LR_FAIL);

     return ;

    }}

 

    / *啓動子事務實例。

        通過從另一個返回的句柄

        lr_start_transaction_instance調用爲

        句柄參數使這個事務a

        子例程。 * /

    child_handle =

        lr_start_transaction_instance

            (“ChildTransInstance”,parent_trans_handle);

    //執行業務流程

    web_url(“web_url”,

        “URL = http://astra.mercuryinteractive.com”,LAST);

    / *獲取子事務實例的持續時間。

        傳遞實例句柄。

        持續時間(秒)是返回值。 * /

    //總時長

    trans_time =

        lr_get_trans_instance_duration(child_handle);

    lr_output_message

        (“第一個子實例時間是%lf秒。”,

        trans_time);

    //思考時間

    trans_time =

        lr_get_trans_instance_think_time(child_handle);

    lr_output_message

        (“第一個子實例認爲時間是%lf秒。”,

         trans_time);

    //浪費時間

    trans_time =

        lr_get_trans_instance_wasted_time(child_handle);

    lr_output_message

        (“第一個子實例浪費時間是%lf秒。”,

        trans_time);

    //結束子事務實例

    lr_end_transaction_instance(child_handle,LR_PASS);

    / *獲取父事務實例的持續時間,

        其包括子事務持續時間。 * /

    trans_time =

        lr_get_trans_instance_duration(parent_trans_handle);

    lr_output_message

        (“父事務持續時間爲%lf秒”。,

        trans_time);

    //結束父事務實例

    lr_end_transaction_instance(parent_trans_handle,

        LR_PASS);

    return 0;

}}

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章