Perfscale добавил Report API и опциональные pro-модули
В агенте Perfscale появилась секция reporters для выгрузки результатов прогонов в JUnit, HTML и JSON, а также отдельные сборки агента под pro-модули.
01Что случилось
Репортеры читают единую модель report@v1: идентификатор прогона, агрегаты по шагам, thresholds и сырые сэмплы. В JUnit каждое выражение из thresholds становится отдельным test case, HTML-отчет собирается в один файл без CDN и внешних шрифтов, JSON-репортер умеет отправлять отчет по HTTP с подстановкой переменных ${VAR} в заголовках. Свои репортеры можно писать как WASM-компоненты: в TypeScript SDK появились defineReporter и сборка --kind reporter, скомпилированный модуль кэшируется, а команда perfscale install прогревает кэш заранее.
В std/pubsub@v1 добавлены параметры scope: vu (одно соединение на VU на весь прогон) и flush: none (публикация без ожидания подтверждения брокера), а также метрики pubsub_publish_ms, pubsub_errors и pubsub_connect_ms. Для std/db-* появились scope: vu для db-connect, prepared: true для prepared statements и store_rows: false.
Для каждого pro-модуля теперь собирается отдельный вариант агента, все варианты перечислены в манифесте variants.json. Нужный модуль ставится через self-update агента на странице машины в админке.
02Почему это важно
Разработчики и CI-системы получают отчеты в готовых форматах без скриптов поверх JSON, а раздельные сборки агента избавляют от лишних модулей в бинарнике для тех, кто запускает не все виды тестов.
03Что дальше
Релиз агента 0.6.0 собран, но еще не опубликован из-за исчерпанных минут GitHub Actions; автор рассматривает перенос выполнения на собственный раннер.
Источники
- Хабр Новости habr.com