diff --git a/python/packages/core/agent_framework/observability.py b/python/packages/core/agent_framework/observability.py index 8a5ff14bbf..7c63581c19 100644 --- a/python/packages/core/agent_framework/observability.py +++ b/python/packages/core/agent_framework/observability.py @@ -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(