lr_end_transaction()
标记事务的结束。
int lr_end_transaction(const char *transaction_name,int status);
参数说明:
transaction_name:指示现有事务的名称的字符串。
status:事务状态
lr_end_transaction函数标记事务的结束并记录执行事务所花费的时间。要指示要分析的事务,请将lr_start_transaction函数放在事务之前,并将lr_end_transaction函数放在事务之后。
您可以手动设置事务的状态,也可以允许脚本自动检测。要手动设置状态,请在脚本代码(参见示例)中执行手动检查,以评估函数的返回代码。对于“成功”返回码,将状态设置为LR_PASS。对于“失败”返回码,将状态设置为LR_FAIL。对于“已中止”的返回代码,将状态设置为LR_STOP。
如果状态为LR_AUTO,则会自动分配状态的值。默认情况下,此值为LR_PASS,表示成功的事务。但是,如果在lr_end_transaction之前,您使用lr_set_transaction_status,lr_set_transaction_status_by_name,lr_set_transaction_instance_status或lr_fail_trans_with_error更改默认值,则这是在lr_end_transaction中作为状态传递的值。
如果对修改LR_AUTO状态的函数进行一系列调用,那么它是lr_end_transaction之前的最后一个调用,它有效地更改状态。
示例:lr_end_transaction
在以下示例中,lr_end_transaction函数测量用于向银行服务器执行存款的交易时间。一旦服务器API调用完成并向rc变量返回一个值,事务就完成了。用户基于存款的成功或失败手动设置交易状态。
/ *通知事务正在启动* /
lr_start_transaction(“deposit”);
/ *服务器API调用* /
rc = bank_deposit(50);
/ *结束事务与操作结果 - 通过或失败* /
if(rc == 0)
lr_end_transaction(“deposit”,LR_PASS);
else
lr_end_transaction(“deposit”,LR_FAIL);