Langfuse alternatives for LLM observability

Langfuse is the broadest self-hosted option: traces, cost tracking, prompt versioning, datasets and evaluation in one place. Opik leans harder into evaluation and scoring, and Phoenix into inspecting retrieval quality. All three keep prompt data on your own instance, which is the main reason people leave a hosted tool.
At a glance
| Focus | Licence | Hosted here from | |
|---|---|---|---|
| Langfuse | Traces, cost, prompts, datasets, evals | MIT (core) | $11.99/mo |
| Opik | Evaluation, LLM judges, CI gates | Apache-2.0 | $11.99/mo |
| Phoenix | Tracing and RAG retrieval analysis | Apache-2.0 (Arize) | $11.99/mo |
| LangSmith | Hosted, tied to the LangChain ecosystem | Proprietary | n/a |
Why this layer stops being optional
One user request against an agent can become dozens of model calls. When the answer is wrong, the only tools available without tracing are a guess and a re-run. Tracing turns that into reading a tree: which tool was called, what it returned, how long it took, what it cost.
The cost view is usually what gets the budget approved. “Which feature is generating our AI spend” is unanswerable without it and obvious with it.
How the three differ in practice
Langfuse is the default because it covers the most ground: traces and spans, cost per call, prompt management with versioning, datasets and evaluation runs, with SDKs for the common languages. If you only host one tool in this category, host this one.
Opik is built around scoring — heuristics and model judges, experiments across prompt and model changes, and CI integration so a quality regression fails the build rather than reaching customers.
Phoenix is strongest at retrieval: when a RAG answer is wrong, it helps you see whether the retrieval was wrong or the generation was.
Against hosted tools
LangSmith and similar services are quicker to start and require nothing to operate. What you trade is where the prompts live — and prompt logs are, in most companies, the least reviewed and most sensitive dataset in the whole AI stack.
Self-hosting also decouples you from one framework’s ecosystem. Langfuse, Opik and Phoenix all accept OpenTelemetry-style instrumentation from whatever you happen to be using.
The verdict
Host Langfuse first — it answers the most questions per instance. Add Opik when prompt changes need to be measured rather than argued about, and Phoenix when retrieval quality is the thing under suspicion. Pair any of them with a LiteLLM gateway so the traffic is already passing through something that can report on it.
Mentioned on this page
Questions
Does Langfuse work without LangChain?
Where is trace data stored?
Can I log through my gateway instead of instrumenting every app?
Put your AI stack on your own box
Pick an app, pick a size, and have it running today. Month to month, cancel whenever.