

Інколи на великій конференції з'являється особливо цікавий реліз або проект, майже без маркетингової підтримки або від великих, корпоративно‑подібних команд. На KubeCon + CloudNativeCon Елізабет Гілберт, кандидатка наук Ph.D. Карнегі‑Меллонського університету, описала проект на ім’я Whamm, який може дійсно працювати «із коробки» всього одним рядком коду. Він не замінює, не поліпшує й не вдосконалює існуючі інструменти та процеси, але може робити речі, яких раніше не існувало. Гілберт вдало описала створений нею проект, і після згаданої нею доповіді «Whamm: Framework for Performant, Sandboxed Instrumentation» на заході WasmCon, що спільно організовується CNCF у рамках KubeCon + CloudNativeCon, він набув значної кількості завантажень та форків. Whamm розроблений для того, щоб користувачі могли інструментувати свої застосунки WebAssembly (Wasm) за допомогою певної мови програмування або коду, або безпосередньо програмувати свої застосунки Wasm у модулях. За допомогою нього вони можуть налагоджувати, моніторити тощо свої застосунки у середовищі модулів WebAssembly. Whamm була ініційована кандидаткою на Ph.D. Карнегі‑Меллон Елізабет Гілберт під час її доповіді на WasmCon, що проходив перед KubeCon NA. Цей інструментальний фреймворк для WebAssembly має привернути інтерес та підтримку спостережуваності Wasm. @linuxfoundation pic.twitter.com/MZBFkfjsFu — BC Gain (@bcamerongain), Nov. 11, 2025. Спочатку запропонований у праці під назвою «Flexible Non-intrusive Dynamic Instrumentation for WebAssembly» Whamm описується як фреймворк для «моніторингу та маніпуляцій із застосунками Wasm». На сторінці Гілберт на GitHub вона так описує можливості інструментування Whamm, моніторингу та переписування байткоду: Інструментування: коли ми кажемо, що «інструментуємо програму», на високому рівні маємо на увазі, що «вводимо певний код у виконання програми, щоб виконати певну операцію». Це визначення навмисно загальне, оскільки інструментування може насправді робити усе, що ми можемо уявити! Ви можете використовувати інструментування для створення налагоджувачів, динамічних аналізів, генераторів телеметрії тощо. Динамічний аналіз: динамічний аналіз — це те, що аналізує програму під час її виконання (на відміну від статичного аналізу, який аналізує програму, що не виконується). Такий аналіз може дати корисні висновки, оскільки може отримувати інформацію, яка не доступна статично (наприклад, гарячі точки коду, звернення до пам'яті з часом, покриття коду тестами тощо). Переписування байткоду: це приклад стратегій для вставлення логіки інструментування в застосунок. Воно реалізується шляхом фактичного вставлення нових інструкцій у байткод застосунку. Інструментування насправді є способом спостерігати за поведінкою вашого застосунку, і це досить гнучке визначення, щоб охопити багато різних речей. Воно може бути спостережуваністю, але також може використовуватися для тестових сценаріїв, таких як тестування на введення збоїв, сказала Гілберт під час KubeCon + CloudNativeCon після свого виступу. Ви можете вставляти помилки у ваш застосунок, щоб перевірити, чи зможе він справно з ними справитися. Інструментування може використовуватися для керування виконанням застосунку так само, як воно робить. Як пояснила Гілберт, основна мотивація зосередитися на WebAssembly полягає у мовній сумісності. 'Оскільки кілька різних мов можуть компілюватися в WebAssembly, це те, чого прагнуть інструменти, щоб вони були дійсно класними. Якщо у вас є інструменти, нейтральні до мови, то якщо з'явиться нова мова програмування, яка просто компілюється в WebAssembly, ви зможете отримати всі інструменти безкоштовно,' сказала Гілберт. 'Ця поліглотна можливість може бути дійсно дуже цікавою для багатьох різних людей. Оскільки Wasm стає все більш широко націленим, якщо ми маємо історію інструментування там, то всі інструменти розробників можна буде отримати безкоштовно, а платформа може підключатися до різних речей.' Поточний стан проекту такий: він може 'виконувати досить багато чого, але потрібно розробити більше варіантів використання, щоб зробити його більш надійним,' сказала Гілберт. 'Зараз над проектом працюють ізольовано. Більше людей, особливо інженерів, долучаться, було б круто, бо тоді робота просуватиметься швидше.' Справді, я вже очікую, що багато інженерів захочуть долучитися до Whamm та отримати від нього користь.