A ping result depends only on the set of target addresses and the probe
count, never on which domain or service the addresses belong to. Implement
sdk.ObservationSharer so the host can collect a single ICMP probe per address
set (per user) instead of re-pinging once per record: with 1.2.3.4 present in
many domains under several A records, the same address was probed dozens of
times for identical data.
The share key sorts the resolved addresses and folds in the probe count;
evaluation thresholds (warningRTT, ...) are intentionally excluded as they
only affect how the shared observation is judged. Unresolvable inputs yield
an empty key so the host falls back to per-target caching.
The binary doubles as its own healthcheck client via the SDK's
-healthcheck flag, so the probe works in the scratch image
(no shell, no curl, no wget).
The SDK split the HTTP server scaffolding into the new
checker-sdk-go/checker/server subpackage. Update main.go to import
server and call server.New, and isolate the interactive form code
behind the standalone build tag so plugin/builtin builds skip
net/http entirely.