Perfscale news #12. WASM-библиотеки, SDK для авторов и «живые» логи

—

от автора

Всех категорически приветствую, любители нагрузки. Прошлый выпуск был про токены и SQID, а сегодня у нас целая неделя WASMа. Погнали!

прошлые выпуски

OSS

WASM-библиотеки (RFC 005)

Самое большое, что случилось с движком за последнее время — поддержка библиотек. Идея простая: пользователь должен мочь написать свою функцию-генератор значений (типа random, но свой), а движок её подгрузит и выполнит. Да, мы потеряем в «скорости», но ждите следующей недели, там будет интересно!

Вышло это в три захода, как положено:

• v0.20.0 — нативная библиотека @std/random и единообразное раскрытие ${…} теперь во всех экшенах, а не где попало.

• v0.21.0 — WASM-библиотеки: загрузчик на wasmtime, capabilities (что библиотеке можно), локальные пути.

• v0.22.0 — perfscale install и perfscale.lock: ссылки на удалённые библиотеки, офлайн-резолюция через кеш. Как положено взрослым пакетным менеджерам.

Заодно lint научился ругаться на относительные пути библиотек правильно — привязывает их к объявляющему файлу, как run.

Как этим пользоваться

Чтобы авторы не страдали, завезли инфраструктуру:

— @perfscale/library-sdk в npm — TypeScript SDK для написания WASM-библиотек. library-template — минимальный шаблон, склонировал и погнал. library-random — наш собственный порт @std/random на WASM, с e2e тестами и релизным CI. Можно смотреть как на референс.

Документацию тоже обновили, страница «Libraries» уже ждёт.

Platform

Живые логи через WebSocket

Помните, в #11 мы рассказывали про stdout-стриминг в OSS? Так вот платформа тоже не отстала: теперь логи задач стримятся в реальном времени по WebSocket — открыл задачу и смотришь, как она «дышит», без рефреша.

Q: А старый SSE куда делся?

A: Никуда, но теперь для задач есть полноценный ws-транспорт, а для нереализованных способов доставки (poll) мы честно говорим об этом, а не молчим.

Заодно кросс-репликовое состояние BFF переехало в Redis — теперь неважно, на какую реплику вас закинул балансировщик, ваш стрим не потеряется.

И… это не все изменения, но самые большие и значимые в рамках проекта. А на этом у меня сегодня все.

Традиционно желаю вам WASMа без segfaultов и SLO в 99,999%.

Список полезных ссылок

ссылка на оригинал статьи https://habr.com/ru/articles/1086894/