LangSmith is the native observability surface for LangChain and LangGraph.
When tracing is enabled, graph nodes, model calls, and tools nest under one run so you can see which branch fired, not only that the agent finished.
Use this page when your runtime is already LangGraph-shaped and you want the least friction from code to a useful trace UI.
Set tracing env vars (LANGSMITH_TRACING / LANGSMITH_API_KEY or current LangChain equivalents - verify at build), run your compiled graph, open the run in LangSmith, and wrap non-LangChain I/O with traceable or SDK wrappers so custom tools still nest correctly.
Attach tags and metadata via runnable config so you can filter prod vs staging, tenant, agent version, or canary cohort.
Stable thread_id values make "show me this user's last failed run" possible.
Avoid bare user ids alone when concurrent sessions exist; add a session suffix.
Agents dump CRM fields and tokens into tool observations.
Configure masking, limit who can open production projects, and align retention with security policy.
You want node nesting with minimal custom instrumentation
You will use the same platform for datasets and evals
Choose something else when you need strict open-source self-hosting by default, multi-framework neutrality first, or deep eval-first workflows (see Langfuse and Phoenix pages).
No, but LangChain integrations auto-nest. Custom code needs traceable / wrappers.
LANGSMITH_* vs LANGCHAIN_* env vars?
Both families have been used as the product evolved. Confirm the current preferred names in LangSmith docs at build and set them in all runtimes.
Will stream tokens show up?
Yes when models emit streamed tokens under a traced context. Confirm your stream mode and model integration support.
How do I trace only a fraction of production traffic?
Use sampling/project settings in LangSmith (verify current controls at build) or enable tracing only on canary deployments.
Can I self-host?
Deployment options evolve. Check current LangSmith docs for self-hosted/enterprise if required.
How does this page differ from the LangGraph section's LangSmith article?
This page sits with broader monitoring choices (Langfuse, Phoenix, custom, infra pairing). The LangGraph-focused recipe emphasizes graph wiring detail.
How do interrupts / HITL pauses appear?
Paused runs and resume turns should link on the thread; exact UI chrome changes over time, so confirm with a HITL demo trace.
Should CI enable tracing?
Yes for integration suites with a dedicated project and short retention, so flaky tool paths are inspectable.
What alerts should sit beside LangSmith?
Task success rate, tool error rate, p95 node latency, cost per successful thread, and interrupt wait time.
Can I use LangSmith with OpenRouter or other providers?
Yes when the client is instrumented (LangChain model packages or wrappers). Provider choice does not remove the need for host-side tracing.