Whamm: Wiederverwendbare Monitoring- und Testing-Module fĂĽr WebAssembly

Mit dem Monitoring- und Debugging-Tool Whamm greifen Entwickler zur Laufzeit auf Wasm zu. Module lassen sich unabhängig von der konkreten App wiederverwenden.

vorlesen Druckansicht
Laptop mit Code-Zeilen

(Bild: Zakharchuk/Shutterstock.com)

Lesezeit: 1 Min.
close notice

This article is also available in English. It was translated with technical assistance and editorially reviewed before publication.

Ein neues WebAssembly-Tool steuert und analysiert Wasm-Anwendungen zur Laufzeit. Entwicklerinnen und Entwickler nutzen es zum Monitoren, Testen und Debuggen von Wasm-Apps. Es analysiert Ressourcen von Workloads, die Nutzung des Caches oder das Einhalten von Sicherheitsrichtlinien. AuĂźerdem kann es auf Module, Komponenten und Kernel-Events zugreifen.

Whamm liefert eine spezielle Domänensprache im Stil von DTrace, die Aktionen auslöst, wenn Events mit bestimmten Bedingungen auftreten. Um diesen Code zur Laufzeit in die Wasm-Anwendung zu integrieren, gibt es zwei Möglichkeiten: entweder den Bytecode der Anwendung zu ändern oder auf Ebene der Runtime zuzugreifen. Letzteres hat den Vorteil, dass die Anwendung selbst unangetastet bleibt, wobei diese Möglichkeit von den Fähigkeiten der Engine abhängt. Die Einzige, die laut der Whamm-Autorin Elizabeth Gilbert derzeit überhaupt eine derartige Instrumentierung erlaubt, ist Wizard.

Bei der Engine-Injection arbeitet das Monitoring-Modul in der Wizzard-Engine neben der zu ĂĽberwachenden Anwendung.

(Bild: ejrgilbert.github.io/whamm/)

Gilbert empfiehlt Entwicklerinnen und Entwicklern für ihre Projekte, die Möglichkeiten der Engine-Injection auszureizen und nur Anforderungen, die darüber hinausgehen, per Änderung des Bytecodes umzusetzen.

Ein weiterer Vorteil der Engine-Injection ist, dass sich diese Whamm-Module für andere Projekte wiederverwenden lassen, da sie von der konkreten Anwendung unabhängig sind.

Weitere Informationen zu Whamm gibt es auf der GitHub-Seite, in der Doku oder in einem Video zu einem Vortrag von Gilbert auf der diesjährigen KubCon.

Videos by heise

(who)