loadrunner的日志

来源:互联网 发布:长沙聚丰网络 编辑:程序博客网 时间:2024/06/07 06:42

一、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()    // 输出信息,不记录到日志文件中


0 0