Reuse observability span message serialization

This commit is contained in:
copilot-swe-agent[bot]
2026-05-20 22:05:40 +00:00
committed by GitHub
Unverified
parent f16a6295fb
commit f6db62e07b
@@ -2158,8 +2158,10 @@ def _capture_messages(
normalized_messages = normalize_messages(messages)
logging_messages = prepend_instructions_to_messages(normalized_messages, system_instructions)
span_messages = [_to_otel_message(message) for message in normalized_messages]
span_message_iter = iter(span_messages)
prepended_count = len(logging_messages) - len(normalized_messages)
for index, message in enumerate(logging_messages):
otel_message = _to_otel_message(message)
otel_message = _to_otel_message(message) if index < prepended_count else next(span_message_iter)
# Reuse the otel message representation for logging instead of calling to_dict()
# to avoid expensive Pydantic serialization overhead
logger.info(