Debuglet runs small WebAssembly programs for network measurements. A dispatcher accepts jobs and stores results. Executors run debuglets within their configured time and bandwidth budgets. The project includes the dbl command-line client, a Go client library, a Go SDK for writing debuglets, and examples.
Debuglet is an alpha for trusted environments. Read the security policy before operating a networked deployment.
Download the current Linux amd64 release from the releases page, install it, then run:
export PATH="$HOME/.local/bin:$PATH"
dbl demoThe demo starts temporary local roles, runs a WebAssembly measurement, verifies the result, and cleans up. It needs no existing service, account, compiler, root access, wallet, or hand-written configuration. See Install Debuglet for the short installation path.
A successful run prints Debuglet VERSION completed locally: ..., its executor
and run IDs, and Cleanup: complete, then exits zero. If it fails, start with
troubleshooting.
flowchart LR
C[Client: dbl or Go application] -->|HTTP API| D[Dispatcher]
D -->|submit, results, scheduling| DB[(Dispatcher state)]
D <-->|authenticated control paths| E[Executor]
E -->|runs| W[Debuglet: WASI program]
E -->|local state| ES[(Executor state)]
The dispatcher exposes the API and coordinates work. Executors connect outward to it, so they do not require a public inbound control port. See the measurement flow for submission and execution, and deployment topology for the operational model.
The versioned guides in docs/ are published at the documentation site. Use the documentation for the release you install.
| Need | Start here |
|---|---|
| Install and run a local demo | Install Debuglet |
| Use the CLI | CLI reference |
| Write a Go application client | Go client library |
| Write a debuglet | Write a debuglet |
| Integrate with the HTTP API | OpenAPI contract and API guide |
| Understand the code and protocol | Architecture |
| Operate a service | Managed services |
| Contribute | Contributing |
Debuglet development and package checks run on Linux amd64 with Go 1.26.8. From a checkout:
make ci-test
make ci-vet
make ci-build
make ci-packageUse CONTRIBUTING.md for the workflow, generated code, and review expectations.