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

Represents one immutable, versioned sample of the visible BEAM topology.

Entity maps are keyed by opaque BeamConsole IDs, while `index` retains the
private lookup information needed for server-side selection.

# `private_index_value`

```elixir
@type private_index_value() ::
  {:application, atom()} | {:node, String.t()} | {:process, pid()}
```

# `t`

```elixir
@type t() :: %BeamConsole.Snapshot{
  applications: %{required(String.t()) =&gt; BeamConsole.ApplicationInfo.t()},
  collector_epoch: String.t() | nil,
  coverage: BeamConsole.Coverage.t(),
  edges: %{required(String.t()) =&gt; BeamConsole.SupervisionEdge.t()},
  index: %{required(String.t()) =&gt; private_index_value()},
  lifecycle_observations: [BeamConsole.Lifecycle.Observation.t()],
  local_node_id: String.t(),
  monotonic_ms: integer() | nil,
  nodes: %{required(String.t()) =&gt; BeamConsole.NodeInfo.t()},
  processes: %{required(String.t()) =&gt; BeamConsole.ProcessInfo.t()},
  runtime_sample: BeamConsole.Runtime.Sample.t() | nil,
  sampled_at: DateTime.t(),
  sequence: non_neg_integer(),
  stale?: boolean()
}
```

---

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