Your ADK agents are running. Do you know what they cost?
Know what every agent, model, session and end user costs you, and see the traces, evals and agent graph that explain why. Add three environment variables and the numbers start arriving. Nothing of ours runs inside your agent: no SDK, no registration, no rewrite.
14-day trial · no credit card · self-host if you prefer
Turn it on without touching your agent
Your ADK agent already reports everything we need. Switching it on is a setting, not a code change, so there is no pull request to review, no release to wait for, and nothing to undo if you stop.
TypicalSDK in your agent
# agent.py: you edit your agent
from vendor_sdk import Tracer, Plugin
tracer = Tracer(api_key=...)
app = App(
agent=root_agent,
plugins=[Plugin(tracer)], # <- code change
)
# ...and again for every agent you own
Verified end to end against real Vertex AI Gemini calls on both Cloud Run and Agent Engine, deployed agent to deployed server, correctly priced, with no edit to the agent in either case.
See the cost before you deploy, not on the invoice
The same three variables work on your laptop. Run adk web, talk to your agent, and the dashboards fill in, no deploy, no staging environment, no separate “instrumented” build. Most teams discover what an agent costs a month after shipping it. This moves that to the moment the prompt is still cheap to change.
Token volume
Catch the expensive design early
A reasoning model that thinks for 3,000 tokens per turn is a different product decision than one that thinks for 300. Thinking tokens bill at output rates and are routinely the largest single line: in a measured four-call run, 3,042 of 5,044 tokens.
Attribution
Attribute it per sub-agent
A multi-agent pipeline fans one question into many priced calls. Cost is broken out per sub-agent and per model automatically, so you can see which branch of the graph is expensive rather than guessing from a total.
Environments
Keep dev spend out of production
Tag local runs with deployment.environment and development, staging and production stay separable everywhere, instead of load tests quietly inflating the number you report.
Works with adk web and adk api_server. Not adk run, which does not initialise OpenTelemetry at all.
See how your agents actually ran
Not how you drew them on a whiteboard. TraptureIQ works the structure out from what really happened: which agents ran, in what order, in parallel or not, and how long each branch took. You declare nothing and it never goes stale.
Latency
Catch a silently serial ParallelAgent
A ParallelAgent degraded to serial execution returns the right answer and raises no error. It just runs three times slower than you designed it to. The concurrency ratio is that bug, and nothing else you run reports it.
Cost on the graph
Find the branch that costs money
A multi-agent pipeline fans one question into many priced calls. Spend is broken out per sub-agent and per model, so you can name the expensive branch instead of inferring it from a total.
Zero setup
Nothing to instrument for it
Derived from the same spans the cost numbers come from. No graph to define, no decorators, no registration step that goes stale the next time someone adds a sub-agent.
Start with cost. The rest is already wired.
Traces, evals and runtime config run off the same ingested spans, so they agree with the cost numbers by construction, not because you reconciled three tools by hand.
Cost
Spend attributed per sub-agent, model, session and end user.
Per-sub-agent attribution
Cost frozen at ingest
Budgets and alerts
Observability
Traces, agent topology, user journeys, logs and tool errors.
Google sign-in. The key is shown once, at creation.
2
Add three environment variables
That is the whole integration. No SDK inside your agent, no decorators, no edit to agent.py, and nothing to unpick if you stop. On another framework? You can send us data directly; the no-code-change path is ADK's.
3
Run your agent
Cost, traces, journeys, logs and the agent graph appear as calls happen. Nothing to register, no agent inventory to maintain. An agent name is just a label.
A database per customer
Tenant data is physically separated, not filtered by a WHERE clause. Prompt and response bodies live in their own database per tenant.
Cost frozen at ingest
A call's cost is computed once, when it arrives. Editing pricing later never rewrites history.
Self-host it
One FastAPI service and a Postgres database. Point DATABASE_URL at your own instance and run it yourself.
See what your ADK agents actually cost
Free for 14 days. Instrumenting takes about as long as reading this page.