Add an optional ObservationSharer interface that an ObservationProvider can implement to declare that its observation depends only on a subset of the inputs. ShareKey returns a stable, pure key derived from the inputs that affect the result; two collections with the same key produce identical data, letting the host serve one from the other instead of recollecting per target. This is the contract a host (happyDomain) uses to mutualise expensive probes (e.g. a single ping per address set) across every check target that resolves to the same key, while providers that depend on the target (HTTP host, ...) simply do not implement it and keep per-target behaviour. |
||
|---|---|---|
| .. | ||
| server | ||
| context.go | ||
| names.go | ||
| options.go | ||
| options_test.go | ||
| registry.go | ||
| registry_test.go | ||
| types.go | ||
| types_test.go | ||