Observability Model
AI applications are non-deterministic. The same input can take a different path, call different tools and cost a different amount each time. ANTS Platform records each run in full so you can see what happened, what it cost and how good the result was.
ANTS Platform is built on traces. Metrics such as cost, latency, token usage and error rates are computed from traces, not collected separately.
Hierarchy
Organization
Your company account. Members, roles, SSO, billing, credits, data retention and organization-wide features are managed here under Organization Settings. See Organizations & Projects.
Project
The container for data. API keys, traces, dashboards, models, integrations and most settings belong to one project. Every SDK or exporter writes to the project that owns its key.
Environment
Every trace and observation has an environment, such as production or
staging. The default is default. Set it with environment (or
ANTS_PLATFORM_TRACING_ENVIRONMENT) in the SDKs, or deployment.environment
in OpenTelemetry. Names must be lowercase letters, digits, hyphens or
underscores, up to 40 characters. Every table and dashboard can be filtered by
environment.
Agent
A named AI application, registered from the agent name your SDK sends or detected automatically for coding agents. See Understanding AI Agents.
Trace
One end-to-end run, such as one chat turn or one agent task. A trace has a name, timestamp, input, output, metadata, tags, user ID, session ID, environment, release and version. Latency, cost and token totals are computed from its observations.
Observation
A step inside a trace. Observations nest by parent to form a tree.
| Type | Use it for | Extra fields |
|---|---|---|
| Span | Any unit of work: a function, retrieval, tool call or agent step | Start and end time |
| Generation | An LLM or embedding call | Model, model parameters, token usage, cost, time to first token, linked prompt version |
| Event | A point in time with no duration |
Every observation has a level (DEBUG, DEFAULT, WARNING or ERROR) and
can carry input, output, metadata and a status message.
Session and user
Traces with the same session ID form a session. Traces with the same user ID roll up into a user. Both are plain strings that you choose.
Score and comment
A score is a named value (numeric, categorical or boolean) on a trace,
observation or session. Scores come from the API (source API), evaluators
(EVAL) or human annotation (ANNOTATION). Comments are free-text notes on a
trace, observation or session. See Scores.
Collecting data
| Method | Best for |
|---|---|
| Python SDK, JS/TS SDK, Java SDK | Your own applications and agents |
| OpenAI drop-in and LangChain callback | Automatic tracing of LLM calls and chains |
| CrewAI | CrewAI crews, through the SDK listener or native OpenTelemetry |
| OpenTelemetry (OTLP) | Any OTel-instrumented service, collector or tool |
| Coding Agent Telemetry | Claude Code, GitHub Copilot CLI, OpenAI Codex CLI |
| Trace Connectors | Agents hosted in AWS Bedrock and Google Vertex AI |
| Budget AI | Requests sent through the ANTS LLM gateway are traced automatically |
Ingestion is asynchronous. New data usually appears within seconds.
Querying data
In the UI
- Discover AI > Tracing and Sessions for individual traces and conversations.
- Gauge AI dashboards for cost, latency and usage: Cost Dashboard, Latency Dashboard, AI Usage, Cost Performance Metrics and Latency & Analytics.
- Gauge AI > Users for per-user totals.
See Observability and FinOps.
With the public API
The REST API under https://<your-ants-host>/api/public/ uses the same Basic
authentication as ingestion. It includes:
| Endpoint | Returns |
|---|---|
GET /api/public/traces, GET /api/public/traces/{traceId} | Traces |
GET /api/public/observations, GET /api/public/observations/{observationId} | Observations |
GET /api/public/sessions, GET /api/public/sessions/{sessionId} | Sessions |
GET /api/public/metrics | Aggregated metrics, from a JSON query parameter with view, metrics, dimensions and filters |
GET /api/public/v2/scores, POST /api/public/scores | Scores |
GET /api/public/comments, POST /api/public/comments | Comments |
The trace list leaves out input and output by default. See the API Reference.
A deployment can limit project keys to ingestion only. On such deployments,
read requests with a project key return 403.
Retention
Data is kept for the period set under Organization Settings > Data Retention: 30 days, 90 days, 6 months, 1 year, 2 years, 7 years or Indefinite. A nightly job deletes older data. Changing the period needs the data retention entitlement. See Data Retention.
Access control
Who can list traces, open trace content, see per-user data or change settings depends on role. See Who can see traces and Members & Roles.