LLM observability

See every token.
Debug any trace.

OpenTelemetry-native tracing for LLM apps. Instrument once and inspect every LLM call, tool call, and RAG retrieval across dev, staging, and production - with cost and latency on every span.

Read the docs$ pip install langwatch
trace · handle_message1.84s · 6 spans
handle_message
1.84s
RAG Document Retrieval
0.42s
embed query
0.12s
vector_search
0.2s
generate_answer
1.24s
format_response
0.06s
New

The new trace explorer.

Ask for the traces you need, visualize them however debugging demands, and save the views you return to, all on top of the observability you already rely on.

Ask AIshow me the top 10 traces with errors
Origin
Application1.1K
Evaluation1.0K
Simulation445
Gateway0
Status
OK2.2K
Error385
Warning0
Error message
Could not connect to Weaviate95
403 Cloud Firestore API not enabled37
requires string as left operand18
File not found: file_011stale11
6 spans · 1.84s

Gantt-style timeline. Every span is a row; the bar shows when it started and how long it ran. The fastest way to spot slow steps.

tracehandle_message
1.84s
ragRAG Document Retrieval
0.42s
llmembed query
0.12s
toolvector_search
0.20s
llmgenerate_answer
1.24s
fnformat_response
60ms
AI-powered Ask

Ask the explorer in plain English, "show me the top 10 traces with errors", instead of building filters by hand. A faster way to debug.

Richer visualizations

Waterfall, flame charts, span lists, topology graphs, and sequence diagrams for agentic systems, so unexpected tool-call patterns stand out.

Read it your way

Inspect input and output in a pretty view, or as plain text, JSON, or markdown. Your preferred way of looking at the data.

Waterfall + full audit trail

See input/output sequencing and the complete agent-to-agent communication trail, visibility that basic logs simply cannot give you.

Filterable, linked to evals

Filter by model, project, labels, metadata, and origin (application, eval, simulation), then build datasets straight from selected traces.

Your own lenses

Save a view as a lens. Come back to traces and your layout, filters, and columns are exactly how you left them.

And all the observability you already count on: errors in one place, cost, tokens, duration, models, events, evals, and annotations, ready to build graphs from straight off your traces.

Already works with your whole stack.

LangWatch traces are standard OpenTelemetry spans, enriched with semantic attributes (langwatch.span.type, langwatch.inputs, langwatch.outputs). Keep them in LangWatch, or fan them out to Grafana, Datadog, Jaeger, or any OTel backend you already run. Same spans, every backend.

OTel spans
GrafanaDatadogJaeger+ your OTel backend
Auto-instrumented
OpenAIAzureLangChainLangGraphDSPyCrewAIHaystackAWS BedrockLiteLLMVercel AI SDKPydantic AI…and anything that speaks OpenTelemetry