Raju
Raju

Reputation: 767

Jmeter Current Thread Number?

I am using a Thread Group with Number Of Threads = 5 with an HTTP request.

In the request I want to include a parameter with the value of the thread number, e.g.,

"pageno": ${threadno}

I want to get the thread number like ${threadno}.

How can I do that?

Upvotes: 47

Views: 77123

Answers (4)

abbas
abbas

Reputation: 7071

For those looking for the number of active threads in the entire test plan, not just a particular ThreadGroup.

${__groovy(org.apache.jmeter.threads.JMeterContextService.getNumberOfThreads())}

Upvotes: 4

user3609244
user3609244

Reputation: 439

While the above-mentioned ${__threadNum} will work in many places within jMeter, you'll need to use something else where it is not allowed, e.g., script elements within Pre/Post-Processors.

This answer explains how to get thread number or count within such a script in jMeter.

To get the number of the current thread (out of 5 in your case) use ctx.getThreadNum() which will get the number of the thread.

To get the total number of threads being used by jMeter you can use ctx.getThreadGroup().getNumThreads() or ctx.getThreadGroup().getNumberOfThreads() for total active threads.

https://jmeter.apache.org/api/org/apache/jmeter/threads/JMeterContext.html#getThreadNum() https://jmeter.apache.org/api/org/apache/jmeter/threads/AbstractThreadGroup.html

Upvotes: 43

Andrey Pokhilko
Andrey Pokhilko

Reputation: 2658

The thread number is available as:

${__threadNum}

See: functions reference

Upvotes: 88

user2561227
user2561227

Reputation: 21

${__threadNum} does not work well alone.

You will need use ${__eval(${__threadNum})}. Try to use this:

int threadNum=ctx.getThreadGroup().getNumThreads(); 

ctx is from JmeterContext

Upvotes: -2

Related Questions