# `Parrhesia.ConnectionStats`

Per-listener connection and subscription counters.

Tracks active connection and subscription counts per listener and emits
`[:parrhesia, :listener, :population]` telemetry events on each change.

# `state`

```elixir
@type state() :: %Parrhesia.ConnectionStats{
  connections: %{required(atom() | String.t()) =&gt; non_neg_integer()},
  subscriptions: %{required(atom() | String.t()) =&gt; non_neg_integer()}
}
```

# `child_spec`

Returns a specification to start this module under a supervisor.

See `Supervisor`.

# `connection_close`

```elixir
@spec connection_close(atom() | String.t()) :: :ok
```

# `connection_open`

```elixir
@spec connection_open(atom() | String.t()) :: :ok
```

# `start_link`

```elixir
@spec start_link(keyword()) :: GenServer.on_start()
```

# `subscriptions_change`

```elixir
@spec subscriptions_change(atom() | String.t(), integer()) :: :ok
```

---

*Consult [api-reference.md](api-reference.md) for complete listing*
