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

Telemetry event definitions for Snakepit.

> #### Legacy Optional Module {: .warning}
>
> `Snakepit` does not call this module internally. It remains available for
> compatibility and may be removed in `v0.16.0` or later.
>
> Prefer direct `:telemetry` handlers together with
> `Snakepit.Telemetry.Events`, `Snakepit.Telemetry.Naming`,
> and `Snakepit.Telemetry.GrpcStream`.

This module provides:
- Complete event catalog (Layer 1: Infrastructure, Layer 2: Python, Layer 3: gRPC)
- Event handler management
- Integration with the distributed telemetry system

See `Snakepit.Telemetry.Naming` for event name validation and atom safety.
See `Snakepit.Telemetry.GrpcStream` for Python telemetry folding.

## Usage

    # Attach handlers to specific events
    :telemetry.attach(
      "my-handler",
      [:snakepit, :python, :call, :stop],
      &MyApp.Telemetry.handle_python_call/4,
      nil
    )

    # Emit a pool event
    :telemetry.execute(
      [:snakepit, :pool, :worker, :spawned],
      %{duration: 1000, system_time: System.system_time()},
      %{node: node(), worker_id: "worker_1", pool_name: :default}
    )

# `attach_handlers`

Attaches default handlers for all events.

# `attach_heartbeat_handlers`

Attaches default handlers for heartbeat events.

# `attach_program_handlers`

Attaches default handlers for program events.

# `attach_session_handlers`

Attaches default handlers for session events.

# `deprecation_events`

Deprecation lifecycle telemetry events.

# `events`

Lists all telemetry events used by Snakepit.

# `grpc_events`

gRPC communication events.

# `heartbeat_events`

Heartbeat and monitor telemetry events.

# `pool_events`

Pool and worker lifecycle events.

# `program_events`

Program-related telemetry events (session store).

# `python_events`

Python worker telemetry events (folded back from Python workers).

# `runtime_events`

Runtime enhancement events (zero-copy, crash barrier, exception translation).

# `script_events`

Script shutdown lifecycle telemetry events.

# `session_events`

Session-related telemetry events (session store).

---

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