Loading…
Loading…
Features · Scale · Tracing
Tracing captures every event emitted during a run, from tool calls and retries to the final output, into a persistent store you can reload, inspect and compare later.
from shipit_agent import Agent, FileTraceStoreagent = Agent.with_builtins( llm=llm, trace_store=FileTraceStore(root_dir=".shipit_traces"), trace_id="run-001",)
Run
every event
Trace store
on disk or yours
Reload
by trace id
Inspect
pretty-print or compare
The code is a checked example from the docs; the output is an example of what it prints.
from shipit_agent import Agent, FileTraceStore
agent = Agent.with_builtins(
llm=llm,
trace_store=FileTraceStore(root_dir=".shipit_traces"),
trace_id="run-001",
)
result = agent.run("Search for Python 3.13 release notes")6 more ways to use it
Each example is from the docs and checked against the library.
That's it. Every event is now persisted to `.shipit_traces/run-001.json`.
from shipit_agent import Agent, FileTraceStore
agent = Agent.with_builtins(
llm=llm,
trace_store=FileTraceStore(root_dir=".shipit_traces"),
trace_id="run-001",
)
result = agent.run("Search for Python 3.13 release notes")Trace stores
On disk, in memory, or your own store.
Pretty-print
Read a run as a tree, or as raw JSON.
Compare traces
Diff two runs of the same task.
OpenTelemetry
Export spans to the observability stack you already use.
| Parameter | Default | What it does |
|---|---|---|
| trace_store | None | Where run traces are written. |
| trace_id | None | The trace id for this agent's runs. |
| observability | 'auto' | Report this agent's runs through shipit-watcher — traces, the agent graph, scores, datasets and the local ledger. `True` attaches it, `False` never does, and the default `"auto"` attaches it only when shipit-watcher is installed *and* configured with credentials. |