# `Quiver.Telemetry`
[🔗](https://github.com/edlontech/quiver/blob/main/lib/quiver/telemetry.ex#L1)

Telemetry event definitions and helpers for Quiver.

## Request Span

- `[:quiver, :request, :start]` -- measurements: `system_time` | metadata: `request, origin, name`
- `[:quiver, :request, :stop]` -- measurements: `duration` | metadata: `request, response, origin, name`
- `[:quiver, :request, :exception]` -- measurements: `duration` | metadata: `request, kind, reason, stacktrace, origin, name`

## Connection Span (fresh connections only)

- `[:quiver, :conn, :start]` -- measurements: `system_time` | metadata: `origin, scheme`
- `[:quiver, :conn, :stop]` -- measurements: `duration` | metadata: `origin, scheme`

## Connection Close (standalone, fires on eviction)

- `[:quiver, :conn, :close]` -- measurements: `system_time` | metadata: `origin, reason`

## Pool Queue

- `[:quiver, :pool, :queue]` -- measurements: `queue_length` | metadata: `origin, name`

## HTTP/3 Connection

- `[:quiver, :connection, :http3, :start]` -- measurements: `system_time` | metadata: `origin, pool_pid`
- `[:quiver, :connection, :http3, :stop]` -- measurements: `duration` | metadata: `origin, peer_max_streams`
- `[:quiver, :connection, :http3, :exception]` -- measurements: `duration` | metadata: `origin, reason, kind`
- `[:quiver, :connection, :http3, :draining]` -- measurements: `system_time` | metadata: `origin, last_stream_id, error_code`

## HTTP/3 Datagrams & Channels

- `[:quiver, :connection, :http3, :datagram, :sent]` -- measurements: `bytes` | metadata: `origin, stream_id`
- `[:quiver, :connection, :http3, :datagram, :received]` -- measurements: `bytes` | metadata: `origin, stream_id`
- `[:quiver, :connection, :http3, :datagram, :send_failed]` -- measurements: `system_time` | metadata: `origin, stream_id, reason`
- `[:quiver, :connection, :http3, :datagram, :dropped]` -- measurements: `system_time` | metadata: `origin, stream_id, reason`
- `[:quiver, :connection, :http3, :channel, :start]` -- measurements: `system_time` | metadata: `origin, method, path`
- `[:quiver, :connection, :http3, :channel, :stop]` -- measurements: `duration` | metadata: `origin, close_reason`
- `[:quiver, :connection, :http3, :channel, :exception]` -- measurements: `duration` | metadata: `origin, kind, reason`

## HTTP/3 0-RTT Early Data

- `[:quiver, :connection, :http3, :ticket_received]` -- measurements: `lifetime, max_early_data` | metadata: `origin`
- `[:quiver, :connection, :http3, :early_data, :sent]` -- measurements: `count` | metadata: `origin, stream_id`
- `[:quiver, :connection, :http3, :early_data, :accepted]` -- measurements: `count` | metadata: `origin`
- `[:quiver, :connection, :http3, :early_data, :rejected]` -- measurements: `count` | metadata: `origin, reason`

---

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