A LangGraph run can loop through nodes dozens of times before it finishes, or does not finish. AgentPing rolls the whole graph execution into one run record: what it cost, whether it completed, how long it took, and whether the output held up.
Graphs make agent control flow explicit, and they make runaway cost invisible. A conditional edge that keeps routing back through your model node burns tokens on every pass, and nothing in the provider bill tells you which graph, which customer, or which loop did it. LangSmith traces the steps; the run-level questions, what did this execution cost and did it succeed, still need answering.
Initialise once, then wrap the graph invocation. Every node the graph visits, including loops, retries and tool calls, rolls up into a single run record with cost, status and latency.
pip install agentping
from agentping import init, run
init(api_key=os.environ["AGENTPING_API_KEY"], agent="research-graph")
# Wrap the invoke; every node the graph visits rolls up into one run.
with run(agent="research-graph", customer_id="acme-corp"):
result = graph.invoke({"messages": [("user", question)]})
Full setup, environment variables and options are in the Python SDK docs.
Send one run from LangGraph and see cost, status and latency. Then add an alert for cost spikes or missed runs.
Monitoring plain LangChain chains → AgentPing vs LangSmith → Spend, cost attribution → Verify, quality scoring → Pulse, live monitoring →