Package org.apache.jmeter.threads

# Class JMeterContextService

java.lang.Object
org.apache.jmeter.threads.JMeterContextService

public final class JMeterContextService extends Object
Provides context service for JMeter threads. Keeps track of active and total thread counts.

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Class
  Description
  `static class`
  `JMeterContextService.ThreadCounts`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static void`
  `addTotalThreads(int thisGroup)`
  Update the total number of threads
  `static void`
  `clearTotalThreads()`
  Set total threads to zero; also clears started and finished counts
  `static void`
  `endTest()`
  Called by MainFrame#testEnded().
  `static JMeterVariables`
  `getClientSideVariables()`
  Get all variables accessible for JMeter client in a distributed test (only test plan and user defined variables) Note this is a read-only collection
  `static JMeterContext`
  `getContext()`
  Gives access to the current thread context.
  `static int`
  `getNumberOfThreads()`
  Get the number of currently active threads
  `static long`
  `getTestStartTime()`
  `static JMeterContextService.ThreadCounts`
  `getThreadCounts()`
  `static int`
  `getTotalThreads()`
  Get the total number of threads (>= active)
  `static void`
  `initClientSideVariables(JMeterVariables clientSideVariables)`
  Set variables for JMeter client in a distributed test (INTERNAL API)
  `static void`
  `replaceContext(JMeterContext context)`
  Replace Thread Context by the parameter.
  `static void`
  `resetClientSideVariables()`
  Reset client side variables in a distributed mode
  `static void`
  `startTest()`
  Method is called by the JMeterEngine class when a test run is started.

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Method Details

  - ### getContext

    public static JMeterContext getContext()
    Gives access to the current thread context.
    Returns:
      the current thread Context

  - ### replaceContext

    public static void replaceContext(JMeterContext context)
    Replace Thread Context by the parameter.
    Parameters:
      `context` - `JMeterContext`

  - ### startTest

    public static void startTest()
    Method is called by the JMeterEngine class when a test run is started. Zeroes numberOfActiveThreads. Saves current time in a field and in the JMeter property "TESTSTART.MS"

  - ### getNumberOfThreads

    public static int getNumberOfThreads()
    Get the number of currently active threads
    Returns:
      active thread count

  - ### getThreadCounts

    public static JMeterContextService.ThreadCounts getThreadCounts()

  - ### endTest

    public static void endTest()
    Called by MainFrame#testEnded(). Clears start time field.

  - ### getTestStartTime

    public static long getTestStartTime()

  - ### getTotalThreads

    public static int getTotalThreads()
    Get the total number of threads (>= active)
    Returns:
      total thread count

  - ### addTotalThreads

    public static void addTotalThreads(int thisGroup)
    Update the total number of threads
    Parameters:
      `thisGroup` - number of threads in this thread group

  - ### clearTotalThreads

    public static void clearTotalThreads()
    Set total threads to zero; also clears started and finished counts

  - ### getClientSideVariables

    public static JMeterVariables getClientSideVariables()
    Get all variables accessible for JMeter client in a distributed test (only test plan and user defined variables) Note this is a read-only collection
    Returns:
      `JMeterVariables` available for JMeter client

  - ### initClientSideVariables

    public static void initClientSideVariables(JMeterVariables clientSideVariables)
    Set variables for JMeter client in a distributed test (INTERNAL API)
    Parameters:
      `clientSideVariables` - `JMeterVariables`

  - ### resetClientSideVariables

    public static void resetClientSideVariables()
    Reset client side variables in a distributed mode