Время от времени особенно интересный релиз или проект представляется на более крупной конференции при нулевой маркетинговой поддержке или со стороны больших корпоративных команд. На KubeCon + CloudNativeCon Элизабет Гилберт, докторант Университета Карнеги-Меллон, описала проект под названием Whamm, который действительно может работать «из коробки» с помощью одной строчки кода. Он не заменяет, не совершенствует и не улучшает существующие инструменты и процессы, но фактически может делать вещи, которые раньше не существовали должным образом.
Гилберт отлично справилась с описанием созданного ею проекта и собрала значительное количество загрузок и разветвлений после своего вышеупомянутого выступления «Whamm: A Framework for Performance, Sandboxed Instrumentation» на совместном мероприятии WasmCon, организованном CNCF KubeCon и CloudNativeCon.
Whamm предназначен для того, чтобы пользователи могли оснащать свои приложения WebAssembly или Wasm языком программирования или кодом или программировать свои приложения WebAssembly напрямую в модулях. С его помощью они могут отлаживать, отслеживать и т. д. свои приложения внутри модулей WebAssembly.
Whamm возглавлял доктор философии Карнеги-Меллона. Кандидат Элизабет Гилберт во время своего выступления на #WasmCon перед #KubeCon NA сегодня. Эта инструментальная среда для WebAssembly должна вызвать интерес и поддержку наблюдаемости Wasm. @linuxfoundation pic.twitter.com/MZBFkfjsFu
— BC Gain (@bcamerongain), 11 ноября 2025 г.
Первоначально представленный в статье под названием «Гибкое неинтрузивное динамическое инструментирование для WebAssembly», Whamm описывается как платформа для «мониторинга и управления приложениями Wasm». На странице Гилберта на GitHub она описывает возможности Whamm по инструментарию, мониторингу и перезаписи байт-кода следующим образом:
- Инструментарий: Когда мы говорим, что «инструментируем программу», на высоком уровне мы имеем в виду, что «вводим некоторый код в выполнение программы для выполнения некоторой операции». Это определение намеренно является общим, поскольку инструменты действительно могут делать все, что мы можем себе представить! Вы можете использовать инструменты для создания отладчиков, средств динамического анализа, генераторов телеметрии и многого другого.
- Динамический анализ: Динамический анализ — это анализ программы во время ее выполнения (в отличие от статического анализа, который анализирует программу, которая не запущена). Этот тип анализа может дать полезную информацию о программе, поскольку он может получить доступ к информации, которая недоступна статически (например, расположение горячего кода, доступ к памяти с течением времени, покрытие кода наборов тестов и т. д.).
- Перезапись байт-кода: Это пример стратегии внедрения инструментальной логики в приложение. Он внедряет инструменты, буквально вставляя новые инструкции в байт-код приложения.
«Инструментирование — это на самом деле способ наблюдать за поведением вашего приложения, что является своего рода достаточно гибким определением, чтобы инкапсулировать все разные вещи. Это может быть наблюдаемость, но его также можно использовать для тестирования сценариев использования, таких как тестирование с внедрением ошибок», — сказала мне Гилберт на KubeCon + CloudNativeCon после своего выступления. «Вы можете внести ошибки в свое приложение, чтобы проверить, сможет ли оно правильно все обработать. Инструменты можно использовать для управления выполнением приложения, а также для того, чтобы оно работало».
Как объяснил Гилберт, основной мотивацией сосредоточиться на WebAssembly является совместимость языков. «Поскольку в WebAssembly можно компилировать несколько разных языков, это то, что нужно, чтобы инструмент был по-настоящему крутым. Если у вас есть независимый от языка инструментарий, то, если появится какой-то новый язык программирования, если он просто скомпилируется в WebAssembly, вы сможете получить все инструменты бесплатно», — сказал Гилберт. «Эта возможность полиглота может быть очень, очень крутой для множества разных людей. Поскольку Wasm становится более широкой целевой аудиторией, если у нас есть история с инструментами, тогда все инструменты разработки можно будет получить бесплатно, и платформа сможет подключаться к самым разным вещам».
Текущий статус проекта таков, что он «может многое, но необходимо проработать больше вариантов использования, чтобы сделать его более надежным», — сказал Гилберт. «В настоящее время над проектом работают изолированно. Участие большего числа людей, особенно инженеров, будет «убийственным», потому что тогда работа может идти быстрее».
Действительно, я уже ожидаю увидеть ряд инженеров, желающих внести свой вклад и извлечь выгоду из Whamm.
ТЕНДЕНЦИОННЫЕ ИСТОРИИ YOUTUBE.COM/THENEWSTACK Технологии развиваются быстро, не пропустите ни одной серии. Подпишитесь на наш канал YouTube, чтобы смотреть все наши подкасты, интервью, демонстрации и многое другое. ПОДПИСАТЬСЯ Группа, созданная в Sketch. BC Gain — основатель и главный аналитик ReveCom Media. Его одержимость компьютерами началась, когда в начале 1980-х он взломал консоль Space Invaders, чтобы играть весь день за 25 центов в местном игровом зале. Затем он… Подробнее от Б. Кэмерона Гейна.