Monitors a bounded set of local supervised processes and records safe exits.
Recording is lazy by default: the first console subscriber activates watches
and the last subscriber removes them. In :always mode the recorder remains
active for the application lifetime. Snapshot observations are consumed from
the collector's existing supervision traversal; this process never calls a
supervisor or retains a runtime snapshot.
Summary
Functions
Activates lazy recording when the first console subscriber connects.
Returns a specification to start this module under a supervisor.
Deactivates lazy recording and removes its process monitors.
Returns a newest-first bounded lifecycle-event window with omission metadata.
Reconciles one bounded private observation batch from a completed collector frame.
Pauses recording until an operator explicitly resumes it.
Resumes recording when subscriber or always-on demand is present.
Returns newest aggregate recorder frames under the configured history cap.
Starts a lifecycle recorder with optional name, limits, clocks, and collector overrides.
Returns PID-free recorder activity, coverage, and bounded-history statistics.
Types
@type query_error() :: {:error, {:invalid_query_options, term()}}
@type status() :: BeamConsole.Recorder.Status.t()
Functions
@spec activate(GenServer.server()) :: :ok
Activates lazy recording when the first console subscriber connects.
Returns a specification to start this module under a supervisor.
See Supervisor.
@spec deactivate(GenServer.server()) :: :ok
Deactivates lazy recording and removes its process monitors.
@spec events( keyword(), GenServer.server() ) :: BeamConsole.Recorder.Query.t() | query_error()
Returns a newest-first bounded lifecycle-event window with omission metadata.
@spec observe( BeamConsole.Recorder.Frame.t(), [BeamConsole.Lifecycle.Observation.t()], keyword(), GenServer.server() ) :: :ok
Reconciles one bounded private observation batch from a completed collector frame.
@spec pause(GenServer.server()) :: BeamConsole.Recorder.Status.t()
Pauses recording until an operator explicitly resumes it.
@spec resume(GenServer.server()) :: BeamConsole.Recorder.Status.t()
Resumes recording when subscriber or always-on demand is present.
@spec samples( keyword(), GenServer.server() ) :: BeamConsole.Recorder.Query.t() | query_error()
Returns newest aggregate recorder frames under the configured history cap.
@spec start_link(keyword()) :: GenServer.on_start()
Starts a lifecycle recorder with optional name, limits, clocks, and collector overrides.
@spec status(GenServer.server()) :: status()
Returns PID-free recorder activity, coverage, and bounded-history statistics.