Есть groovy код, который получает определенное значение параметра тестируемого приложения. Как это визуализировать в jmeter? Нужно построить график этого параметра во времени. Я что то начал смотреть на jsr223 listner, но совершенно не могу понять как его применить. Может быть есть у кого то ссылочка?
он куда получает эти данные? может, записывать их в файл? csv какой-нить, а потом в экселе стройте себе любые графики.
Для этого используется JSR223 Sampler.
Код примерно такой:
def message = new XmlParser().parseText(ReceivedMessage)
String id = message.received.@id[0].toString()
log.debug("Received id: $id")
def ids = id.split('_')
long start = ids[2] as long
long end = System.currentTimeMillis()
SampleResult.startTime = start
// log.info("Calculated time: ${(end-start)}")
// log.info("Sample Time: ${SampleResult.time}")
SampleResult.setResponseMessage("Fake response message!!! Calculated time: ${(end-start)}")
SampleResult.label = 'Real message response'
Если в кратце, то возвращается в SampleResult. И имя JSR223 Sampler будет потом видно в отчёте.
никуда не пишется. Мне не совсем понятно что с этим значением вообще делать. Предположим, у меня есть набор потоков, которые обеспечивают нагрузку. Параллельно я хочу запустить поток, который будет с помощью скрипта получать нужные данные с сервера. Но я не пойму как мне оформить этот скрипт, что бы эти данные потом можно было бы посмотреть в виде графика. Вариант с экселем мне не нравится. Он какой то очень офлайновый. Желательно было бы сделать это средствами jmeter.
Что-то я не понял. О каких данных с сервера мы тогда говорим? CPU, память? Всё это обеспечивается через jmeter. Время ответа как раз измеряете скриптом, которым грузите. Я например, писал этот код, потому что общение с сервером происходит в асинхронном режиме через очереди и я не мог связать запрос-ответ напрямую во время выполнения запроса.
Нет. Это глубина очередей тестируемого приложения. Получить ее средствами jmeter нельзя.
Тогда, то что я написал ваш вариант. Вытаскиваете вашу глубину очереди и публикуете как метрику.
выгружаешь эти данные в файл и обрабатываешь например в pandas и отображаешь в plotly