loadrunner Lr_類函數之 lr_user_data_point_instance()

lr_user_data_point_instance()

記錄用戶定義的數據樣本,並將其與事務實例相關聯。

long lr_user_data_point_instance(const char * sample_name,double value,long transaction_handle);

 

參數說明:

sample_name:指示樣本類型名稱的字符串。

value:要記錄的值。

parent_handle:與data_point關聯的事務實例標識符。

 

lr_user_data_point_instance函數類似於lr_user_data_point,除了其transaction_handle參數,該參數允許您將數據點與特定事務實例相關聯。

此函數適用於與使用事務實例的LoadRunner集成的應用程序。

有關事務實例的詳細信息,請參閱lr_start_transaction_instance。

 

示例:lr_user_data_point_instance_ex

以下段每秒檢查CPU並記錄結果。

在以下示例中,用戶數據點實例記錄在id爲instance_id的特定事務實例期間在銀行帳戶上透支的金額。數據點的日誌標誌爲擴展,如果VuGen的日誌運行時設置設置爲擴展級別,則會記錄日誌。

int LIMIT = 1000;

long instance_id;

int amount_overdrawn;

amount_overdrawn = get_amount_overdrawn();

while(amount_overdrawn <LIMIT){

     / *通知事務正在啓動* /

     instance_id = lr_start_transaction_instance(“withdraw”,0);

     status = bank_withdraw(500); / *調用服務器API * /

     / *結束事務與操作結果 - 通過或失敗* /

    if(status == 0)

          lr_end_transaction_instance(instance_id,LR_PASS);

     else

          lr_end_transaction_instance(instance_id,LR_FAIL);

     amount_overdrawn = get_amount_overdrawn();

     / *記錄透支作爲數據點的數量,並將其關聯

     *具體的事務實例通過使用實例的id * /

     lr_user_data_point_instance_ex(“Amount Overdrawn”,

          (double)amount_overdrawn,instance_id,

          DP_FLAGS_EXTENDED_LOG);

}}

 

lr_user_data_point_instance_ex

記錄用戶定義的數據樣本,並將其與事務實例相關聯。

long lr_user_data_point_instance_ex(const char * sample_name,double value,long transaction_handle,int log_flag);

 

參數說明:

sample_name:指示樣本類型名稱的字符串。

value:要記錄的值。

parent_handle:與data_point關聯的事務實例標識符。

log_flag:確定是否應記錄數據點:

    DP_FLAGS_NO_LOG(1)

    DP_FLAGS_STANDARD_LOG

    DP_FLAGS_EXTENDED_LOG(3)

 

除了附加參數log_flag之外,lr_user_data_point_instance_ex函數與lr_user_data_point_instance相同。

記錄意味着將數據寫入文件。 lr_user_data_point_instance_ex使您能夠將數據點寫入Vuser日誌文件。當在VuGen中運行時,輸出爲output.txt

您可能需要根據要記錄的數據的重要性有條件地寫入數據點。當只需要記錄最重要的信息時,它可以是標準級別的一部分,也可以是需要更完整日誌記錄時的擴展級別。

log_flag表示日誌級別,並與在VuGen的日誌運行時設置中找到的設置相關,該設置指定腳本在腳本執行期間如何處理對文件的日誌記錄。如果將DP_FLAGS_EXTENDED_LOG傳遞給lr_user_data_point_instance_ex,則僅當激活擴展運行時日誌設置時纔會記錄數據點。如果log_flag是DP_FLAGS_STANDARD_LOG,那麼只有當標準設置處於活動狀態時,它纔會被記錄。 DP_FLAGS_NO_LOG表示此數據點從不寫入日誌文件。

 

示例:lr_user_data_point_instance_ex

以下段每秒檢查CPU並記錄結果。

在以下示例中,用戶數據點實例記錄在id爲instance_id的特定事務實例期間在銀行帳戶上透支的金額。數據點的日誌標誌爲擴展,如果VuGen的日誌運行時設置設置爲擴展級別,則會記錄日誌。

int LIMIT = 1000;

long instance_id;

int amount_overdrawn;

amount_overdrawn = get_amount_overdrawn();

while(amount_overdrawn <LIMIT){

     / *通知事務正在啓動* /

     instance_id = lr_start_transaction_instance(“withdraw”,0);

     status = bank_withdraw(500); / *調用服務器API * /

     / *結束事務與操作結果 - 通過或失敗* /

    if(status == 0)

          lr_end_transaction_instance(instance_id,LR_PASS);

     else

          lr_end_transaction_instance(instance_id,LR_FAIL);

     amount_overdrawn = get_amount_overdrawn();

     / *記錄透支作爲數據點的數量,並將其關聯

     *具體的事務實例通過使用實例的id * /

     lr_user_data_point_instance_ex(“Amount Overdrawn”,

          (double)amount_overdrawn,instance_id,

          DP_FLAGS_EXTENDED_LOG);

}}

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