PhiAccrual.Source.DistributionPing
(phi_accrual v1.0.0)
View Source
Reference heartbeat source ā sends an app-layer ping to every currently-connected node at a fixed interval.
Pings travel over BEAM distribution, so this source inherits HoL
blocking: if the distribution TCP send buffer to a peer is full
(see :busy_dist_port in PhiAccrual.PauseMonitor), pings queue
behind user traffic. That is why v1 is observability-grade rather
than decision-grade. The planned phi_accrual_udp companion package
escapes HoL by using its own socket.
Cost
O(N²) cluster-wide at steady state: each node pings every peer. A 50-node cluster at the default 1 s interval is 2 500 pings/second of distribution traffic ā cheap per-ping, not free in aggregate.
Opting in
Not started by default. Enable via application config:
config :phi_accrual,
distribution_ping: [interval_ms: 1_000, auto_track: true]This source is supervised separately from the per-node estimator supervisor: a restart here does not wipe estimator state.
Summary
Functions
Returns a specification to start this module under a supervisor.
Functions
Returns a specification to start this module under a supervisor.
See Supervisor.