# `Twilio.Telemetry`
[🔗](https://github.com/jeffhuen/twilio_elixir/blob/main/lib/twilio/telemetry.ex#L1)

Telemetry event definitions for the Twilio SDK.

## Events

  * `[:twilio, :request, :start]` — Emitted before a request is made.

    Measurements: `%{system_time: integer()}`

    Metadata: `%{method: atom(), path: String.t(), product: String.t()}`

  * `[:twilio, :request, :stop]` — Emitted after a request completes (success or failure).

    Measurements: `%{duration: integer()}`

    Metadata: `%{method: atom(), path: String.t(), product: String.t(),
    status: integer() | nil, retries: integer(),
    request_id: String.t() | nil, error: Twilio.Error.t() | nil}`

  * `[:twilio, :request, :exception]` — Emitted when a request raises.

    Measurements: `%{duration: integer()}`

    Metadata: `%{method: atom(), path: String.t(), product: String.t(),
    kind: atom(), reason: term()}`

  * `[:twilio, :request, :retry]` — Emitted when a request is retried.

    Measurements: `%{attempt: integer(), wait_ms: integer()}`

    Metadata: `%{method: atom(), path: String.t(), product: String.t(),
    status: integer() | nil, reason: atom()}`

---

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