Unify Logo Footer.svg
AI Governance
Logo
LangChain & LangGraph

LangChain & LangGraph

Logo

4 mins READ

Introduction

LangChain and LangGraph are separate entries in the platform picker, and the distinction is not cosmetic — they produce differently shaped traces. Registering under the right one is what makes the trace timeline readable later.

Where to find it

AI Governance > Agent Registry > Register Agent > select LangChain or LangGraph. After registration the agent's Setup tab carries the instrumentation instructions.

Which one to choose

LangChain

LangGraph

Shape of the work

A chain — steps in sequence

A graph — nodes with branching and loops

A trace looks like

A mostly linear timeline

A timeline that revisits nodes

The interesting failure

A step that returned the wrong thing

A cycle that did not terminate

If your agent is built on LangGraph, register it as LangGraph even though LangGraph builds on LangChain. The platform is a property of the record, and it is what the trace view uses to decide how to present the run.

What registration and setup actually involve

  1. Register the agent — Platform, name, owner, and the connection type: Observe · Advisory or Control · Enforced. Choose Control · Enforced only if the agent routes its calls through UnifyApps; in Control mode a matching control blocks or masks. The agent enters the registry as Setup Pending — registered and not yet sending anything.

  2. Open its Setup tab — It shows "Connect <platform>" — "Instrument the agent to bring its traces in." — with a Waiting for traces… pill and numbered steps: install dependencies, point the agent at your UnifyApps endpoint (UNIFYAPPS_COLLECTOR_ENDPOINT, UNIFYAPPS_API_KEY), add credentials, initialise tracing, group traces into a session, and run the example. It replaces Overview only while the agent is awaiting its first traces.

  3. Follow the instructions shown for your platform — The panel renders the current instructions for LangChain or LangGraph specifically. Follow what is on screen rather than anything written down elsewhere — including this page.

  4. Run the agent once — Status moves to Active when the first trace lands. The page polls, so you do not need to refresh.

Note: This page deliberately does not reproduce the install snippets. Setup content is maintained per platform and can change without a documentation release, so a copy here would eventually be wrong in a way that looks authoritative. The Setup tab is the source. What this page covers is everything the panel does not tell you.

What LangChain and LangGraph traces give you

Instrumentation captures the run as a timeline of steps. For governance purposes the ones that matter are not the model calls:

  • Tool calls are where an agent acts on the world, and where Tool input and Tool output controls read. See Where Controls Run.

  • Retrieved content arriving through a tool is the classic prompt-injection surface — the agent has no reason to distrust a document it fetched itself.

  • The shape of the run exposes retries and loops, which is where unexplained cost lives.

The LangGraph-specific thing to watch

Graphs can revisit nodes, which is the point of them and also the failure mode. A cycle that runs more times than intended costs money on every pass and produces a trace with a repeating shape.

Two consequences worth planning for before you instrument:

  1. Spend per trace is your early warning — An agent whose average run cost climbs without a matching change in volume is usually looping. See Cost Explorer Overview.

  2. A control on Tool input fires once per pass — If a cycle calls the same tool five times, a matching control raises five incidents. That is correct behaviour and it will look like a noise problem. Read the trace before tuning the control.

One registry record, or several

A common early mistake is registering one record for an entire application when the application runs several distinct agents.

Register separately when

Register as one when

They have different owners

One team owns the whole thing

They need different policies

The same rules apply throughout

You want their cost separated

Cost is only meaningful in aggregate

One is customer-facing and one is not

They share an audience

The registry record is the unit of ownership, policy coverage and cost attribution all at once. Splitting later means losing the history under the old record.

"Register at the granularity you would want to govern, not the granularity you happened to deploy."

If traces do not arrive

Symptom

Check

Still Setup Pending after a run

Has the agent actually executed since you instrumented it? Status waits on data, not on time

Traces arrive under a different agent

The ingest key or agent id in the exporter config belongs to another record

Traces arrive but tool calls are missing

The instrumentation is capturing model calls only. Tool spans need the framework's tracing enabled, not just the LLM wrapper

Nothing at all, no errors

Exporters usually fail silently. Confirm the endpoint is reachable from where the agent runs — not from your laptop