Python: Fix: Add system_instructions to ChatClient LLM span tracing #3164
+136
−1
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
instructionsparameter inChatOptionssystem_instructionsparameter to_capture_messages()calls in_trace_get_response()and_trace_get_streaming_response()Related Issue
Fixes #3163
Problem
When using
ChatClientwithChatOptions.instructions, the OpenTelemetry LLM span is missing:gen_ai.input.messagesgen_ai.system_instructionsattributeThe root cause is that
_trace_get_response()and_trace_get_streaming_response()don't pass thesystem_instructionsparameter to_capture_messages(), unlike the Agent-level tracing (_trace_agent_run()) which correctly does this.Solution
Extract
chat_optionsfromkwargsand passinstructionsto_capture_messages():Test plan
uv run poe fmt- formatting check passeduv run poe lint- all checks passeduv run --directory packages/core poe test- 1349 tests passed🤖 Generated with Claude Code