Ops
An Op is a versioned, tracked function. When you decorate a function with@weave.op() (Python) or wrap it with weave.op() (TypeScript), Weave automatically captures its code, inputs, outputs, and execution metadata. Ops are the building blocks of tracing, evaluation scorers, and any tracked computation.
Calls
A Call is a logged execution of an Op. Every time an Op runs, Weave creates a Call that captures:- Input arguments
- Output value
- Timing and latency
- Parent-child relationships (for nested calls)
- Any errors that occur
- Belong to a Trace, a collection of Calls in the same execution context.
- Have parent and child Calls, forming a tree structure.
Traces
Traces are full trees of Calls that share the same execution context. Each Trace contains an ID (trace_id) you can use to retrieve the entire tree of Calls. If you retrieve Call information using the Call’s ID, Weave returns data about the specified Call only, and none of its child Calls.