agentops
agentops copied to clipboard
OpenAI Agents SDK Guardrail Span Classification Issues
OpenAI Agents SDK Guardrail Span Classification Issues
Problem Description
The OpenAI Agents SDK integration has issues with guardrail span classification and duplicate span creation:
- Incorrect Span Classification: Guardrail events were being incorrectly classified as generic events or agent spans instead of proper
GUARDRAILspan types - Duplicate Span Creation: Each guardrail creates 2 spans:
{guardrail_name}and{guardrail_name}.guardrail, making it unclear which span represents the actual guardrail execution - Lost Usage Metrics: Recent fixes removed the wrong span, causing usage metrics to be lost from guardrail spans
Root Cause
Two functions in the OpenAI Agents SDK instrumentation were missing handlers for GuardrailSpanData:
get_span_kind()inexporter.py- didn't handleGuardrailSpanDataget_span_attributes()inattributes/common.py- didn't have a case forGuardrailSpanData
Expected Behavior
- Guardrail events should be properly classified as
GUARDRAILspans - Each guardrail should create only one span with proper usage metrics
- Guardrail spans should have appropriate attributes and observability data
Current Status
PR #1096 attempted to fix this but introduced new issues with duplicate spans and lost usage metrics.
Acceptance Criteria
- [ ] Guardrail events are properly classified as
GUARDRAILspan type - [ ] No duplicate spans are created for guardrails
- [ ] Usage metrics are preserved in guardrail spans
- [ ] Proper attributes are set for guardrail spans
- [ ] Integration tests verify correct behavior
Related
- PR #1096: Fix OpenAI Agents SDK guardrail span classification