Owns restart-safe operator recording intent for the BeamConsole application.
The process stores only a boolean pause state and a monotonic revision. The collector and lifecycle recorder register as monitored consumers, receive the current state during initialization, and receive later transitions as bounded scalar messages. A child restart therefore converges without coupling the two runtime services to each other.
Summary
Functions
Returns a specification to start this module under a supervisor.
Pauses lifecycle recording and opt-in zero-viewer background sampling.
Registers the calling runtime service and returns the current control state.
Resumes lifecycle recording according to the configured demand mode.
Starts the recording control authority.
Returns the authoritative operator recording control state.
Subscribes the calling process to authoritative recording-state transitions.
Types
@type role() :: :collector | :recorder
@type t() :: %BeamConsole.Recording.Control{ consumers: %{optional(role()) => consumer()}, status: BeamConsole.Recording.Status.t(), subscribers: %{optional(pid()) => reference()} }
Functions
Returns a specification to start this module under a supervisor.
See Supervisor.
@spec pause(GenServer.server(), timeout()) :: BeamConsole.Recording.Status.t()
Pauses lifecycle recording and opt-in zero-viewer background sampling.
@spec register(role(), GenServer.server()) :: BeamConsole.Recording.Status.t()
Registers the calling runtime service and returns the current control state.
@spec resume(GenServer.server(), timeout()) :: BeamConsole.Recording.Status.t()
Resumes lifecycle recording according to the configured demand mode.
@spec start_link(keyword()) :: GenServer.on_start()
Starts the recording control authority.
@spec status(GenServer.server(), timeout()) :: BeamConsole.Recording.Status.t()
Returns the authoritative operator recording control state.
@spec subscribe(GenServer.server(), timeout()) :: BeamConsole.Recording.Status.t()
Subscribes the calling process to authoritative recording-state transitions.