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:
  • Constructor Details

    • TransactionData

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

      public TransactionData(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 Details

    • getDirectoryName

      public 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(String directoryName)
      Sets the name of the directory where the result browser for this transaction is stored.
      Parameters:
      directoryName - the directory name
    • getTestUserNumber

      public 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(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 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(String actionName)
      Sets the name of the action that caused the transaction to fail.
      Parameters:
      actionName - the action name
    • getDumpDirectoryPath

      public 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 String getFailureMessage()
      Returns the message of the throwable that caused this transaction to fail.
      Returns:
      the message (may be null)
    • getFailureStackTrace

      public 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(String trace)
      Sets the stack trace of the throwable that caused this transaction to fail.
      Parameters:
      trace - the trace
    • setFailureStackTrace

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

      public List<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:
    • setRemainingValues

      public void setRemainingValues(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: