Во время удаленного тестирования отправляйте активные потоки jmeter в реальном времени на все ведомые устройства через infxdb через список рассылки jsr223 - PullRequest
0 голосов
/ 27 апреля 2020

Как посылать активные потоки jmeter в реальном времени на всех ведомых устройствах во время удаленного тестирования на effxdb через jsr223 listner

1 Ответ

0 голосов
/ 27 апреля 2020

Есть ли причина не использовать Backend Listener JMeter ? Таким образом, вы получите гораздо больше данных, не прибегая к реализации собственных решений, у вас будет количество активных потоков наряду с другими показателями , нанесенными на график:

enter image description here


Если вы все еще хотите, чтобы пример Groovy кода для прослушивателя JSR223 добавил вашу пользовательскую метрику c с пользовательскими тегами в пользовательскую базу данных, вот пример, который вы можете использовать в качестве основы. :

def influxHost = '192.168.99.100'
def influxPort = '8086'
def database = 'mydb'

def ip = org.apache.jmeter.util.JMeterUtils.getLocalHostIP()
def hostname = org.apache.jmeter.util.JMeterUtils.getLocalHostName()
def activeThreads = ctx.getThreadGroup().numberOfActiveThreads()

def client = org.apache.http.impl.client.HttpClientBuilder.create().build()
def post = new org.apache.http.client.methods.HttpPost('http://' + influxHost + ':' + influxPort + '/write?db=' + database)
def entity = new org.apache.http.entity.StringEntity('active_threads,host=' + hostname + ',ip=' + ip + ' value=' + activeThreads + ' ' + System.nanoTime())
post.setEntity(entity)
client.execute(post)

Дополнительная информация: Запись данных с использованием API InfluxDB

...