2011-06-23 24 views
18

Estoy usando un grupo de subprocesos con número de subprocesos = 5 con una solicitud HTTP.¿Número de hilo actual de Jmeter?

En la solicitud quiero incluir un parámetro con el valor del número de hilo, por ejemplo,

"pageno": ${threadno} 

quiero conseguir el número del hilo como ${threadno}.

¿Cómo puedo hacer eso?

Respuesta

-2

${__threadNum} no funciona bien solo.

Necesitarás usar $ {__ eval ($ {__ threadNum})}. Trate de usar esto:

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

CTX es de JmeterContext

+3

¿Por qué necesitaría a eval un número? '__threadNum' como está documentado funciona bien. Además, el número de subprocesos no es el mismo que el número de subproceso actual. –

13

Mientras que la mencionada ${__threadNum} trabajará en muchos lugares dentro de jMeter, tendrá que usar otra cosa en la que no se permite, por ejemplo, , elementos de script dentro de Pre/Post-Processors.

Esta respuesta explica cómo obtener el número de hilo o el recuento dentro de dicho script en jMeter.

Para obtener el número del hilo actual (de 5 en su caso) utilice ctx.getThreadNum() que obtendrá el número del hilo.

Para obtener el número total de subprocesos que utiliza jMeter, puede usar ctx.getThreadGroup().getNumThreads() o ctx.getThreadGroup().getNumberOfThreads() para el total de subprocesos activos.

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

+0

¿Hay una buena razón para no usar la función '$ {__ threadNum}' documentada? –

+0

Sí: hay al menos dos espacios: a) los cuadros de entrada de las formas de la GUI dentro de los elementos de jMeter: allí el '$ {__ threadNum}' es suficiente, sí. Pero b) también está el área de scripting, principalmente JSR223/groovy: allí se necesita el enfoque programático 'ctx.getThreadNum()'. En lugar de las "variables" precortadas, programáticamente, uno obtiene poder para hacer casi lo que sea. – Franta

Cuestiones relacionadas