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 occurred
- Belong to a Trace (a collection of calls in the same execution context)
- Have parent and child Calls, forming a tree structure