# `BeamConsole.Coverage`
[🔗](https://github.com/cristianodabc/beam-console/blob/v0.5.4/lib/beam_console/coverage.ex#L1)

Records how complete and expensive a runtime snapshot was.

Limits and vanished processes are represented explicitly so callers can
distinguish a complete snapshot from a bounded or partial one.

# `state`

```elixir
@type state() :: :complete | :partial | :truncated
```

# `t`

```elixir
@type t() :: %BeamConsole.Coverage{
  duration_ms: non_neg_integer(),
  inspected_pids: non_neg_integer(),
  partial_supervisors: non_neg_integer(),
  process_limit_reached?: boolean(),
  total_pids: non_neg_integer(),
  traversal_limit_reached?: boolean(),
  vanished_pids: non_neg_integer(),
  warnings: [String.t()]
}
```

# `state`

```elixir
@spec state(t()) :: state()
```

Classifies snapshot coverage for recorder history and runtime presentation.

# `warnings`

```elixir
@spec warnings(t()) :: [String.t()]
```

Returns human-readable reasons that a runtime sample has incomplete coverage.

---

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