# `PgRest.Telemetry`
[🔗](https://github.com/agoodway/pgrest/blob/v0.1.0/lib/pg_rest/telemetry.ex#L1)

Telemetry events emitted by PgRest.

PgRest uses `:telemetry.span/3` to instrument query pipeline operations.
Each operation emits start, stop, and exception events.

## Events

### `[:pgrest, :query, :start]`

Emitted when a query pipeline operation begins.

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

**Metadata:**

  * `:resource` - the resource module being queried
  * `:operation` - one of `:read`, `:create`, `:update`, `:delete`,
    `:bulk_create`, `:bulk_update`, `:bulk_delete`, `:upsert`
  * `:repo` - the Ecto repo module

### `[:pgrest, :query, :stop]`

Emitted when a query pipeline operation completes successfully.

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

**Metadata:** same as start event.

### `[:pgrest, :query, :exception]`

Emitted when a query pipeline operation raises an exception.

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

**Metadata:** start metadata plus:

  * `:kind` - the exception kind (`:error`, `:exit`, `:throw`)
  * `:reason` - the exception or thrown value
  * `:stacktrace` - the stacktrace

---

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