Metadata-only ring buffer for Pub/Sub activity.
Message payloads are intentionally not stored. Publish entries keep only channel, message byte size, and receiver count.
Summary
Functions
Returns a specification to start this module under a supervisor.
Types
@type entry() :: %{ id: non_neg_integer(), timestamp_us: integer(), command: binary(), target_type: :channel | :pattern, target: binary(), targets: non_neg_integer(), subscribers: non_neg_integer() | nil, message_bytes: non_neg_integer() | nil }
Functions
Returns a specification to start this module under a supervisor.
See Supervisor.
@spec get(non_neg_integer() | nil) :: [entry()]
@spec record_publish(binary(), non_neg_integer(), non_neg_integer()) :: :ok
@spec reset() :: :ok
@spec start_link(keyword()) :: GenServer.on_start()