SkillKit.Telemetry.Handler behaviour (SkillKit v0.1.0)

Copy Markdown View Source

A behaviour and macro for creating event handlers that subscribe to telemetry events.

Usage

defmodule MyApp.Handlers.AgentLogger do
  use SkillKit.Telemetry.Handler, events: [
    [:skill_kit, :agent, :turn, :stop]
  ]

  @impl true
  def handle_event([:skill_kit, :agent, :turn, :stop], measurements, metadata) do
    Logger.info("Turn completed in #{measurements.duration}ns for #{metadata.agent_name}")
    :ok
  end
end

The handler module becomes a GenServer that:

  • Subscribes to the specified telemetry events on startup
  • Calls handle_event/3 when events are emitted
  • Can be added to a supervision tree

Summary

Callbacks

handle_event(event, measurements, metadata)

@callback handle_event(event :: list(), measurements :: map(), metadata :: map()) :: any()