debuglets/

directory
v0.3.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 19, 2026 License: Apache-2.0

README

Debuglet examples

A debuglet is a WASI WebAssembly program that an executor runs for one measurement. Start with the Go examples: they are built and exercised by this repository. The Rust and C directories are experimental and are not part of the supported workflow: their bindings cover part of the host interface, and the repository runs one retained guest per language against the executor's engine. Python and JavaScript are not currently supported; see Guest languages.

Choose an example

Language Status Start here
Go Supported go/hello-local for output; go/latency for TCP; go/throughput for a local TCP sender.
Rust Experimental: TCP, TLS, listener and ICMPv4 bindings rust/README.md
C Experimental: TCP, TLS, listener and ICMPv4 declarations c/README.md

Build and run

From the repository root:

make wasm SAMPLE_DIR=examples/debuglets/go/hello-local
dbl run --wasm examples/debuglets/go/hello-local/debuglet.wasm --wait

For network measurements, add the target to --allow and pass any program arguments after --. Only measure systems you are authorized to measure.

dbl run --wasm examples/debuglets/go/latency/debuglet.wasm \
  --allow 127.0.0.1 --wait -- -addr 127.0.0.1:8080 -count 3

See Write a debuglet for the execution model and SDK. Use dbl demo for a complete self-contained local walkthrough.

Directories

Path Synopsis
go
demo command
dns command
dns — DNS A lookup over UDP, written with the Debuglet Go SDK.
dns — DNS A lookup over UDP, written with the Debuglet Go SDK.
download command
hello-local command
helloworld command
Minimal "hello world" debuglet in Go.
Minimal "hello world" debuglet in Go.
http_get command
http_get — plaintext HTTP/1.0 request, written with the Debuglet Go SDK.
http_get — plaintext HTTP/1.0 request, written with the Debuglet Go SDK.
latency command
latency — TCP round-trip latency, written with the Debuglet Go SDK.
latency — TCP round-trip latency, written with the Debuglet Go SDK.
latency/evaluation command
latency measures nonce-matched UDP echoes.
latency measures nonce-matched UDP echoes.
listen_tcp command
listen_tcp — inbound TCP echo server, written with the Debuglet Go SDK.
listen_tcp — inbound TCP echo server, written with the Debuglet Go SDK.
listen_udp command
listen_udp — inbound UDP receiver, written with the Debuglet Go SDK.
listen_udp — inbound UDP receiver, written with the Debuglet Go SDK.
loop command
ping command
ping — ICMPv4 latency probe, written with the Debuglet Go SDK.
ping — ICMPv4 latency probe, written with the Debuglet Go SDK.
send_tcp command
send_tcp — one TCP request over the raw host imports.
send_tcp — one TCP request over the raw host imports.
send_udp command
send_udp — UDP sender, written with the Debuglet Go SDK.
send_udp — UDP sender, written with the Debuglet Go SDK.
throughput command
throughput — TCP throughput sender, written with the Debuglet Go SDK.
throughput — TCP throughput sender, written with the Debuglet Go SDK.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL