Как показать результаты теста производительности на Jenkins
Мы создали среду для тестирования производительности нашего Java-приложения (ни одна из существующих фреймворков, например JMeter, не была подходящей). Структура создает различные метрики, например. среднее/мин/макс. транзакций в секунду.
Мы хотели бы, чтобы каждая сборка Jenkins отображала эти показатели, чтобы мы могли отслеживать, улучшила ли производительность фиксацию или нет.
Я не могу понять, как это сделать.
Одна из идей состоит в том, чтобы изменить нашу платформу тестирования производительности для вывода HTML файла, а затем каким-то образом отобразить/подключить Jenkins к ней на странице результатов сборки.
Любые советы с благодарностью получили.
Ответы
Ответ 1
Я согласен с тем, что трудно (если не невозможно) сжать всю информацию в стандартные форматы, такие как JUnit. Они хороши для быстрого выявления проблем. Как только вы знаете, что есть проблема - вам нужна дополнительная информация, которая обычно является свободной формой или настраивается в соответствии с вашими конкретными потребностями. Таким образом, мы используем оба: JUnit, которые могут быть немедленно обработаны Дженкинсом, чтобы решить, стабильна или нет построение, нарисовать хороший график тренда и т.д. Мы также приводим более подробный отчет HTML.
Теперь к вашему непосредственному вопросу: вы можете просто архивировать свой HTML файл в качестве артефакта (для этого есть стандартный шаг после сборки). Затем между артефактами сборки будет отображаться ссылка на нее. Есть постоянные ссылки на последние артефакты и последние успешные артефакты сборки:
http://[server]/job/[job_name]/lastCompletedBuild/artifact/foo.html
http://[server]/job/[job_name]/lastSuccessfulBuild/artifact/foo.html
Вы можете пометить эти ссылки и получить быстрый и простой доступ к вашим результатам одним нажатием.
Ответ 2
Плагин формации может показывать результаты тестов JMeter и JUnit красивым графическим способом. На странице плагина есть описание того, как его использовать.
Это плагин с открытым исходным кодом, размещенный на GitHub. Парсер JUnit и JMeter уже существует, но вы можете реализовать свой собственный, просто подклассифицируя PerformanceReportParser
. Это довольно легко, и вы можете просто разблокировать репо и начать свою реализацию.
Ответ 3
Вы можете использовать HTML Publisher Plugin, чтобы опубликовать полученную HTML-страницу. Это было бы довольно просто.
Если вы хотите улучшить интеграцию, вы можете попытаться создать вывод, который следует за тем же форматом, который создает JMeter, и использовать плагин производительности.
Для достижения наилучшего результата вы можете взять консультацию Łukasz и изменить плагин производительности в соответствии с вашими потребностями. Конечно, это требует больших усилий с вашей стороны.