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