Build a debuglet

From program to provable probe

A debuglet is a small WASM program the platform runs at each vantage point. Write the logic; attribution and rate limits are handled for you.

Documentation is being staged for public release

The full programming guide, API reference, and protocol specifications ship alongside the accompanying paper. The quickstart below is a preview. Live dispatcher:checking…

// adaptive probe — compiled to WASM, runs at each node fn probe(ctx: Ctx) -> Report { let mut size = 1500; loop { let r = ctx.send(dst, size); // auto-tagged + rate-limited match r { Reached => break, Adjust(next) => size = next, // closed-loop Silent => size -= step, } } Report::value(dst, size) }
Quickstart
# build, submit, watch $ dbl build probe.rs # -> .wasm $ dbl submit probe.wasm \ --targets prefixes.txt \ --nodes eu,*.fastpath --weight 2 $ dbl watch job-7f3a par01 done 1492 zrh02 done 1500 nyc03 run ...

Programming model

WASM sandbox, the host interface, and the canonical use cases.

Coming soon

HTTP & CLI API

Submit jobs, stream results, query nodes. Live endpoints onapi.db.netsec.ethz.ch: GET /version,GET /executors,GET /executors/by-ip,GET /executors/:id/tesla,PUT /debuglet,GET /debuglet/:id (SSE).

Preview · expanding

Rate-limit policy

How weights map to per-target budgets and how those budgets are coordinated globally.

Coming soon

Attribution spec

Tag format, the TESLA key-release schedule, and the verification procedure anyone can run — try it on the Verify page.

Coming soon