# `Snakepit.Telemetry.Events`
[🔗](https://github.com/nshkrdotcom/snakepit/blob/v0.13.0/lib/snakepit/telemetry/events.ex#L1)

ML-specific telemetry event definitions.

Defines telemetry events for hardware detection, GPU profiling,
circuit breaker operations, and structured exceptions.

# `event`

```elixir
@type event() :: [atom()]
```

# `measurement_type`

```elixir
@type measurement_type() :: :integer | :float | :monotonic_time | :system_time
```

# `metadata_type`

```elixir
@type metadata_type() :: :string | :atom | :integer | :map | :list | :any
```

# `schema`

```elixir
@type schema() :: %{
  measurements: %{required(atom()) =&gt; measurement_type()},
  metadata: %{required(atom()) =&gt; metadata_type()}
}
```

# `all_ml_events`

```elixir
@spec all_ml_events() :: [event()]
```

Returns all ML-related telemetry events.

This combines hardware, circuit breaker, exception, GPU profiler,
and retry events.

# `circuit_breaker_events`

```elixir
@spec circuit_breaker_events() :: [event()]
```

Returns all circuit breaker telemetry events.

# `event_schema`

```elixir
@spec event_schema(event()) :: schema() | nil
```

Returns the schema for a given event.

Returns nil for unknown events.

# `exception_events`

```elixir
@spec exception_events() :: [event()]
```

Returns all exception/error telemetry events.

# `gpu_profiler_events`

```elixir
@spec gpu_profiler_events() :: [event()]
```

Returns all GPU profiler telemetry events.

# `hardware_events`

```elixir
@spec hardware_events() :: [event()]
```

Returns all hardware-related telemetry events.

# `retry_events`

```elixir
@spec retry_events() :: [event()]
```

Returns all retry/backoff telemetry events.

---

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