Skip to content

Commit

Permalink
Merge pull request #33 from ahuoguo/book
Browse files Browse the repository at this point in the history
Documentation page for whamm
  • Loading branch information
ejrgilbert authored Jun 4, 2024
2 parents c824719 + 5b1dc53 commit d474fef
Show file tree
Hide file tree
Showing 9 changed files with 80 additions and 0 deletions.
39 changes: 39 additions & 0 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
name: Deploy
on:
push:
branches: [ "master" ]

jobs:
deploy:
runs-on: ubuntu-latest
permissions:
contents: write # To push a branch
pages: write # To push to a GitHub Pages site
id-token: write # To update the deployment status
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Install latest mdbook
run: |
tag=$(curl 'https://api.github.com/repos/rust-lang/mdbook/releases/latest' | jq -r '.tag_name')
url="https://github.com/rust-lang/mdbook/releases/download/${tag}/mdbook-${tag}-x86_64-unknown-linux-gnu.tar.gz"
mkdir mdbook
curl -sSL $url | tar -xz --directory=./mdbook
echo `pwd`/mdbook >> $GITHUB_PATH
- name: Build Book
run: |
# This assumes your book is in the root of your repository.
# Just add a `cd` here if you need to change to another directory.
cd doc
mdbook build
- name: Setup Pages
uses: actions/configure-pages@v4
- name: Upload artifact
uses: actions/upload-pages-artifact@v3
with:
# Upload entire repository
path: 'doc/book'
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
1 change: 1 addition & 0 deletions doc/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
book
6 changes: 6 additions & 0 deletions doc/book.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
[book]
authors = ["ahuoguo"]
language = "en"
multilingual = false
src = "src"
title = "Whamm DSL"
8 changes: 8 additions & 0 deletions doc/src/SUMMARY.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Summary

- [Introduction](intro.md)

- [Grammar](grammar.md)

- [Example](example/example.md)
- [Branch Monitor](example/branch_monitor.md)
3 changes: 3 additions & 0 deletions doc/src/example/branch_monitor.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Branch Monitor


3 changes: 3 additions & 0 deletions doc/src/example/example.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Example

Here are some documented examples of probes written in the language.
8 changes: 8 additions & 0 deletions doc/src/grammar.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Grammar


![one liner](images/oneliner.png)


Every whamm clause begins with a list of one or more probe descriptions (red), each taking the usual form:
*<p style="text-align: center;">*provider:module:function:name*</p>*
Binary file added doc/src/images/oneliner.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
12 changes: 12 additions & 0 deletions doc/src/intro.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Introduction

whamm! is a tool for "Wasm Application Monitoring and Manipulation"[^note], a DSL inspired by the D language.


In a high level, we wish to insert probes into a WebAssembly application, to gain some insights into its execution. A probe is a location or activity to which Whamm can bind a request to perform a set of actions, like recording a stack trace, a timestamp, or the argument to a function. Probes are like programmable sensors scattered all over your wasm application in interesting places.

For a comprehensive guide on using DTrace and the D language, see [the Dynamic Tracing Guide](https://illumos.org/books/dtrace/bookinfo.html).


[^note]: The 'h' is silent.

0 comments on commit d474fef

Please sign in to comment.