Same spans, second viewer. Langfuse shows what a call cost; Phoenix lets you score it, replay it, and run experiments against it.LLM observability sends every LLM trace through Cribl Stream, which fans it out to Langfuse and Splunk. Phoenix is a third leg on that same input. Nothing upstream changed: the apps still emit to the collector, and the collector still decides where spans go.
Why a second trace viewer
Langfuse and Phoenix overlap on tracing, but they lean in different directions.
Phoenix is not a replacement. Langfuse stays the trace-of-record and keeps the
cost view. Phoenix is where you take a bad trace and turn it into a test case.
Self-hosting and license
Arize sells a cloud product (Arize AX) that you cannot self-host. Phoenix is the open server underneath it, and it self-hosts as one container plus Postgres.
For a homelab, ELv2 costs nothing. The clause to keep in mind is the
managed-service one, which applies if you offer your instance to other people.
This page is a summary, not legal advice.
Why not Helicone? It is Apache 2.0 and unlimited too, but it is proxy-based.
It only sees traffic that passes through its own gateway or SDK, and it has
no OTLP intake. Cribl cannot fan out to it, so it would need every producer
re-pointed at a second front door. Its standalone gateway repository had no feature commits
after July 2025 and was relicensed to GPL-3 that November (checked September
2026). Phoenix fits the existing pipeline; Helicone would replace part of it.
Where it sits
The Phoenix leg runs its own Cribl pipeline. It keeps the same guards as the Langfuse leg: drop non-trace signals, drop plumbing spans, trim noise, and redact credentials. It skips the Langfuse-specific attribute rewrites, because Phoenix reads the emitted GenAI attributes as they are. Both pipelines loop over the same lists in the Cribl role, so there is one place to add a span name or a redaction pattern.Reaching it
Phoenix follows the two rules every service in this stack follows.- Humans open
https://phoenix.<subdomain>/and sign in through Authelia. Phoenix auto-creates a user on first SSO login, because Authelia already decides who may reach the app. - Cribl POSTs to
/v1/traceson the same host with a bearer API key minted in Phoenix. That path sits outside the Authelia gate, so an unauthenticated call gets Phoenix’s own401, never a login redirect.
Where to go next
LLM observability
The OTLP pipeline Phoenix hangs off.
Pipeline flows
Every ingest leg, including the OTLP fan-out.
ansible-proxmox-ai
Deploys Phoenix beside Langfuse.
AI orchestration stack
The tools whose calls both viewers trace.