Skip to content

Update main.py#5

Merged
ishaan-jaff merged 1 commit intomainfrom
add-replicate
Jul 28, 2023
Merged

Update main.py#5
ishaan-jaff merged 1 commit intomainfrom
add-replicate

Conversation

@krrishdholakia
Copy link
Member

No description provided.

@ishaan-jaff ishaan-jaff merged commit 2463dc2 into main Jul 28, 2023
@krrishdholakia krrishdholakia deleted the add-replicate branch July 28, 2023 21:21
@danilo26 danilo26 mentioned this pull request Apr 29, 2024
uc4w6c pushed a commit that referenced this pull request Jan 6, 2026
…error

fix: upgraded mcp sdk depency version for fixing ClosedResourceError
Harshit28j added a commit to Harshit28j/litellm that referenced this pull request Mar 6, 2026
…il traces

- Remove redundant set_attributes() call from raw_gen_ai_request spans so they
  only contain provider-specific llm.{provider}.{param} attributes (Issue #3)
- Replace full set_attributes() on litellm_proxy_request with minimal attributes
  (model, call_type, response.id) when litellm_request child span exists (Issue #4)
- Skip guardrail span creation when no parent context exists to prevent orphaned
  root-level traces in the "All Spans" view (Issue BerriAI#5)
- Fall back to litellm_call_id for gen_ai.response.id when response object has no
  id field (EmbeddingResponse, ImageResponse) (Issue BerriAI#8)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Harshit28j added a commit to Harshit28j/litellm that referenced this pull request Mar 6, 2026
…onse IDs

Addresses 4 critical OpenTelemetry span issues in LiteLLM:

Issue #3: Remove redundant attributes from raw_gen_ai_request spans
- Removed self.set_attributes() call that was duplicating all parent span
  attributes (gen_ai.*, metadata.*) onto the raw span
- Raw span now only contains provider-specific llm.{provider}.* attributes
- Reduces storage and eliminates search confusion from duplicate data

Issue #4: Prevent attribute duplication on litellm_proxy_request parent span
- When litellm_request child span exists, removed redundant
  set_attributes() call on the parent proxy span
- Child span already carries all attributes; parent duplication doubles
  storage and complicates search

Issue BerriAI#5: Fix orphaned guardrail traces
- Guardrail spans were created with context=None when no parent proxy span
  existed, resulting in orphaned root spans (separate trace_id)
- Added _resolve_guardrail_context() helper to ensure guardrails always
  have a valid parent (litellm_request or proxy span)
- Applied fix to both _handle_success and _handle_failure paths

Issue BerriAI#8: Add gen_ai.response.id for embeddings and image generation
- EmbeddingResponse and ImageResponse types don't have provider response IDs
- Added fallback to standard_logging_payload["id"] (litellm call ID) for
  correlation across LiteLLM UI, Phoenix traces, and provider logs
- Completions still use provider ID (e.g. "chatcmpl-xxx") when available

Tests added:
- TestRawSpanAttributeIsolation: Verify raw span has no gen_ai/metadata attrs
- TestNoParentSpanDuplication: Verify parent span doesn't get duplicated attrs
- TestGuardrailSpanParenting: Verify guardrails are children (not orphaned)
- TestResponseIdFallback: Verify response ID set for all call types

All existing OTEL tests pass (73 passed, 14 pre-existing protocol failures).

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants