Skip to content

Commit 5c9b3dd

Browse files
committed
fix(claude_agent_sdk): log ResultMessage metrices
1 parent 351b89c commit 5c9b3dd

2 files changed

Lines changed: 15 additions & 1 deletion

File tree

py/src/braintrust/integrations/claude_agent_sdk/test_claude_agent_sdk.py

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,16 @@ async def calculator_handler(args):
172172
assert task_span.get("metadata", {}).get("num_turns") is not None
173173
if hasattr(result_message, "session_id"):
174174
assert task_span.get("metadata", {}).get("session_id") is not None
175-
175+
if hasattr(result_message, "stop_reason"):
176+
assert task_span.get("metadata", {}).get("stop_reason") is not None
177+
if hasattr(result_message, "stop_sequence"):
178+
assert task_span.get("metadata", {}).get("stop_sequence") is not None
179+
if hasattr(result_message, "total_cost_usd"):
180+
assert task_span.get("metadata", {}).get("total_cost_usd") is not None
181+
if hasattr(result_message, "duration_ms"):
182+
assert task_span.get("metadata", {}).get("duration_ms") is not None
183+
if hasattr(result_message, "duration_api_ms"):
184+
assert task_span.get("metadata", {}).get("duration_api_ms") is not None
176185
llm_spans = [s for s in spans if s["span_attributes"]["type"] == SpanTypeAttribute.LLM]
177186
assert len(llm_spans) >= 1, f"Should have at least one LLM span, got {len(llm_spans)}"
178187
llm_span_ids = {span["span_id"] for span in llm_spans}

py/src/braintrust/integrations/claude_agent_sdk/tracing.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -730,6 +730,11 @@ def _handle_result(self, message: Any) -> None:
730730
for k, v in {
731731
"num_turns": getattr(message, "num_turns", None),
732732
"session_id": getattr(message, "session_id", None),
733+
"stop_reason": getattr(message, "stop_reason", None),
734+
"stop_sequence": getattr(message, "stop_sequence", None),
735+
"total_cost_usd": getattr(message, "total_cost_usd", None),
736+
"duration_ms": getattr(message, "duration_ms", None),
737+
"duration_api_ms": getattr(message, "duration_api_ms", None),
733738
}.items()
734739
if v is not None
735740
}

0 commit comments

Comments
 (0)