# `Tinkex.API.Telemetry`
[🔗](https://github.com/North-Shore-AI/tinkex/blob/v0.4.0/lib/tinkex/api/telemetry.ex#L1)

Telemetry reporting endpoints.

Uses :telemetry pool to prevent telemetry from starving critical operations.
Pool size: 5 connections.

## Task Supervision

Tasks spawned by `send/2` are not supervised. Failures are logged
and ignored. This is intentional - telemetry should never block or
fail critical operations.

# `send`

```elixir
@spec send(
  map(),
  keyword()
) :: :ok
```

Send telemetry asynchronously (fire and forget).

Spawns a Task to send telemetry without blocking the caller.
Returns :ok immediately; failures are logged but not propagated.

Options:
  * `:config` - Tinkex.Config.t() (required)
  * `:timeout` - HTTP timeout in milliseconds (default: 5000)

# `send_sync`

```elixir
@spec send_sync(
  map(),
  keyword()
) :: {:ok, map()} | {:error, Tinkex.Error.t()}
```

Send telemetry synchronously (for testing or flush operations).

Blocks until the telemetry request completes. Use this in tests
to verify telemetry behavior or during graceful shutdown.

Options:
  * `:config` - Tinkex.Config.t() (required)
  * `:timeout` - HTTP timeout in milliseconds (default: 5000)

---

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