# `Otel.Metrics.MetricsStorage`
[🔗](https://github.com/yangbancode/otel/blob/main/lib/otel/metrics/metrics_storage.ex#L1)

ETS owner for the named ETS table — aggregated
datapoints keyed by `{stream_name, attrs}` (spec
`metrics/data-model.md` §Metric). `InstrumentationScope`
is hardcoded SDK-wide so it is omitted from the key.

Same `SpanStorage`-style GenServer-as-owner pattern as the
other Metrics storage modules — table is `public` with
concurrency flags so the recording / collection paths bypass
the GenServer.

# `child_spec`

Returns a specification to start this module under a supervisor.

See `Supervisor`.

# `start_link`

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

---

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