Interface LoadTest<T>

Type Parameters:
T - the type of application used by this load test.

public interface LoadTest<T>
Specifies a class for running multiple application instances for load testing purposes.
  • Field Details

    • DEFAULT_MINIMUM_THINKTIME

      static final int DEFAULT_MINIMUM_THINKTIME
      See Also:
    • DEFAULT_MAXIMUM_THINKTIME

      static final int DEFAULT_MAXIMUM_THINKTIME
      See Also:
    • DEFAULT_LOGIN_DELAY_FACTOR

      static final int DEFAULT_LOGIN_DELAY_FACTOR
      See Also:
    • DEFAULT_APPLICATION_BATCH_SIZE

      static final int DEFAULT_APPLICATION_BATCH_SIZE
      See Also:
  • Method Details

    • shutdown

      void shutdown()
      Removes all applications and exits
    • stop

      void stop(LoadTest.ApplicationRunner applicationRunner)
      Parameters:
      applicationRunner - the application runner to stop
    • user

      Value<User> user()
      Returns:
      the user to use when initializing new application instances
    • name

      Optional<String> name()
      Returns:
      the load test name, or an empty Optional if none is available
    • setWeight

      void setWeight(String scenarioName, int weight)
      Sets the random chooser weight for the given scenario
      Parameters:
      scenarioName - the name of the scenario
      weight - the new weight to assign to the scenario
    • isScenarioEnabled

      boolean isScenarioEnabled(String scenarioName)
      Parameters:
      scenarioName - the scenario name
      Returns:
      true if the scenario is enabled
    • setScenarioEnabled

      void setScenarioEnabled(String scenarioName, boolean enabled)
      Parameters:
      scenarioName - the scenario name
      enabled - true if the scenario should be enabled
    • scenarios

      Returns:
      the usage scenarios used by this load test.
    • scenario

      LoadTest.Scenario<T> scenario(String scenarioName)
      Parameters:
      scenarioName - the scenario name
      Returns:
      the usage scenario
    • resultEvent

      Returns:
      an observer notified each time a run result is produced
    • addShutdownListener

      void addShutdownListener(Runnable listener)
      Parameters:
      listener - a listener notified when this load test model has been shutdown.
    • applicationBatchSize

      Value<Integer> applicationBatchSize()
      Returns:
      the Value controlling the number of applications to initialize per batch
    • paused

      State paused()
      Returns:
      the state controlling the paused state of this load test
    • maximumThinkTime

      Value<Integer> maximumThinkTime()
      Returns:
      the Value controlling the maximum number of milliseconds that should pass between work requests
    • minimumThinkTime

      Value<Integer> minimumThinkTime()
      Returns:
      the Value controlling the minimum number of milliseconds that should pass between work requests
    • loginDelayFactor

      Value<Integer> loginDelayFactor()
      This value controls the factor with which to multiply the think time when logging in, this helps spread the application logins when creating a batch of application.
      Returns:
      the Value controlling the factor with which to multiply the think time when logging in
    • applications

      Returns:
      the applications
    • applicationCount

      ValueObserver<Integer> applicationCount()
      Returns:
      an observer notified each time the application count changes
    • addApplicationBatch

      void addApplicationBatch()
      Adds a batch of applications.
      See Also:
    • removeApplicationBatch

      void removeApplicationBatch()
      Removes one batch of applications.
      See Also:
    • scenarioChooser

      ItemRandomizer<LoadTest.Scenario<T>> scenarioChooser()
      Returns:
      the randomizer used to select scenarios
    • builder

      static <T> LoadTest.Builder<T> builder(Function<User,T> applicationFactory, Consumer<T> closeApplication)
      Type Parameters:
      T - the application type
      Parameters:
      applicationFactory - the application factory
      closeApplication - closes an application
      Returns:
      a new builder