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);
}}