Traditional logging was built for deterministic code. LLM observability has to handle something messier: nondeterministic models, token-based billing, and outputs that are hard to assert against. This guide covers what to track on every LLM call and the observability tools that make AI observability actionable.
Why LLM observability is different
When a request fails, a classic log tells you the status code. When an LLM call returns a subtly wrong answer, nothing throws an exception - and the request "succeeded". LLM observability means capturing the dimensions that actually matter for generative workloads: latency, cost, tokens, provider, model, and quality.
An AI observability platform gives you a complete picture of a request the moment it happens:
- Latency - time to first token, total duration, and the routing overhead of your gateway.
- Cost - exact spend per request, computed from input and output token counts.
- Tokens - prompt vs. completion breakdown, so you can spot bloated system messages.
- Status - success, rate-limited, cached, or server error, with the raw code.
- Quality - evaluation scores attached to the request so "healthy" is measurable.
LLM observability tools to look for
Not every observability tool is built for LLMs. The ones that matter combine a request ledger with analytics you can slice by any dimension:
- A request ledger that logs every call with model, provider, cost, latency, tokens, and time.
- LLM traces that group multi-step flows - RAG pipelines, agent loops - across many requests.
- Custom properties so you can tag requests by environment, feature, or tenant.
- Analytics over cost, latency, and quality by model, provider, user, or any property.
- Export to CSV or JSONL for security reviews and offline analysis.
Getting started with LLM observability
You don't need to build a pipeline from scratch. Point your SDK at one OpenAI-compatible endpoint, and observability is collected automatically:
from openai import OpenAI
client = OpenAI(
api_key="inf_prod_x9y8z7",
base_url="https://api.infere.dev/v1",
)
response = client.chat.completions.create(
model="auto", # routed across providers
messages=[{"role": "user", "content": "Summarize the latest release"}],
)
# Latency, cost, tokens, and model are logged automatically
ML observability vs. LLM observability
Traditional ML observability tracks model features, predictions, and data drift in batch. LLM observability (sometimes called AI observability or an ML observability platform) extends that to live, token-based inference - with prompt logging, per-request cost, and evaluation at the edge. Both matter; an AI observability platform that handles the generative layer first will pay for itself quickly.
Every request you don't observe is a cost you can't explain and a regression you can't catch.
Next steps
Infere is an AI observability platform built around LLM observability: a full request ledger, LLM traces, cost analytics, and evaluation in one place. Try it with any OpenAI-compatible SDK - no rewrites required.
Cost analytics are a core part of observability - see the true cost of agentic coding for a breakdown of where token spend goes across agentic tools.