If you read one line: AgentCore now gives every new agent free per-agent tracing, so the real question isn't "Langfuse or Phoenix?" — it's "do I need either?" Answer: native tracing is enough when AgentCore is your entire stack. Add Langfuse for prompt management and cost dashboards, Phoenix for evals — and because all three speak OpenTelemetry, you can run more than one from the same spans.
For two years the founder's LLM-observability decision was a three-way fight between hosted dashboards, self-hosted open source, and rolling your own. Then, on July 20, 2026, Amazon Bedrock AgentCore started giving every new agent unified, per-agent tracing in one CloudWatch log group by default. If you host on AgentCore, you now get production observability for free — which quietly rewrites the question.
The decision hinges on one thing: is AgentCore your whole stack?#
That's the fork. AgentCore's observability is excellent and AWS-shaped. It lives in CloudWatch, it assumes your agents run on AgentCore, and it does one job extremely well: showing you what a running agent actually did — the trace, the prompts, the logs, the stdout, correlated in one place. What it is not is a prompt-management system, a dataset store, or an evaluation platform. So:
- If AgentCore is your entire runtime and you mainly need to debug and monitor live agents, the native tracing is very likely all the runtime visibility you need. Don't pay a vendor to duplicate it.
- The moment you step outside that box — a second model provider off AWS, a prompt you want to version and roll back, an eval you want in CI — you've hit the edge of what CloudWatch is for, and a dedicated tool earns its keep.
What the vendors add that CloudWatch won't#
Langfuse is the production platform. Beyond tracing it gives you prompt management and versioning, datasets, cost and token tracking, LLM-as-judge evals, and shared dashboards — with an MIT-licensed core you self-host or run on Langfuse Cloud. Its decisive edge over AgentCore is that it's vendor-neutral: it traces any framework, any model, anywhere, so it survives you moving off AWS or going multi-cloud. If your pain is "I need to govern prompts and see cost across everything," this is the pick.
Arize Phoenix is the evaluation specialist. It's local-first and notebook-friendly, built natively on OpenTelemetry and the OpenInference conventions, and has the strongest built-in evals of the three for running LLM-as-judge scoring and comparing prompt variants against datasets. If your pain is "I need to measure quality, not just watch traffic," Phoenix is where that work lives — often on sampled traces, offline.
The reveal: it's not either/or#
Here's the part the "vs" framing hides. All three are OpenTelemetry-based. AgentCore emits OTLP-compatible spans; Langfuse ingests OpenTelemetry spans; Phoenix both emits and accepts OTLP. So the mature setup isn't a single winner — it's a pipeline. Keep AgentCore's native CloudWatch tracing for ops and on-call, and fan the same spans out to Langfuse for prompt governance and cost, or to Phoenix for offline evals, with no second instrumentation pass. A common production split is exactly that: your live platform (AgentCore or Langfuse) for traffic, Phoenix for evaluation.
The call#
Start where the cost is zero. If you're on AgentCore, turn on the native observability — enable Transaction Search, ship, and let real traces show you what's missing. Add Langfuse when you need prompt versioning, cost dashboards, or tracing that outlives AWS. Add Phoenix when you're ready to put evals in the loop. And because it's all OTel underneath, you never have to pick just one — you graduate from native, you don't rip it out. For the deeper open-source-only matchup, our Langfuse vs Laminar vs Arize Phoenix piece goes further on the two vendors.



