BeamConsoleWeb.Console.RecorderClient (beam_console v0.2.0)

Copy Markdown View Source

Provides an outage-safe boundary around the lifecycle recorder.

Expected process exits during supervisor restart windows become structured unavailable results so connected LiveViews can preserve their bounded view.

Summary

Functions

Returns bounded lifecycle events when the recorder process is available.

Pauses recording when the recorder process is available.

Resumes recording when the recorder process is available.

Returns bounded aggregate samples when the recorder process is available.

Returns recorder health when the recorder process is available.

Types

query_error()

@type query_error() :: unavailable() | {:error, {:invalid_query_options, term()}}

server()

@type server() :: GenServer.server() | nil

unavailable()

@type unavailable() :: {:error, :unavailable}

Functions

events(options, server \\ LifecycleRecorder)

@spec events(
  keyword(),
  server()
) :: {:ok, BeamConsole.Recorder.Query.t()} | query_error()

Returns bounded lifecycle events when the recorder process is available.

pause(server \\ LifecycleRecorder)

@spec pause(server()) :: {:ok, BeamConsole.Recorder.Status.t()} | unavailable()

Pauses recording when the recorder process is available.

resume(server \\ LifecycleRecorder)

@spec resume(server()) :: {:ok, BeamConsole.Recorder.Status.t()} | unavailable()

Resumes recording when the recorder process is available.

samples(options, server \\ LifecycleRecorder)

@spec samples(
  keyword(),
  server()
) :: {:ok, BeamConsole.Recorder.Query.t()} | query_error()

Returns bounded aggregate samples when the recorder process is available.

status(server \\ LifecycleRecorder)

@spec status(server()) :: {:ok, BeamConsole.Recorder.Status.t()} | unavailable()

Returns recorder health when the recorder process is available.