BeamConsole.Lifecycle.Correlator (beam_console v0.2.0)

Copy Markdown View Source

Conservatively correlates direct exits with stable-slot replacement observations.

Correlation requires the same opaque slot and supervisor PID in one recorder segment. The configured time window is inclusive: a candidate exactly at the boundary may match, while a candidate one millisecond later is discarded. Dynamic slots, module-only similarity, and ambiguous targets are never paired.

Summary

Functions

Evaluates one pending stable-slot exit against a completed observation batch.

Types

discard_reason()

@type discard_reason() :: :expired | :segment_changed

result()

@type result() ::
  {:replacement, BeamConsole.Lifecycle.Event.t()}
  | {:pending, BeamConsole.Lifecycle.PendingExit.t()}
  | {:discard, discard_reason()}

Functions

correlate(pending, observations, context)

Evaluates one pending stable-slot exit against a completed observation batch.

Required context keys are :sequence, :segment, :monotonic_ms, :sampled_at_ms, :coverage, and :pending_slot_ms.