# `AdyenClient.Telemetry`
[🔗](https://github.com/iamkanishka/adyen_client/blob/v1.0.0/lib/adyen_client/telemetry.ex#L1)

Telemetry integration for AdyenClient.

## Events

- `[:adyen_client, :request, :start]` — before each HTTP request
  - metadata: `%{method: method, url: url, body: body}`
- `[:adyen_client, :request, :stop]` — after each HTTP request
  - measurements: `%{duration: native_time}`
  - metadata: `%{method: method, url: url, status: :ok | :error}`
- `[:adyen_client, :request, :exception]` — on unexpected exception

## Usage

    :telemetry.attach("my-handler", [:adyen_client, :request, :stop], fn event, meas, meta, _ ->
      Logger.info("Adyen #{meta.method} #{meta.url} in #{meas.duration}ns: #{meta.status}")
    end, nil)

# `request_start`

```elixir
@spec request_start(atom(), String.t(), map() | nil) :: :ok
```

# `request_stop`

```elixir
@spec request_stop(atom(), String.t(), term(), integer()) :: :ok
```

---

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