# `TimelessMetricsDashboard.Reporter`
[🔗](https://github.com/awksedgreep/timeless_metrics_dashboard/blob/main/lib/timeless_metrics_dashboard/reporter.ex#L1)

Telemetry reporter that writes `Telemetry.Metrics` events into a Timeless store.

The handler callback runs in the **caller's process**, so the hot path is a
bounded ETS insert. A periodic flush drains accepted entries into Timeless in
chunks. Entries are deleted only after a successful write, so concurrent
inserts and transient store failures do not lose queued points.

## Options

  * `:store` (required) — Timeless store name (atom)
  * `:metrics` — list of `Telemetry.Metrics` structs (default: `[]`)
  * `:flush_interval` — milliseconds between batch flushes (default: `10_000`)
  * `:prefix` — metric name prefix (default: `"telemetry"`)
  * `:name` — GenServer name (default: `TimelessMetricsDashboard.Reporter`)
  * `:max_buffer_size` — maximum queued points; newer points are dropped once
    full (default: `100_000`)
  * `:batch_size` — maximum points written per store call (default: `5_000`)

# `child_spec`

Returns a specification to start this module under a supervisor.

See `Supervisor`.

# `flush`

Synchronous flush — drains the buffer immediately. Useful for testing.

# `start_link`

# `stats`

Returns reporter buffer, drop, write-error, and callback-error counters.

---

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