pub fn take_sink_changed() -> boolExpand description
True ONCE after the sink changed, then false until it changes again.
A restarted sink starts EMPTY, and a publisher on an interval does not fill it again until its
next boundary - up to 64 messages for msgs.received. For a quiet service that is a long time to
have no row, and a service with no row is indistinguishable from a dead one, which is the single
question this metric answers. 14.3 says a client reacquires AND re-establishes what hung off the
old instance; a counter the new sink has never seen is exactly that.
Cheap on the hot path: a relaxed LOAD on the common (unchanged) call, and the swap only in the rare tick that follows a restart.