Merged
Conversation
Member
|
PR under review ✅ Hope to revert by tonight. |
ishaan-jaff
reviewed
Jul 28, 2023
Member
ishaan-jaff
left a comment
There was a problem hiding this comment.
thanks for the contribution, looks awesome. It's good to merge, but small nit: In completion_test can you leave all the other tests uncommented
completion_test.py
Outdated
| print(response) | ||
|
|
||
| # # openai call | ||
| # response = completion(model="gpt-3.5-turbo", messages=messages) |
Member
There was a problem hiding this comment.
can we leave all the other tests uncommented
Contributor
Author
There was a problem hiding this comment.
Will do in ~15 minutes. Thanks for reviewing 🧡
Contributor
Author
There was a problem hiding this comment.
Uncommented + deleted the unneeded testos.py (my bad) 🥲
One question - I could try implementing everything using pattern matching. Should I try that, or we'll lose backward compatibility this way?
Member
There was a problem hiding this comment.
let's address pattern matching in a separate PR
Contributor
PR checks evidence (sync upstream)Required checksgh pr checks --required --watch --fail-fastOutputMerge stategh pr view --json mergeStateStatus,mergeableOutputRulesets / Branch policygh api "repos/BerriAI/litellm/rules/branches/main" || gh api "repos/BerriAI/litellm/branches/main/protection"OutputCode scanninggh api "/repos/BerriAI/litellm/code-scanning/analyses?pr=8"
gh api "/repos/BerriAI/litellm/code-scanning/alerts?pr=8&state=open"OutputCheck-runsgh api "/repos/BerriAI/litellm/commits/404ce961a7e8b71c24fd8c2130a58be753f0e2a4/check-runs"Output(Exit code: 1) |
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 #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 #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>
5 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Features