
Итак, оставляю прошлые недели для истории:
-
perfscale news #1. Perfscale OSS, QUERY method
-
perfscale news #2. Fix Protocol, Magic metrics и MCP
Эта неделя открывает супер фичи, начем с OSS части:
perfscale теперь версии 0.6 (github) — и сделано много чего. Начнем с …
NPM
С недавнего времени начал публиковать бинарники не только на github, но и на NPM. Так что теперь perfscale можно просто установить через команду
npm i -g @perfscale/exe
Кстати, команда self-update учитывает тот факт, что бинарник был установлен через npm, и в случае нового релиза вы будете оповещены, что именно на npm вышла новая версия, что , как мне кажется, очень удобно. А еще через NPM поставляется только OSS версия. Приватный агент находится на серверах perfscale.
Websocket
поддержка Websocket. на websocket и мы на шаг ближе к универсальному комбаину для любых видов нагрузочных тестов. (А впереди еще и gRPC, WebRTC и дургое… )
Простой тест выглядит так
steps: - uses: std/ws@v1 with: url: wss://stream.example.com/feed messages: - send: '{"op":"subscribe","channel":"trades","id":"sub-${seq}"}' until_json: { type: trade } check: message_matches: { type: trade }
А также, если вам надо уметь управлять порядком вызовов(а не просто подключится -> отправить -> закрыть соединение) то в секции concepts можно найти вот такие шаги
std/ws-connect@v1 — Откывает коннект
std/ws-send@v1 — Отправляет данные
std/ws-recv@v1 — Читает сообщения пока не наткнется до stopping rule: until_contains (substring), until_json (JSON-subset match), or или просто кол-во. Если не дождались -> ошибка выполнения
std/ws-ping@v1 — обычный ping→pong
std/ws-close@v1 — закрытие сокета.
Т.е. вы можете полностью управлять жизненным циклом, от подключения, до закрытия. Это крайне удобно как по мне.
А еще пришлось разработать свои метрики поверх сокета, такие как
-
ws_msg_rtt — application-level message RTT: time from a send to the first reply matching your until-rule. Shown on the test dashboard with p50 / p95 / max.
-
ws_msgs_sent / ws_msgs_received — message throughput rates.
Плюс, в прошлой части я писал по поводу magic variables, такие как seq, choice, now и т. д. Так вот эти переменные теперь часть OSS движка. Я готов с этим мирится, поскольку в платной версии perfscale будет…(потом узнаете, что будет, не хочу вам спойлерить)
Inference
Однажды я уже показывал в чате то, как выглядит AI чат. А работает это просто. Из-за того, что я написал MCP (а для controlplane у меня больше настроект. можете почитать прошлый выпуск, который с MCP). то получается супер комбаин, который позволяет смотреть прогон, находить логи, писать тесты, настраивать конфигурации не выходя из чата а также подключать другие MCP, например Grafana, Rootly, ELK и прочие
Подключение AI. на фото выделен функционал по подключению сторонних MCP
Использование Harness агента для получения информации о прогоне. Можно также попросить написать тест, дать сводку за период и прочее
Далее уже после настройки(не забываем настроить основной AI провайдер, чтобы чат работал, в примере используется openrouter) можно открыть AI чат.
А если у вас еще и другие MCP подключены, то будьте уверены, что и туда сходит если это надо. У нас на проекте например работает еще и связка для grafana и агент умеет сопоставлять данные из разных источников и выдавать агрегированный результат, да еще и говорит, где проблема: в тесте или в коде и как решить. Так что связка я считаю удачной.
На сегодня все. Желаю вам хорошего в нагрузке и стабильного окружения!
Источник: habr.com