save_trace(directory, trace_id, spans, *, task_id=None, metadata=None)
Write spans as one <trace_id>.json under directory (creating it).
The companion writer for :class:DirectoryTraceSource. Returns the path written.
Source code in autogen/beta/eval/sources/trace_source.py
| def save_trace(
directory: str | os.PathLike[str],
trace_id: str,
spans: Sequence[SpanData],
*,
task_id: str | None = None,
metadata: dict[str, Any] | None = None,
) -> Path:
"""Write ``spans`` as one ``<trace_id>.json`` under ``directory`` (creating it).
The companion writer for :class:`DirectoryTraceSource`. Returns the path written.
"""
path = Path(directory)
path.mkdir(parents=True, exist_ok=True)
doc = {
"trace_id": trace_id,
"task_id": task_id,
"metadata": dict(metadata or {}),
"spans": [span_data_to_dict(s) for s in spans],
}
file = path / f"{trace_id}.json"
file.write_text(json.dumps(doc, indent=2), encoding="utf-8")
return file
|