Share this page

# Example: Sub-transactions

This example shows how the durations of nested sub-transactions are reported.

Several sub-transactions are started with start_sub_transaction and ended with end_sub_transaction. These sub-transactions are nested and overlapped in various ways. The output below the example shows that the duration of each sub-transaction is the time between the start and end of that individual sub-transaction, entirely independent of what other sub-transactions are active at the same time.

    Dim i as Integer
    Dim baseIter as Integer

    baseIt(er = 1000)

    ' Start Parent
    lr.start_transaction "Master"

    ' Start first sub transaction
    lr.start_sub_transaction "FirstT", "Master"

    ' Start nested child of first sub transaction
    lr.start_sub_transaction "FirstT_Child1", "FirstT"

    ' Pause between scripts
    lr.think_time 1.5

    ' Start a sub transaction while FirstT_Child1 is still active.
    lr.start_sub_transaction "FirstT_OverLap_Child1And2", "FirstT"

    ' Create some elapsed time
    lr.think_time 0.5

    ' End FirstT_Child1.
    ' FirstT_OverLap_Child1And2 is still active
    lr.end_sub_transaction "FirstT_Child1",lr.AUTO

    ' Start second nested child
    lr.start_sub_transaction "FirstT_Child2", "FirstT"

    ' Pause between scripts
    lr.think_time 1

    ' End the overlapping sub transaction
    lr.end_sub_transaction "FirstT_OverLap_Child1And2",lr.AUTO

    ' Pause between scripts
    lr.think_time 1.75
    lr.end_sub_transaction "FirstT_Child2",lr.AUTO
    lr.end_sub_transaction "FirstT",lr.AUTO

    ' Start a second sub transaction
    lr.start_sub_transaction "SecondT", "Master"

    ' Pause between scripts
    lr.think_time 2
    lr.end_sub_transaction "SecondT",lr.AUTO
    lr.end_transaction "Master", lr.AUTO

    Example:  Output:
    Notify: Transaction Master started.
    Notify: Transaction FirstT started.
    Notify: Transaction FirstT_Child1 started.
    lr_think_time: 1.50 seconds.
    Notify: Transaction FirstT_OverLap_Child1And2 started.
    lr_think_time: 0.50 seconds.
    Notify: Transaction FirstT_Child1 ended with Pass status (Duration: 2.0029 Think Time: 2.0029).
    Notify: Transaction FirstT_Child2 started.
    lr_think_time: 1.00 seconds.
    Notify: Transaction FirstT_OverLap_Child1And2 ended with Pass status (Duration: 1.5022 Think Time: 1.5022).
    lr_think_time: 1.75 seconds.
    Notify: Transaction FirstT_Child2 ended with Pass status (Duration: 2.7540 Think Time: 2.7540).
    Notify: Transaction FirstT ended with Pass status (Duration: 4.7669 Think Time: 4.7568).
    Notify: Transaction SecondT started.
    lr_think_time: 2.00 seconds.
    Notify: Transaction SecondT ended with Pass status (Duration: 2.0029 Think Time: 2.0029).
    Notify: Transaction Master ended with Pass status (Duration: 6.7797 Think Time: 6.7597).

Tips to improve your search results... VuGen Function Reference Version 25.1-25.3 Function Reference 25.1-25.3 All View Local Help Center View Online Help Center Version: