Telemetry events for Workshop operations.
All events use the [:agent_workshop, ...] prefix. Attach handlers
for logging, metrics, cost tracking, or triggering workflows.
Events
[:agent_workshop, :ask, :start]
measurements: %{system_time: integer}
metadata: %{agent: atom, prompt: String.t()}
[:agent_workshop, :ask, :stop]
measurements: %{duration: integer, cost: float}
metadata: %{agent: atom, prompt: String.t()}
[:agent_workshop, :ask, :error]
measurements: %{duration: integer}
metadata: %{agent: atom, prompt: String.t(), error: term}
[:agent_workshop, :cast, :start]
measurements: %{system_time: integer}
metadata: %{agent: atom, prompt: String.t()}
[:agent_workshop, :cast, :complete]
measurements: %{duration: integer, cost: float}
metadata: %{agent: atom}
[:agent_workshop, :agent, :created]
measurements: %{system_time: integer}
metadata: %{agent: atom, role: String.t() | nil, backend: module}
[:agent_workshop, :agent, :dismissed]
measurements: %{system_time: integer}
metadata: %{agent: atom}Example handler
:telemetry.attach("cost-logger", [:agent_workshop, :ask, :stop], fn
_event, %{cost: cost}, %{agent: agent}, _config ->
IO.puts("Agent #{agent} cost $#{cost}")
end, nil)
Summary
Functions
Emit a telemetry error event.
Emit a one-shot telemetry event (no start/stop pair).
Emit a telemetry start event. Returns the start time for computing duration.
Emit a telemetry stop event with duration.
Functions
Emit a telemetry error event.
Emit a one-shot telemetry event (no start/stop pair).
Emit a telemetry start event. Returns the start time for computing duration.
Emit a telemetry stop event with duration.