loadrunner Lr_类函数之 lr_resume_transaction_instance()

lr_resume_transaction_instance()

恢复在脚本中报告事务实例数据
void lr_resume_trans_instance(long trans_handle);

参数说明:
trans_handle:lr_start_transaction_instance返回的事务实例标识

lr_resume_transaction_instance函数恢复由lr_stop_transaction_instance暂停的脚本中的事务数据的报告。在调用lr_stop_transaction_instance之后,由“get”事务函数返回的统计信息仅反映该调用的数据,直到调用此函数。
但是,数据收集不会中断。在调用lr_resume_transaction_instance之后,“get”函数返回事务开始后的所有数据。此外,分析测试时的最终结果将反映总值,包括事务实例停止和恢复之间的时间段。
如果未调用lr_resume_transaction_instance,则最终结果仅反映到调用lr_stop_transaction_instance之前的统计信息。
parent_handle是从对创建实例的lr_start_transaction_instance的调用返回的值。
lr_stop_transaction_instancelr_resume_transaction_instance可用于有条件地收集有关开始或所有事务的信息。
请注意,在调用lr_stop_transaction_instance时,您将无法区分迭代之间的分析,也可能无法区分迭代。

示例:lr_resume_transaction_instance
在以下示例中,lr_stop_transaction_instancelr_resume_transaction_instance显示停止和恢复实例的效果。
Action
()

{
    int i;
    int iteration = 1000;
    char aStr [100];
    long trans_handle;
    / *
句柄参数为零表示
        
没有父事务* /
    trans_handle = lr_start_transaction_instance
(“StopStart”,0;
    / *
做业务流程的一部分。代表
        
这里通过循环来保证一些
        
时间流逝。 * /
    for
i = 0; i<iteration; ++ i{
        sprintf
aStr,“%d”,i;
            //lr_log_message
(“%d”,i;
    }}
    / *
输出到这一点的持续时间
        
与事务实例活动* /
    lr_output_message
(“First time =f”,
        lr_get_trans_instance_duration
trans_handle));
    //
停止事务实例
    lr_stop_transaction_instance
trans_handle;
    / *
输出到这一点的持续时间
        
与事务停止* /
    lr_output_message
(“停止后立即=f”,
        lr_get_trans_instance_duration
trans_handle));
    //
确保一些时间过去
    for
i = 0; i<iteration; ++ i{
        sprintf
aStr,“%d”,i;
        // lr_log_message
(“%d”,i;
    }}
    / *
输出到这一点的持续时间
        
与事务实例仍然停止,但是
        
更多的时间。注意时间是一样的。
        
在事务处理时在循环中花费的时间
        
实例被停止不报告。 * /
    lr_output_message
(“停止和循环=f”后,
        lr_get_trans_instance_duration
trans_handle));
    //
恢复事务实例
    lr_resume_transaction_instance
trans_handle;
    / *
请注意,随着实例恢复,
        
自从开始以来所有的时间都过去了
        
报告,包括花在的时间
        
循环。 * /
    lr_output_message
(“恢复时间=f”后,
        lr_get_trans_instance_duration
trans_handle));
    //
将时间添加到持续时间
    for
i = 0; i<iteration; ++ i{
        sprintf
aStr,“%d”,i;
        // lr_log_message
(“%d”,i;
}}

    / *
报告的总时间* /
    lr_output_message
(“resume resume and loop =f”后,
        lr_get_trans_instance_duration
trans_handle));
    //
结束事务实例
    lr_end_transaction_instance
trans_handleLR_AUTO;
    return 0;
}}

Action.c
14):通知:事务停止和开始开始。
Action.c
26):第一次= 0.609375
Action.c
31):通知:事务停止和开始停止。
Action.c
36):停止后立即= 0.609375
Action.c
50):停止和循环后= 0.609375
Action.c
54):通知:事务停止和启动恢复。
Action.c
60):恢复时间= 1.250000
Action.c
70):resume和循环后= 1.859375
Action.c
75):通知:事务停止和开始以通过状态结束(持续时间:1.8594)。

相关文章
相关标签/搜索