Your agents made 14,302 tool calls today.
You watched five of them.

AgentGraph reads every span your agents emit in production — every prompt, every tool argument, every dollar — and tells you which tool they should have picked instead. One line to start.

live·v0.4.2 · span-level OTLP export·38ms p50 ingest·4.2M traces / day·self-host preview →
agentgraph.dev/p/acme/dashboard
checkout-agent · prod · last 14d
checkout-agent/overview

Overview

Live24h14d30d
TRACES
0
▲ 12.4%
TOKENS
0M
→ steady
SPEND — after rec
$0.07
▼ $812 saved · 14d
ERROR RATE
0%
▲ 0.08 pp

Top spend by model

last 14 days
  • gpt-4o
    $3,841
  • claude-3.5-sonnet
    $2,108
  • gpt-4o-mini
    $1,402
  • claude-3-haiku
    $791
  • embedding-3-large
    $324
WORKS WITH
  • OpenAI
  • Anthropic
  • Bedrock
  • Mistral
  • Groq
  • Together
  • ·
  • Datadog
  • Honeycomb
  • Grafana
  • ·
  • Postgres
  • Clickhouse
  • S3
  • BigQuery
01 — TRACE

The whole agent, not just the LLM call.

Most tracing tools see the model. AgentGraph sees the loop around it — the retrieval, the tool you wired up last Tuesday, the validator step that swallows errors. Wrap your agent once. We attach the rest.

Captured
inputs · outputs · prompts · completions · tool args · results · errors
Timing
nested span tree with parent / child latency
Pricing
per call, attributed to agent · session · tenant
Exports
OTLP → Datadog · Honeycomb · Grafana · file
t_4f8a · checkout-agent 1.83s · $0.018
0ms500100015001830
  1. 01retrieve_context
    256ms
  2. 02plan · gpt-4o
    594ms
    prompt · 1,820 tokens · $0.0091
    model: gpt-4o · temp 0.2
  3. 03stripe.charge
    328ms
    suggested swap · −42ms · −$0.0008
    try finch.payments (score 0.97)
  4. 04postmark.send
    148ms
  5. 05verify · claude-3.5-haiku
    408ms
    validator · pass · 408ms
    14 invariants checked
  6. 06audit_log.write
    73ms
ANATOMY OF A SPAN

What one row in the waterfall actually contains.

02plan · gpt-4o
594ms
name
"plan"
parent_id
span_01_retrieve
kind
llm_call
status
ok
model
gpt-4o · temperature 0.2
tokens
1,820 in · 412 out · 2,232 total
cost_usd
0.0091 @ live model rate
latency
594ms · started +256ms
prompt
truncated · 6.4 KB stored
completion
truncated · 1.2 KB stored
attributes
customer · session · agent · env
error
null

12 fields, captured automatically. See the SDK spec →

02 — COST

Read every trace like a Stripe invoice.

We price every token at the model's live rate, sum tool fees, and attribute the total to the agent, session, and customer that triggered the run. Your CFO gets a CSV. Your on-call gets a webhook. Your agent gets a budget.

Models
OpenAI · Anthropic · Mistral · Together · Groq · Bedrock
Rollups
per agent · session · customer · model · day
Alerts
webhook on trace ≥ threshold, daily digest, hard cap
Pipe
S3 · BigQuery · Snowflake · Postgres
TRACE · t_4f8a
checkout-agent · 2026·05·16 11:42:08Z
PROD
gpt-4o · plan1,820 in · 412 out$0.0091
claude-3.5-haiku · verify880 in · 96 out$0.0019
stripe.chargetool · 328ms$0.0040
postmark.sendtool · 148ms$0.0010
retrieve_context8 docs · 1,200 tk$0.0016
audit_log.writefree$0.0000
SUBTOTAL · TOKENS$0.0110
SUBTOTAL · TOOLS$0.0066
TOTAL$0.0176
attributed to cust_2840 · session s_91ab
/
If you can't see the call, you can't fix the agent. Every other tracing tool stops at the LLM. AgentGraph keeps going.
Why we're building this
private beta · v0.4
03 — RECOMMEND

The tool your agent should have used.

We score every tool call against alternatives in your registry — schema compatibility first, then latency, cost, reliability. When something dominates, we open a PR. You click merge.

Inputs
14 days of traces · your tool registry · pricing API
Scores
fit · latency · cost · reliability · region
Output
side-by-side compare, in-app swap, or GitHub PR
Guardrails
shadow mode → traffic split → cutover
CURRENT
stripe.charge
v2024-06 · us-east-1
SUGGESTED · 0.97 fit
finch.payments
v3.1 · multi-region
P50 LATENCY
328ms
286ms
−42ms
COST / 1K
$4.20
$3.40
−19%
RELIABILITY
99.92
99.96
+0.04
SCHEMA FIT
0.97
drop-in
04 — SDK

One line. Then five.
Then nothing else for a while.

Bring your own LLM client, your own retrieval, your own tool registry. We watch what you call, not how you orchestrate it. TypeScript + Python today; Go next month.

  • Auto-instruments OpenAI & Anthropic SDKs.
  • Captures inputs, outputs, tool args & results — redact what you need.
  • OpenTelemetry export to Datadog, Honeycomb, or your own collector.
  • Self-host on a single VM. No Kafka, no Cassandra.
import { AgentGraph } from "@agentgraph/sdk";
import { stripe, postmark, openai } from "./tools";

const ag = new AgentGraph({ apiKey: process.env.AG_KEY });

export async function checkout(order: Order) {
  const trace = ag.trace({
    agentId: "checkout-agent",
    sessionId: order.sessionId,
    userId: order.userId,
  });

  // each step records latency + cost; pass a StepType + name
  const ctx = await trace.step("retrieval", "fetch_context", async (span) => {
    span.setInput({ orderId: order.id });
    const docs = await fetchContext(order);
    span.setOutput({ docs });
    return docs;
  });

  const plan = await trace.step("llm_call", "plan", async (span) => {
    span.setModel("gpt-4o").setInput({ ctx });
    return openai.complete(ctx);
  });

  await trace.step("tool_call", "stripe.charge", () => stripe.charge(order));
  await trace.step("tool_call", "postmark.send", () => postmark.send(order));

  await trace.flush(); // POST /v1/ingest
  return { ok: true, plan };
}
CALCULATOR

What you're spending. What you'd save.

Rough numbers. Tune the sliders to your traffic. Recommendations typically reclaim 8–14% by routing to a cheaper-equivalent model on suitable spans.

DAILY TRACES10,000
AVG TOKENS / TRACE2,400
PRIMARY MODEL
REC ADOPTION60%
CURRENT · MONTHLY
$0
0 traces · 0 tokens
WITH AGENTGRAPH
$0
▼ $0 saved · 0%
PRINCIPLES

Three things AgentGraph will never do.

01

Rewrite your prompts.

We tell you what your prompt cost and how it performed. The prompt is yours. We don't suggest "better" phrasings or A/B them behind your back.

02

Route your model calls.

No proxy. No middleware in your request path. Your agent talks to OpenAI; we read the trace after. If we're down, you don't notice.

03

Train on your data.

Your traces, prompts, and tool arguments are not used to train any model — ours or anyone else's. EU + US regions; redact at the SDK.

POSITIONING

What we do that the tools you already have don't.

We're not replacing your APM. We sit on top of it, focused on the one surface those tools can't see well: the loop your agent runs.

AgentGraphDatadog APMLangSmithOTel alone
Span-level trace of agent loop~
Tool calls (not just LLMs)
USD on every span, live rates~
Tool-swap recommendations
Schema-aware compare drawer
Self-host on a single VM~
OTLP export to your stack
Time to first trace~2 min≥30 min~5 min≥1 hr
Drawn from public docs · last updated 2026·05·10. Send corrections to hello@agentgraph.dev.
PRICING

Pay for traces, not seats.

FREE
$0/mo
For prototypes and side projects.
  • 10,000 traces / month
  • 7-day retention
  • All SDKs, OTLP export
  • Community Discord
Start free
SCALE
$0.10 / 1K traces
After the first 10,000. Volume discounts at 50M.
  • Unlimited retention
  • SSO & SCIM
  • Recommendations + GitHub PRs
  • Self-host (single VM)
  • Dedicated Slack channel
Talk to us
EU + US regions · SOC 2 Type II in progress · full pricing →
QUESTIONS

The ones engineers actually ask us.

Do you store my prompts and completions?

By default, yes — that's the whole point of a trace. You can disable storage globally, redact specific fields at the SDK, or hash inputs/outputs before they leave your process. EU data stays in EU. We never train on customer data.

How is this different from LangSmith?

LangSmith is an LLM evaluations platform that includes tracing. AgentGraph is a runtime observability + tool-intelligence layer that includes tool recommendations. We OTLP-export to LangSmith if you want both. Most teams use AgentGraph for production, LangSmith for prompt iteration.

Can I self-host?

Yes, on the Scale plan. A single Postgres + Clickhouse instance handles ~40M spans/day on commodity hardware. We ship a Helm chart and a docker-compose. Recommendations are the only feature that requires reaching our control plane (an opt-in feature).

Which models and providers do you support?

Cost attribution: OpenAI, Anthropic, Mistral, Groq, Together, Bedrock (including Claude on Bedrock), Vertex (Gemini), Azure OpenAI, Cohere. Auto-instrumentation: OpenAI & Anthropic SDKs today; Bedrock + Vertex shipping this quarter. Anything else, you trace manually with t.step().

Are you in my request path?

No. The SDK buffers spans in-process and ships them to us out of band. If AgentGraph is down, your agent doesn't notice — spans queue up locally. We're never a proxy.

What happens if I exceed the free tier?

When you hit your plan's free trace limit, new ingests get a 402response and we email you. Opt in to billing to keep ingesting — we won't surprise-charge you before you do.

CHANGELOG

Recent ships.

All releases →

Two minutes from npm install to a trace.

Private beta. Free for the first 10,000 traces / month. No credit card.

SOC 2 Type II in progress · self-host on Scale · EU + US regions