Class TransactionData

  • All Implemented Interfaces:
    Data

    public class TransactionData
    extends TimerData

    The TransactionData class holds any data measured for a transaction. Typically, a transaction spans exactly one execution of a certain test case, which itself comprises one or more actions.

    The values stored include not only the transaction's start and run time, but also an indicator whether or not the transaction was executed successfully and, if it has failed, what was the cause. Data gathered for the same type of transaction may be correlated via the name attribute.

    Note that TransactionData objects have a "T" as their type code.

    See Also:
    ActionData, RequestData, CustomData, EventData
    • Constructor Detail

      • TransactionData

        public TransactionData()
        Creates a new TransactionData object.
      • TransactionData

        public TransactionData​(java.lang.String name)
        Creates a new TransactionData object and gives it the specified name. Furthermore, the time attribute is set to the current time.
        Parameters:
        name - the transaction name
    • Method Detail

      • getDirectoryName

        public java.lang.String getDirectoryName()
        Returns the name of the directory where the result browser for this transaction is stored.
        Returns:
        the directory name
      • setDirectoryName

        public void setDirectoryName​(java.lang.String directoryName)
        Sets the name of the directory where the result browser for this transaction is stored.
        Parameters:
        directoryName - the directory name
      • getTestUserNumber

        public java.lang.String getTestUserNumber()
        Returns the number (or index, [0..N]) of the test user that produced this transaction data.
        Returns:
        the test user number as a string
      • setTestUserNumber

        public void setTestUserNumber​(java.lang.String testUserNumber)
        Sets the number (or index, [0..N]) of the test user that produced this transaction data.
        Parameters:
        testUserNumber - the test user number as a string
      • getFailedActionName

        public java.lang.String getFailedActionName()
        Returns the name of the action that caused the transaction to fail. Will be empty if the transaction was successful or the transaction failed outside of an action.
        Returns:
        the action name
      • setFailedActionName

        public void setFailedActionName​(java.lang.String actionName)
        Sets the name of the action that caused the transaction to fail.
        Parameters:
        actionName - the action name
      • getDumpDirectoryPath

        public java.lang.String getDumpDirectoryPath()
        Returns the path to the directory where dumped pages can be found if this transaction failed. The path is meant to be relative to the results directory of the respective load test. Typically, it looks like "ac1/TAuthor/1/output/1216803080255".
        Returns:
        the dump directory path, or null if this transaction did not fail or no directory information was available
      • getFailureMessage

        public java.lang.String getFailureMessage()
        Returns the message of the throwable that caused this transaction to fail.
        Returns:
        the message (may be null)
      • getFailureStackTrace

        public java.lang.String getFailureStackTrace()
        Returns the stack trace of the throwable that caused this transaction to fail.
        Returns:
        the trace (may be null)
      • setFailureStackTrace

        public void setFailureStackTrace​(java.lang.String trace)
        Sets the stack trace of the throwable that caused this transaction to fail.
        Parameters:
        trace - the trace
      • setFailureStackTrace

        public void setFailureStackTrace​(java.lang.Throwable throwable)
        Sets the stack trace attribute retrieved from the given throwable.
        Parameters:
        throwable - the throwable
      • toList

        public java.util.List<java.lang.String> toList()
        Called by XLT during a load test to return the full state of the object as a list of strings. The first three entries have to be, in this order, the type code, the name, and the timestamp. All remaining entries and their order are specific to the concrete implementation class.

        Override this method in sub classes by calling the super method and adding custom values to the list it returns.

        Specified by:
        toList in interface Data
        Overrides:
        toList in class TimerData
        Returns:
        the list of values that form the state of this object
        See Also:
        Data.setBaseValues(List), Data.setRemainingValues(List)
      • setRemainingValues

        public void setRemainingValues​(java.util.List<XltCharBuffer> values)
        Called by XLT during report creation to recreate the remaining object state from the passed string list. The base values have already been initialized by calling Data.setBaseValues(List) with the same list of values. Splitting the process of recreating the full object state into two methods is purely for performance reasons as the second step is not always needed.
        Specified by:
        setRemainingValues in interface Data
        Overrides:
        setRemainingValues in class TimerData
        Parameters:
        values - the string list to recreate the object state from
        See Also:
        Data.setBaseValues(List), Data.toList()