# Package org.apache.jmeter.control

- Interface Summary
  Interface | Description
  --- | ---
  Controller | This interface is used by JMeterThread in the following manner: `while (running && (sampler = controller.next()) !`
  ReplaceableController | This interface represents a controller that gets replaced during the compilation phase of test execution in an arbitrary way.

- Class Summary
  Class | Description
  --- | ---
  CriticalSectionController | This is a Critical Section Controller; it will execute the set of statements (samplers/controllers, etc) under named lock.
  ForeachController | ForeachController that iterates over a list of variables named XXXX_NN stored in `JMeterVariables` where NN is a number starting from 1 to number of occurrences.
  GenericController | This class is the basis for all the controllers.
  IfController | This is a Conditional Controller; it will execute the set of statements (samplers/controllers, etc) while the 'condition' is true.
  IncludeController |
  InterleaveControl | Alternate among each of the children controllers or samplers for each loop iteration
  LoopController | Class that implements the Loop Controller, ie iterate infinitely or a configured number of times
  ModuleController | The goal of ModuleController is to add modularity to JMeter.
  OnceOnlyController | Controller to run its children once per cycle.
  RandomController | Controller that rans randomly one of it's children on each iteration
  RandomOrderController | A controller that runs its children each at most once, but in a random order.
  RunTime | Runtime Controller that runs its children until configured Runtime(s) is exceeded
  SwitchController | Implements a controller which selects at most one of its children based on the condition value, which may be a number or a string.
  TestFragmentController |
  ThroughputController | This class represents a controller that can control the number of times that it is executed, either by the total number of times the user wants the controller executed (BYNUMBER) or by the percentage of time it is called (BYPERCENT) The current implementation executes the first N samples (BYNUMBER) or the last N% of samples (BYPERCENT).
  TransactionController | Transaction Controller to measure transaction times There are two different modes for the controller: - generate additional total sample after nested samples (as in JMeter 2.2) - generate parent sampler containing the nested samples
  TransactionSampler | Transaction Sampler class to measure transaction times (not exposed as a GUI class, as it is only used internally by TransactionController in Generate Parent sample mode)
  WhileController |

- Exception Summary
  Exception | Description
  --- | ---
  NextIsNullException | Used by the Generic and Interleave controllers to signal the end of their samples

Copyright © 1998-2018 Apache Software Foundation. All Rights Reserved.