OpenLLMetry emits OTel-shaped spans so the same instrumentation feeds any OTel backend, letting you switch or run multiple backends without touching application code.
Imagine a universal power plug. Vendor-specific plugs only fit one wall (and you have to rewire your appliance to switch). A universal plug works in every wall in every country. OpenLLMetry is the universal plug for LLM telemetry: it produces spans in a shape that every observability backend understands, so the same instrumentation code can stream to Langfuse today and Phoenix tomorrow without the application noticing.
Concept explanation~2 min read
Everything you need to truly understand this topic: intuition, mechanics, step by step explanation, code, formulas, and worked example. Click to expand.
Concept explanation~2 min read
Everything you need to truly understand this topic: intuition, mechanics, step by step explanation, code, formulas, and worked example. Click to expand.
OpenLLMetry sits at the bottom of the LLM observability stack. It is not a backend, not a UI, not an eval framework. It is an instrumentation library. The fact that 'OTel-shape spans, sent anywhere' is enough to build a successful library around tells you something about the 2026 LLM observability landscape: backend portability is a feature worth paying for, and most vendor SDKs do not provide it.
This deep dive walks through what OpenLLMetry does, why backend portability is its single load-bearing property, and how it fits in a production reference architecture.
Mental model: OpenLLMetry is the LLM-flavored equivalent of the OTel auto-instrumentation libraries for HTTP and database calls. It makes the application emit the right shape so the backend can be swapped freely.
What OpenLLMetry actually does
The instrumentation surface
One import and one initialization call, and OpenLLMetry auto-patches your LLM SDK calls to emit OTel-shape spans. The covered surface in 2026:
- LLM providers: OpenAI, Anthropic, Cohere, Mistral, Google GenAI, Azure OpenAI, AWS Bedrock, Together, Replicate, Groq.
- Frameworks: LangChain, LlamaIndex, Haystack, Semantic Kernel, CrewAI, DSPy.
- Vector stores: Pinecone, Weaviate, Qdrant, Chroma, Milvus, pgvector.
- Reranker libraries: Cohere rerank, Voyage rerank, BGE reranker.
For anything not auto-instrumented, OpenLLMetry exposes manual span APIs that follow the same conventions.
The span shape
Each span carries OTel GenAI attributes (gen_ai.system, gen_ai.request.model, gen_ai.usage.input_tokens, etc.) plus OpenInference span kinds (LLM, RETRIEVER, RERANKER, EMBEDDING, AGENT, TOOL). The two conventions are complementary, not competing: GenAI defines the attribute vocabulary, OpenInference defines the kind taxonomy that auto-evaluators key off.
The export path
Spans go out as OTLP (the standard OpenTelemetry protocol) to whatever endpoint you configure. That endpoint is typically a local OTel collector, but it can be the backend directly if you do not need collector-side processing.
Situations where this technique stops working.
2–4 min · Everything important, quickly.
Real products, models, and research that use this idea.
- Traceloop ships OpenLLMetry as the open-source instrumentation that fans out to Langfuse, Phoenix, Datadog, Honeycomb, and any OTel collector.
- Phoenix's own getting-started guides include OpenLLMetry as a recommended instrumentation path for non-Phoenix applications.
What an interviewer would ask next. Try answering before peeking at the approach.
QHow does OpenLLMetry coexist with the OTel collector, and what does each do?
OpenLLMetry auto-instruments the LLM SDKs and emits OTLP spans. The application emits OTLP to a local OTel collector. The collector enriches (resource attributes, redaction processors), batches, and fans out to one or more backends (Langfuse, Phoenix, Datadog). This split keeps the application unaware of backend choice.
Red flags & common mistakes
The phrases that signal junior thinking. Click to expand.
Red flags & common mistakes
The phrases that signal junior thinking. Click to expand.
Picking the speed option. OpenLLMetry is not faster than vendor SDKs in any meaningful sense; performance was never its differentiator.
60 second bullets to scan on the way to the call.
OpenLLMetry's central design bet: OTel-shape spans
OTel GenAI conventions plus OpenInference shape
Primary sources. Browse if you want the original framing.
Same topic, related formats. Practice these next.