Polish observability message serialization

This commit is contained in:
copilot-swe-agent[bot]
2026-05-20 22:07:31 +00:00
committed by GitHub
Unverified
parent ecf5341ca0
commit 40e4a0b0ff
@@ -2159,8 +2159,10 @@ def _capture_messages(
logging_messages = prepend_instructions_to_messages(normalized_messages, system_instructions)
span_messages = [_to_otel_message(message) for message in normalized_messages]
prepended_count = len(logging_messages) - len(normalized_messages)
for index, message in enumerate(logging_messages[:prepended_count]):
otel_message = _to_otel_message(message)
prepended_messages = [_to_otel_message(message) for message in logging_messages[:prepended_count]]
for index, (message, otel_message) in enumerate(
zip(logging_messages[:prepended_count], prepended_messages, strict=False)
):
# Reuse the otel message representation for logging instead of calling to_dict()
# to avoid expensive Pydantic serialization overhead
logger.info(
@@ -2171,8 +2173,9 @@ def _capture_messages(
MessageListTimestampFilter.INDEX_KEY: index,
},
)
for index, message in enumerate(normalized_messages, start=prepended_count):
otel_message = span_messages[index - prepended_count]
for index, (message, otel_message) in enumerate(
zip(normalized_messages, span_messages, strict=False), start=prepended_count
):
logger.info(
otel_message,
extra={