# `Electric.Telemetry.IntervalTimer`
[🔗](https://github.com/electric-sql/electric/tree/%40core/sync-service%401.6.2/packages/sync-service/lib/electric/interval_timer.ex#L1)

Times intervals between calls to `start_interval/2`. This is useful if you
want to find out which part of a process took the longest time. It works
out simpler than wrapping each part of the process in a timer, and
guarentees no gaps in the timings.

The simplest way to use the timer is to store the timer state in the
process memory, see `OpenTelemetry.start_interval`. This module should
only be used directly if you do not want to use the process memory.

# `t`

```elixir
@type t() :: [{term(), non_neg_integer()}]
```

# `durations`

# `init`

# `start_interval`

# `time`

# `total_time`

---

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