summary dictionary during execution, and how to read summary data after a Call completes. Use this page when you need to inspect, filter, or extend the data Weave records for each Call. For information about querying calls, see Query and export calls.
Call properties
The following table outlines the key properties of a Call in Weave. For the complete implementation, see the following:- class: CallSchema in the Python SDK
- Interface: CallSchema in the TypeScript SDK
| Property | Type | Description |
|---|---|---|
id | string (uuid) | Unique identifier for the Call |
project_id | string (optional) | Associated project identifier |
op_name | string | Name of the operation (can be a reference) |
display_name | string (optional) | User-friendly name for the Call |
trace_id | string (uuid) | Identifier for the trace this Call belongs to |
parent_id | string (uuid) | Identifier of the parent Call |
started_at | datetime | Timestamp when the Call started |
attributes | Dict[str, Any] | User-defined metadata about the Call (read-only during execution) |
inputs | Dict[str, Any] | Input parameters for the Call |
ended_at | datetime (optional) | Timestamp when the Call ended |
exception | string (optional) | Error message if the Call failed |
output | Any (optional) | Result of the Call |
summary | Optional[SummaryMap] | Post-execution summary information. You can modify this during execution to record custom metrics. |
wb_user_id | Optional[str] | Associated W&B user ID |
wb_run_id | Optional[str] | Associated W&B run ID |
deleted_at | datetime (optional) | Timestamp of Call deletion, if applicable |
Property details
CallSchema properties help you track and manage Calls:
- The
id,trace_id, andparent_idproperties help organize and relate Calls within the system. - Timing information (
started_at,ended_at) supports performance analysis. - The
attributesandinputsproperties provide context for the Call. Attributes are frozen once the Call starts, so set them before invocation using theweave.attributes()context manager.outputandsummarycapture the results. - Use
wb_user_idandwb_run_idto link the Call to a W&B user and run.
Use Call summary
Use thesummary property to attach custom, post-execution data to a Call so you can analyze it later alongside Weave’s built-in metrics. It’s a dictionary you can write to during a Call’s execution. When the Call finishes, Weave deep-merges your values with its own computed data and stores the result.
The dictionary has two zones:
- Your custom keys: anything you write to
call.summarydirectly, such ascall.summary["accuracy"] = 0.95. These sit at the top level of the summary dict. summary["weave"]: a reserved namespace Weave populates automatically at Call completion. Don’t write to this key directly.
summary["usage"] (keyed by model name). This is source data passed through from the provider, not a Weave computation. The costs field inside summary["weave"] is what Weave derives from that usage data using token pricing.
Weave’s computed fields inside summary["weave"]:
| Field | Description |
|---|---|
status | Execution status: SUCCESS, ERROR, RUNNING, or DESCENDANT_ERROR (the Call succeeded but a child Call errored). |
latency_ms | Duration in milliseconds between started_at and ended_at. null if status is RUNNING. |
costs | Cost breakdown per model, derived from summary["usage"] and token pricing data. See Track costs. |
trace_name | Human-readable Op name, parsed from the internal Op reference URI. Used for display and filtering. |
Write during a Call
You can add custom data values during your Call using thesummary dictionary.
- Python
- TypeScript
In Python, assign values to
call.summary at any point during execution using weave.get_current_call().Read summary data
UsegetCall to fetch a single Call by ID, or getCalls to fetch multiple Calls. In both cases, summary is the same merged dictionary.
- Python
- TypeScript