# `WardrikCore.Telemetry`

The events an agent emits, to `:telemetry` and to its `WardrikCore.Events` module.

Every event's metadata has `agent_id` and `conversation`. Each line lists the other metadata,
then the measurements.

## Events

  * `[:wardrik_core, :agent, :start]` - `state`
  * `[:wardrik_core, :agent, :stop]` - `reason`
  * `[:wardrik_core, :message, :queued]` - `message`. Measures `queued`.
  * `[:wardrik_core, :message, :delta]` - `span`, `kind` (`:content` or `:thinking`), `text`.
  * `[:wardrik_core, :turn, :start]` - `kind`, `span`, `message_ids`, and the `metadata` given to
    `WardrikCore.resume/3`.
  * `[:wardrik_core, :turn, :stop]` - `kind`, `span`, `outcome`, and `messages` added, `reason`
    it parked or failed, or `kept` and `dropped` when interrupted. Measures `duration`.
  * `[:wardrik_core, :turn, :checkpoint]` - measures `calls`.
  * `[:wardrik_core, :tool_call, :exit]` - `call`, `reason`.
  * `[:wardrik_core, :step, :start]` - `step`, `span`, and `model` for `:generate`.
  * `[:wardrik_core, :step, :stop]` - `step`, `span`, `status`, `attributes`, and `response` or
    `reason`. Measures `duration` and what the step measured.
  * `[:wardrik_core, :step, :exception]` - `step`, `span`, `kind`, `reason`, `stacktrace`.
  * `[:wardrik_core, :subagent, :started]` - `span`, `agent`, `prompt`.
  * `[:wardrik_core, :subagent, :progress]` - `span`, `agent`, `call`, `tool_calls`.
  * `[:wardrik_core, :subagent, :completed]` - `span`, `agent`, `message`, `duration_ms`,
    `tool_calls`, `measurements`.
  * `[:wardrik_core, :subagent, :failed]` - `span`, `agent`, `error`, `duration_ms`,
    `tool_calls`, `measurements`.

---

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