Rheo.GroupInfo (rheo v1.0.0)

Copy Markdown View Source

Group health snapshot for ops inspection.

Combines contiguous-frontier lag with inflight and dead-letter counts so hosts can answer consumer-info questions without a second settle path. Returned by Rheo.group_info/3.

Fields

FieldTypeMeaning
streamString.t()Stream name
groupString.t()Consumer group name
lagRheo.Lag.t()Per-partition and aggregate lag
inflight_countnon_neg_integer()Active leases for this group
dead_letter_countnon_neg_integer()Dead-lettered deliveries for this group

Example

iex> info = %Rheo.GroupInfo{
...>   stream: "market-events",
...>   group: "risk",
...>   lag: Rheo.Lag.build("market-events", "risk", %{
...>     0 => %{frontier: 1, high_watermark: 4, lag: 3}
...>   }),
...>   inflight_count: 2,
...>   dead_letter_count: 1
...> }
iex> {info.lag.lag, info.inflight_count, info.dead_letter_count}
{3, 2, 1}

Summary

Types

t()

Ops health snapshot for one {stream, group}.

Types

t()

@type t() :: %Rheo.GroupInfo{
  dead_letter_count: non_neg_integer(),
  group: String.t(),
  inflight_count: non_neg_integer(),
  lag: Rheo.Lag.t(),
  stream: String.t()
}

Ops health snapshot for one {stream, group}.

See the module documentation for field meanings.