2013-10-24 5 views
1

Я хотел бы взять некоторые показатели приложения PHP под загрузкой. Для этого я создаю много запросов на моем веб-сайте. В webapp я собираю метрики (время выполнения, время ожидания API и т. Д.), Которые возвращаются в ответ через заголовки FirePHP. В плане JMeter я хотел бы получить эти данные и либо напрямую обработать их, чтобы создать граф, либо сохранить их в файле журнала.Извлечение заголовков FirePHP с помощью JMeter

Заголовки ответа выглядит следующим образом:

... 
X-Wf-1-1-1-31: 610|[{"Type":"LOG","File":"somescript.php","Line":7},{"duration":"1.7108917236328 ms","notes":{"invokation":["Solr_Connector::exec","somescript2.php line : 42"],"size_download":"2167 bytes","query":"...url data ..."},"name":"[tag1][tag2]SOLR REQUEST 1382626844.906"}]| 
X-Wf-1-1-1-32: 611|[{"Type":"LOG","File":"somescript.php","Line":7},{"duration":"1.7011165618896 ms","notes":{"invokation":["Solr_Connector::exec","somescript2.php line : 42"],"size_download":"2590 bytes","query":"...url data ..."},"name":"[tag1][tag3]SOLR REQUEST 1382626844.9079"}]| 
X-Wf-1-1-1-33: 611|[{"Type":"LOG","File":"somescript.php","Line":7},{"duration":"1.5978813171387 ms","notes":{"invokation":["Solr_Connector::exec","somescript2.php line : 42"],"size_download":"2452 bytes","query":"...url data ..."},"name":"[tag1][tag3]SOLR REQUEST 1382626844.9097"}]| 
X-Wf-1-1-1-34: 610|[{"Type":"LOG","File":"somescript.php","Line":7},{"duration":"1.662015914917 ms","notes":{"invokation":["Solr_Connector::exec","somescript2.php line : 42"],"size_download":"3150 bytes","query":"...url data ..."},"name":"[tag1][tag2]SOLR REQUEST 1382626844.9115"}]| 
... 

Как я могу настроить JMeter регулярное выражение экстрактор для извлечения всех значений заголовка, чьи имена начинаются с «X-Wf-»?

ответ

1

Я понимаю заголовки ответа будет:

заголовки отклика:

HTTP/1.1 200 OK

Сервер: Apache-Coyote/1,1

X-ВФ-1- 1-1-31: 610 | [{«Тип»: «LOG», «Файл»: «somescript.php», «Линия»: 7}, {«duration»: «1.7108917236328 ms», «notes»: { «invokation»: [«Solr_Connector :: exec», «somescript2.php line: 42»], «size_download»: «2167 bytes», «query»: «... url data ...»}, «name ":" [tag1] [tag2] SOLR REQUEST 1382626844.906 "}] |

X-Wf-1-1-1-32: 611 | [{«Тип»: «LOG», «Файл»: «somescript.php», «Line»: 7}, {«duration»: "1.7011165618896 ms", "notes": {"invokation": ["Solr_Connector :: exec", "somescript2.php line: 42"], "size_download": "2590 bytes", "query": "... url данные ... "}," имя ":" [tag1] [tag3] SOLR ЗАПРОС 1382626844.9079" }]

...

организовать план тестирования таким образом: Test Plan overview

  • Regextra т е р извлечет заголовки переменных, называемых headers_1, headers_2 ...

RegExtractor configuration

  • для каждого контроллера будет итератора над headers_i и выставить переменную заголовка

ForEach Controller configuration

  • JSR223 Sampler, использующий Groovy, будет писать заголовок (выставленный для EveryController), чтобы файл

JSR223 Sampler

Код:

импорт org.apache.commons.io.FileUtils;

FileUtils.write (новый файл ("/ results.CSV "), вары [" заголовок "] +" \ г \ п», "UTF-8", правда);

PS: Не уверен, что это хорошая идея, чтобы изменить ответ поставить этот вид информации так как это будет мешать исполнению первоначального применения.

+0

Спасибо за решение! –

+0

Если у вас все в порядке, вы должны принять его и перенести, чтобы пользователи знали, что он один, и вознаградить нас ;-) –

+0

Еще раз спасибо Я смог получить заголовки с JSR223 и Java (используя String header = vars.get («header»);). Теперь мне нужно разобрать строки для получения данных. Я отправлю код здесь, как только я его заработаю правильно –

Смежные вопросы