loadrunner的日誌

一、Run-Time Setting日誌參數的設置

1、  Enable logging啓用日誌記錄

如果選中該選項Loadrunner在執行腳本時,進行日誌的記錄,否則不記錄日誌

2、  Send messages only when an error occurs 僅在出錯時發送消息

       也稱爲 JIT (實時)消息傳遞,僅當錯誤發生時才寫入日誌,選擇該選項後則可以設置高級選項,指明日誌緩存的大小,loadrunner默認的日誌到小爲1k



3、  Always send messages

始終發送消息

4、  Standard log       標準日誌:創建在腳本執行期間發送的函數和消息的標準日誌,供調試時使用。

對於大型負載測試場景、優化會話或配置文件禁用此選項。

如果日誌記錄級別設置爲“標準”,當把腳本添加到場景、會話步驟或配置文件中時,日誌記錄模式將被自動設置爲“Send messages only when an error occurs”。

但是,如果日誌記錄模式被禁用或者設置爲“擴展”,則將腳本添加到場景、會話步驟或配置文件中將不會影響其日誌記錄設置。

//記錄所有的請求反饋的日誌,包括successful和fail的日誌
5、  Extended log-----Parameter substitution

參數替換:選擇此選項可以記錄  指定給腳本的所有參數及其相應的值

當腳本進行參數化、插入事務、關聯等優化後,在執行腳本過程中,參數化的值、事務所耗時間、關聯函數取出的變量值均會在日誌中輸出,這個選項對調試腳本查看參數化取值、關聯取值是否正確有着重要的作用

6、  Extended log-----Data returned by server

   選擇此選項可以記錄服務器返回的所有數據。

   Loadrunner會將所有對服務器發出請求後的response情況記錄在日誌中,從這個日誌中可以查看到服務器對請求的迴應是否正確,在使用關聯取值時往往需要到該日誌中查看需要關聯的值,從而確認所取數據左右邊界。

7、  Extended log-----Advanced trace  高級跟蹤

       選擇此選項可以記錄 Vuser 在會話期間發送的所有函數和消息。

調試 Vuser 腳本時,該選項非常有用。

 

二、日誌函數的使用


Loadrunner提供了一下幾個message函數:
1、lr_message
int lr_message (const char * format, exp1, exp2,...expn.);
中文解釋:lr_message函數將信息發送到日誌文件和輸入窗口。在VuGen中運行時,輸入文件爲output.txt。

例如:

char* abort="aborting";

  lr_message ("login failed: %s", abort);

    在日誌中將會看到:login failed: aborting

2、lr_log_message
int lr_log_message (const char * format, exp1, exp2,...expn.);
中文解釋:lr_log_message函數將消息發送到Vuser或代理日誌文件(取決於應用程序),而不是發送到輸出窗口。通過向日志文件發送錯誤消息或其他信息性消息,可以將該函數用於調試。

3、lr_error_message
int lr_error_message (const char *format, exp1, exp2,...expn. );
中文解釋:lr_error_message函數將錯誤消息發送到輸出窗口和Vuser日誌文件。

如果Run-time settings > General > Miscellaneous >Continue on error未被選中,當腳本執行到此處時將終止執行,這個函數所輸出的錯誤級別較高的信息,所以一般情況下如果使用該函數時選中Continue on error

4、lr_output_message
int lr_output_message (const char *format, exp1, exp2,...expn.);
中文解釋:lr_output_message函數將帶有腳本部分的行號的消息發送到輸出窗口和日誌文件。



總結了一下loadrunner中的log的使用,留個印:)

1、log的設置方式。
在 runtime setting中可以設置log的生成方式:
默認的log方式:
Enable logging選中,log option是Send messages only when an error occurs.
可以修改日誌的方式:
Always send messages(這種方式會一直打印輸出日誌,不僅在錯誤時)
standard log——記錄所有的請求反饋的日誌,包括successful和fail的日誌。
Extended log——可提供擴展的日誌信息,包括
Parameter subsititution——日誌中打印所有中使用的參數值。
Data returned by server——日誌中打印每個客戶端請求服務器返回的數據
Advanced trace——日誌中打印所有的消息信息和函數執行信息

2、log的存儲方式
log的存儲路徑在res文件夾下。
如果是從腳本中直接關聯createscenario則在腳本的目錄下的res下。如果是直接createscenario然後再選擇腳本的話,則存儲在c盤,如“C:\Documents and Settings\USERNAME\LocalSettings\Temp\res\log”

具體該場景的日誌結果存哪,可以查看controll的result界面的resultsetting定義的目錄。
根據不同的log記錄級別,在log文件中記錄日誌。

3、log信息的分析

1)從log中得到虛擬用戶失敗的原因。
通常如果場景在運行時出現用戶失敗,則先要查看錯誤原因,可直接查看日誌,從日誌中查看ERROR的信息;
從outputdb中可以查看到錯誤代碼ERROR CODE
2)從日誌中確認每次分配給虛擬用戶的參數值
想判斷是否在場景中每個用戶使用不同的或預定義規則的參數,可以通過在log生成規則處設定爲parametersubsititution,然後查看每個日誌文件中的對應行參數值是否爲預計的參數值。可從此判斷出是否同用戶的實際使用類似,是否達到對服務器的壓力策略。
3)從日誌中確認服務器端返回的值是什麼。
在腳本中通常設定了檢查點,檢查點策略是否生效,如果對此產生懷疑則可以考慮從日誌中查看一下。查看服務器返回的值來驗證是不是所期待得到的值


思考問題
log的輸出 會不會影響到客戶端,會不會使客戶端成爲瓶頸?(認爲是會的,任何程序都是要消耗資源的,loadrunner也一樣,所以選取日誌輸出的模式是要謹慎考慮儘量以適用爲前提)





Loadrunner日誌設置與查看

1.打開EXtended Log
Log告訴了我們一切,默認的Log是standard Log,這時遠遠不夠的.我們要extended log,打開路徑爲runtime settings-->log-->extended log.把parameter substitution和data returned byserver和advanced trace大家根據需要勾選吧.
2.log文件位置,特別是controll執行後,怎麼看log。這裏一一說明一下:

  (1)vgen的runtime settings設置:在vgen中,我們必須寫輸出函數輸出信息,將我們所想要了解的信息用函數輸出,主要有這麼幾個函數輸出信息:lr_output_message,lr_error_message,lr_log_message。這些函數請參閱 help-->function reference.

  其次,我們要在runtime settings中設置,勾選always send messages,具體的做法是:runtime settings--->log-->always send messages,這樣我們才能寫出Log,在我們的腳本所在的文件夾中,有兩個文件很重要,mdrv.log.txt和output.txt文件,lr_log_message只會把信息輸到mdrv.log文件中,而lr_output_message則會寫進以上兩個文件。

  (2)controller的runtime settings設置:在controller我們也要設置runtime settings,這樣才能在場景運行後查看相應日誌,而且每個用戶組的runtime settings都有設置。設置的方法是:在controller的design標籤頁中,右下角的部分有runtime settings按鈕,我們點擊它,設置的方法與在vgen中一樣的。很多朋友都會想知道多次迭代,參數是否正確的導入了呢,我們依舊查看log,我們在執行結束後,查看結果目錄的Log文件夾,如果是負載生成器運行的話,則在tmp目錄。

在Windows環境下,日誌文件output.txt保存在腳本目錄中;在UNIX環境下,保存在標準輸出中。

 【Vuser】——【Run Time Settings】——【General】——【Log】

 1、【Enable logging】啓動日誌功能;(建議運行場景進行負載測試時關閉此項

2、【Send messages only when an error occurs】僅發送出錯時的日誌,可設置緩存大小(默認1KB);

3、【Always send message】發送所有日誌;

4、【Standard log】標準日誌,腳本運行時發送函數信息;

【Extended log】擴展日誌:

5、【Parameter substitution】腳本運行時,在【Replay log】顯示參數信息、參數值;

6、【Data returned by server】記錄服務器返回的所有數據;

7、【Advanced trace】多用於腳本調試,記錄VU在運行期間發送的所有函數信息。

========================================

【Replay log】顯示的日誌顏色:

1、紅色:錯誤信息;

2、橙色:迭代信息;

3、藍色:事件信息;

4、黑色:輸出信息;

5、綠色:字符信息。

========================================

輸出函數:

1、lr_log_message()    // 輸出信息,並記錄到 output.txt 中

2、lr_output_message()    // 輸出信息,不記錄到日誌文件中

3、lr_message()    // 輸出信息,不記錄到日誌文件中

4、lr_error_message()    // 輸出信息,不記錄到日誌文件中


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