Product / Tool calls
Every action, inspectable.
See which tool the agent picked, the arguments it sent, what came back and how long it took. Tell a bad decision from a broken integration in one look.
- Arguments
- Recorded
- Results
- Recorded
- Failures
- Flagged

Instrument it
Mark a function as a tool. Done.
observe records the arguments, the result, the timing and any error, and keeps the call attached to the step that chose it.
$ npm install tracify-sdk
import { observe, traceAgent } from "tracify-sdk";
const searchDocs = observe(async function searchDocs(query: string) {
return search(query);
}, { type: "tool" });
export const answer = traceAgent(async (question: string) => {
const hits = await searchDocs(question);
return summarize(hits);
});Tell the failures apart
Was it the agent or the tool?
Open the trace for the wrong, incomplete, or delayed result.
Confirm whether the agent chose the wrong tool, supplied bad arguments, or received a bad response.
Turn the corrected behavior into a deterministic evaluator, dataset item, or runtime policy where appropriate.
{
"tool": "search_docs",
"args": { "query"
Who it is for
Bad reasoning or a broken integration?
Agent teams operating search, database, browser, API, and internal function tools in production.
What you get
Know whether the agent or the API got it wrong.
Arguments and results
01Inspect the recorded input and output for an individual call while retaining its parent trace and neighboring operations.
Timing and failure state
02Find slow, failed, or repeated calls and compare their latency with the rest of the run.
Per-tool summaries
03Aggregate activity by tool name to identify noisy integrations and the tools most associated with cost or delay.
Trace-level context
04See the model call that selected the tool and the downstream output that consumed its result.
Questions people ask.
What is a tool call in an LLM agent?
A tool call is an action an agent takes outside the model itself, such as a search, database query, browser action, or API request, recorded with its arguments, result, timing, and status.
How do I monitor tool calls in production?
Record every tool call's arguments, result, latency, and failure state alongside the trace that selected it, then aggregate by tool name to find noisy or failing integrations.
Why does my agent keep failing tool calls?
Tool call failures usually come from either a reasoning failure, where the agent chose the wrong tool or bad arguments, or an integration failure, where the tool itself errored or timed out. Inspecting the call alongside the reasoning span that selected it shows which one occurred.
How do I know if an agent picked the wrong tool?
Open the trace, find the model span that made the selection, and compare it against the arguments and result of the tool call it produced.
Can I aggregate tool usage across an agent?
Yes. Per-tool summaries aggregate calls, latency, and failure rate by tool name to surface which integrations are slow or unreliable in production.

See your own runs like this.