> ## Documentation Index
> Fetch the complete documentation index at: https://docs.seekr.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Observability

> Monitor agent performance and investigate runs with span-level visibility.

export const SupportedOn = ({ui = false, api = true, sdk = true}) => <div className="inline-flex flex-wrap items-center gap-x-5 gap-y-2 px-4 py-2.5 rounded-lg border border-[#00dad3] bg-[#00dad3]/10 text-sm not-prose">
    <span className="font-bold text-black dark:text-white whitespace-nowrap">
      Supported on
    </span>
    <div className="flex items-center gap-5">
      <span className="inline-flex items-center gap-1.5 font-semibold text-black dark:text-white">
        <Icon icon={ui ? "circle-check" : "circle-xmark"} color={ui ? "#00dad3" : "#9ca3af"} size={16} />
        UI
      </span>
      <span className="inline-flex items-center gap-1.5 font-semibold text-black dark:text-white">
        <Icon icon={api ? "circle-check" : "circle-xmark"} color={api ? "#00dad3" : "#9ca3af"} size={16} />
        API
      </span>
      <span className="inline-flex items-center gap-1.5 font-semibold text-black dark:text-white">
        <Icon icon={sdk ? "circle-check" : "circle-xmark"} color={sdk ? "#00dad3" : "#9ca3af"} size={16} />
        SDK
      </span>
    </div>
  </div>;

<SupportedOn ui={true} api={true} sdk={true} />

Observability gives you visibility into how your agents are performing by capturing a record of every run. Each record includes when the run happened, which model was used, how many tokens were consumed, and whether any errors occurred.

## What you can see

Each agent run generates spans that capture:

* **Timing** – When a run started and ended
* **Model usage** – Which model handled the request
* **Token consumption** – Input and output token counts
* **Errors** – Whether an exception occurred and what type it was

## When to use

**Monitor agent health** – Track whether runs are completing successfully and identify patterns in failures.

**Investigate a failed run** – Retrieve spans for a specific run to see where it went wrong.

**Understand usage and costs** – Review token consumption across runs to inform capacity planning and cost management.

For implementation details, see [Observability SDK guide](/flow/sdk/observability).
