Skip to main content
Instrumentation is how your application’s activity becomes data in to11. Every LLM call is recorded as an OpenTelemetry-native trace — model, tokens, latency, finish reason, and the prompt and completion text (captured by default) — following the OpenTelemetry GenAI semantic conventions. Because the data is standard OTel, any compatible viewer can read it, and your traces are never locked to a proprietary format. There are two ways to get that data in. Most applications use the first; the second exists for everything the gateway never sees. Either way, every call your application makes ends up on the record — cranked to eleven.
                          automatic
  Your app ──SDK──▶ Gateway ──────────┐
                                       ├──▶ GenAI spans ──▶ to11
  Your app ──OTel SDK──▶ Collector ───┘
                           direct

Through the gateway

Point your existing LLM SDK at the gateway and authenticate to to11 with your to11 API key. Every request is then routed, secured, and traced automatically, and each call produces a GenAI span — with no tracing code, no OpenTelemetry SDK, and no extra dependencies. The gateway emits the spans for you. This is the recommended path and covers most applications. It works with the OpenAI, Anthropic, and Vercel AI SDKs; see Integrations to connect yours.

Send spans directly

If you already emit OpenTelemetry spans, or you want to capture work the gateway never sees — retrieval steps, tool execution, custom pipeline stages — send OTLP spans straight to the to11 collector. The spans land in the same store as gateway traces and correlate with them under a shared trace ID. This path needs your own OTel SDK, but it is the only way to record activity that does not pass through the gateway. See Direct ingestion for the full walkthrough.

Which path?

The two paths are not exclusive — many applications send LLM calls through the gateway and use direct ingestion for the surrounding work.
If you…Use
Call LLMs through a standard SDK and want zero tracing codeThrough the gateway
Want routing, fallback, and credential management alongside tracingThrough the gateway
Make calls the gateway can’t proxy, or already run an OTel SDKDirect ingestion
Need spans for retrieval, tool calls, or non-LLM pipeline stepsDirect ingestion
Want LLM calls and surrounding work in one traceBoth, correlated by trace context

What gets captured

SignalWhere it comes from
GenAI spansEvery gateway call, or spans you send directly
Span attributesModel, tokens, latency, finish reason — see Span attributes
Distributed tracesMulti-call and multi-agent workflows — see Distributed tracing
Prompt/completion contentCaptured by default, configurable — see Content capture

Next steps

Connect your SDK

Point the OpenAI, Anthropic, or Vercel AI SDK at the gateway.

Telemetry

How telemetry is modeled, exported, and named.

Direct ingestion

Send custom OTLP spans straight to the collector.

Span attributes

Every attribute the gateway records, by lifecycle stage.