Use LangGraph streaming to send updates from a graph run to an application as they happen; use LangSmith tracing to record and inspect execution after or during a run. They solve different problems, so an app that needs both a responsive interface and useful debugging can use them together.
What is the difference between streaming and tracing?
LangGraph streaming emits runtime information from graph execution to a caller. Depending on the stream mode, that information can include message chunks, state changes, snapshots, custom progress events, or other execution details. Your application can use those events to update a UI while work is still underway.
As an Amazon Associate I earn from qualifying purchases.
LangSmith tracing records execution as runs and traces so you can inspect what happened. A trace can show nested work such as model calls, tool calls, and retrieval, along with their inputs, outputs, and structure. It is an observability view, not a mechanism for delivering live UI events to a client.
Free tools Windows power users keep installed
One-click scans. No signup required.
Should I use LangGraph streaming or LangSmith?
Choose based on the job you need to do. Streaming is the starting point for incremental output or application progress; tracing is the starting point for diagnosing execution and understanding behavior over time.
#1 Best Overall
| Need | Better starting point | Provides | Does not replace |
|---|---|---|---|
| Show tokens as the model generates them | LangGraph messages streaming |
Incremental message chunks and metadata from graph execution | Persistent execution inspection for debugging |
| Show graph progress or changed state | LangGraph updates or custom streaming |
Node state updates or application-defined progress payloads | A trace viewer for later diagnosis |
| Find why one operation failed or ran slowly | LangSmith trace | Nested runs and execution data for a single operation | Live event delivery to an application UI |
| Follow a multi-turn agent session | LangSmith thread | Linked traces across turns, with turn structure and timing | A flat message-only transcript |
| Read a session as ordered messages | LangSmith trajectory | Human, AI, and tool messages in order | Full execution nesting and detail |
| Provide a responsive interface and diagnose runs | Use both | Stream events to the client and trace execution for observability | Neither replaces the other’s role |
How do I stream tokens or progress from LangGraph?
LangGraph documents synchronous stream() and asynchronous astream() iterators. Select a mode that matches the event your application needs rather than streaming the entire state by default.
messages: use for LLM message and token chunks, with metadata.updates: use for state changes emitted after graph steps when consumers need only what changed.values: use for the full state after each graph step.custom: use when graph nodes should emit application-defined progress data, such as UI-oriented status events.
The streaming guide also documents modes for checkpoints, tasks, and debug information. The right mode depends on the event contract your application needs to expose; state snapshots and token chunks serve different purposes.
Rank #2
Check the API version before adopting an example
The current LangGraph streaming guide recommends its typed-projection event-streaming API for new applications and says that API was introduced in LangGraph v1.2. The same guide says the unified v2 chunk format for the stream-mode API requires LangGraph 1.1 or later. Examples using a particular event or chunk shape should therefore identify and match the installed LangGraph version.
How do I debug a LangGraph run in LangSmith?
LangSmith organizes execution at several levels. Use the level that corresponds to the question you are asking:
Rank #3
- Run: one unit of work, comparable to a span for readers familiar with OpenTelemetry.
- Trace: runs grouped for one operation, useful for inspecting nested model, tool, and retrieval work or diagnosing a slow or failed operation.
- Thread: linked traces across turns, preserving multi-turn structure and timing.
- Trajectory: an ordered list of human, AI, and tool messages without the nested run structure; useful for reading the conversation itself.
LangChain documents a limit of 25,000 runs per trace on its observability concepts page. LangSmith rejects additional runs sent after a trace reaches that limit.
Can I use LangGraph streaming and LangSmith tracing together?
Yes. Streaming and tracing are complementary: stream selected runtime events to the caller for the live experience, while tracing captures execution for later inspection. A token stream can keep a user interface responsive without giving up the nested execution detail needed to investigate a tool failure or model call.
For LangChain applications in Python or JavaScript/TypeScript, LangSmith’s quick start enables tracing through environment configuration, including LANGSMITH_TRACING=true and an API key. The documentation says normally run LangChain code is logged to the default project unless another project is configured. It also documents selective tracing and configuring a regional endpoint for accounts outside the default US region. These instructions are specific to the documented LangChain integrations, not a universal setup for every framework or deployment.
Recommended Free Tools
What should I verify before choosing a setup?
Choose the runtime API and the observability arrangement separately. The cited product documentation explains their capabilities, but does not establish which setup fits every deployment or account.
Quick Recap
- Confirm the LangGraph version supports the stream API and chunk format your code expects.
- Decide which events are useful to the client: message chunks, changed state, full state, or custom progress.
- Check privacy and data-handling requirements for execution inputs, outputs, and traces.
- Verify current LangSmith pricing, plan limits, retention, and feature availability for your account before making a purchasing or deployment decision; these vary beyond what the cited setup and concepts pages establish.
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




