Telemetry event helpers for LivePanels runtime observability.
LivePanels emits stable events around command application, shared session lifecycle, broadcast fanout, and layout persistence. Applications can attach handlers without LivePanels owning logging, metrics, or tracing policy.
The event catalog documents emitted measurements and metadata without putting catalog checks in the command and broadcast path.
Summary
Functions
Emits phase timings for shared-session broadcast work.
Emits a successful canvas command event.
Emits phase timings for a canvas command.
Emits a rejected canvas command event.
Emits when a shared session broadcasts a versioned canvas delta.
Returns the stable LivePanels telemetry event catalog.
Emits when a shared session broadcasts a single item update.
Emits after a canvas layout is successfully persisted.
Emits after a canvas layout persistence attempt fails.
Emits when a shared-session participant joins.
Emits when a shared-session participant leaves.
Emits when shared-session recovery status changes.
Emits when a shared-session coordinator starts.
Emits when a shared session broadcasts a full canvas state.
Types
@type event_catalog_entry() :: %{ id: atom(), event: [atom()], measurements: %{required(atom()) => field_schema()}, metadata: %{required(atom()) => field_schema()}, description: String.t() }
@type field_schema() :: %{type: field_type(), required?: boolean()}
@type field_type() :: :atom | :boolean | :integer | :non_neg_integer | :string | :term | {:one_of, [atom()]}
Functions
Emits phase timings for shared-session broadcast work.
Emits a successful canvas command event.
Emits phase timings for a canvas command.
Emits a rejected canvas command event.
Emits when a shared session broadcasts a versioned canvas delta.
@spec events() :: [event_catalog_entry()]
Returns the stable LivePanels telemetry event catalog.
The catalog names every event emitted by this module, along with the measurement and metadata keys applications can attach handlers around.
Emits when a shared session broadcasts a single item update.
@spec layout_persisted(map()) :: :ok
Emits after a canvas layout is successfully persisted.
Emits after a canvas layout persistence attempt fails.
@spec participant_joined(String.t(), String.t(), non_neg_integer()) :: :ok
Emits when a shared-session participant joins.
@spec participant_left(String.t(), String.t(), non_neg_integer()) :: :ok
Emits when a shared-session participant leaves.
Emits when shared-session recovery status changes.
Emits when a shared-session coordinator starts.
Emits when a shared session broadcasts a full canvas state.