Snakepit.Telemetry (Snakepit v0.6.10)

View Source

Telemetry event definitions for Snakepit.

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}
)

Summary

Functions

Attaches default handlers for all events.

Attaches default handlers for heartbeat events.

Attaches default handlers for program events.

Attaches default handlers for session events.

Lists all telemetry events used by Snakepit.

gRPC communication events.

Heartbeat and monitor telemetry events.

Pool and worker lifecycle events.

Program-related telemetry events (session store).

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

Session-related telemetry events (session store).

Functions

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.

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).

session_events()

Session-related telemetry events (session store).