Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Usage ping

WasmKeep can send an anonymous usage report, so the project learns how many installations exist and what they look like. It is off by default: a node sends nothing unless it is started with --usage-ping.

wasmkeep serve --usage-ping --actor counter=counter.wasm

What is sent

One small JSON document, a minute after the node starts and then once a day, as an HTTP POST:

{"schema":1,"version":"0.3.0","os":"linux","arch":"x86_64","cluster":true,"classes":"1-9","resident_actors":"10-99"}
FieldMeaning
schemaFormat version of this report
versionWasmKeep’s version
os, archOperating system and CPU architecture (linux, x86_64, …)
clusterWhether the node runs in a cluster (--node-id)
classesHow many actor classes it serves, as a bucket: 0, 1-9, 10-99, 100-999, 1000-9999, 10000+
resident_actorsHow many actors are in memory at that moment, same buckets

That is all. No identifier for the node or the installation, no host names, addresses, tenant, class or actor names, no request data, no configuration. The receiving end sees the connection’s IP address, as any HTTP server does; how the collector treats it will be stated here when one exists.

Each report is written to the node’s log (sending the usage ping) before it goes out, so you can see exactly what was sent. Failing to send is logged at debug level and never affects serving.

Where it goes

Nowhere yet: the project does not run a collector, so in current builds --usage-ping logs that it has no endpoint and sends nothing. When a collector exists, its address will be built into the release and listed here.

WASMKEEP_USAGE_PING_URL sends the report to another URL instead, for example your own collector.

The code is short: crates/wasmkeep-cli/src/usage.rs.