Skip to content

feat(anthropic): Emit AI Client Spans for synchronous messages.stream() #6738

feat(anthropic): Emit AI Client Spans for synchronous messages.stream()

feat(anthropic): Emit AI Client Spans for synchronous messages.stream() #6738

Triggered via pull request February 27, 2026 17:19
Status Success
Total duration 6m 23s
Artifacts 2

test-integrations-dbs.yml

on: pull_request
Matrix: DBs
All DBs tests passed
4s
All DBs tests passed
Fit to window
Zoom out
Zoom in

Annotations

30 warnings
DBs (3.11, ubuntu-22.04)
❌ Patch coverage check failed: 0.00% < target 80%
DBs (3.10, ubuntu-22.04)
❌ Patch coverage check failed: 0.00% < target 80%
DBs (3.10, ubuntu-22.04)
Failed to upload coverage artifact: Failed to CreateArtifact: Received non-retryable error: Failed request: (409) Conflict: an artifact with this name already exists on the workflow run
DBs (3.10, ubuntu-22.04)
Failed to upload test artifact: Failed to CreateArtifact: Received non-retryable error: Failed request: (409) Conflict: an artifact with this name already exists on the workflow run
DBs (3.8, ubuntu-22.04)
❌ Patch coverage check failed: 0.00% < target 80%
DBs (3.8, ubuntu-22.04)
Failed to upload coverage artifact: Failed to CreateArtifact: Received non-retryable error: Failed request: (409) Conflict: an artifact with this name already exists on the workflow run
DBs (3.8, ubuntu-22.04)
Failed to upload test artifact: Failed to CreateArtifact: Received non-retryable error: Failed request: (409) Conflict: an artifact with this name already exists on the workflow run
DBs (3.6, ubuntu-22.04)
❌ Patch coverage check failed: 0.00% < target 80%
DBs (3.6, ubuntu-22.04)
Failed to upload coverage artifact: Failed to CreateArtifact: Received non-retryable error: Failed request: (409) Conflict: an artifact with this name already exists on the workflow run
DBs (3.6, ubuntu-22.04)
Failed to upload test artifact: Failed to CreateArtifact: Received non-retryable error: Failed request: (409) Conflict: an artifact with this name already exists on the workflow run
DBs (3.12, ubuntu-22.04)
❌ Patch coverage check failed: 0.00% < target 80%
DBs (3.12, ubuntu-22.04)
Failed to upload coverage artifact: Failed to CreateArtifact: Received non-retryable error: Failed request: (409) Conflict: an artifact with this name already exists on the workflow run
DBs (3.12, ubuntu-22.04)
Failed to upload test artifact: Failed to CreateArtifact: Received non-retryable error: Failed request: (409) Conflict: an artifact with this name already exists on the workflow run
DBs (3.7, ubuntu-22.04)
❌ Patch coverage check failed: 0.00% < target 80%
DBs (3.7, ubuntu-22.04)
Failed to upload coverage artifact: Failed to CreateArtifact: Received non-retryable error: Failed request: (409) Conflict: an artifact with this name already exists on the workflow run
DBs (3.7, ubuntu-22.04)
Failed to upload test artifact: Failed to CreateArtifact: Received non-retryable error: Failed request: (409) Conflict: an artifact with this name already exists on the workflow run
Span opened but not closed if setup fails after span.__enter__(): sentry_sdk/integrations/anthropic.py#L758
In `_sentry_patched_stream_common`, a span is entered at line 758 (`span.__enter__()`), but if `_set_stream_input_data` or `_patch_streaming_response_iterator` raise an exception, the span is never closed. This could lead to orphaned spans in the trace. The similar `_sentry_patched_create_common` function has error handling in its callers, but `_wrap_message_stream_manager_enter` lacks equivalent exception handling.
DBs (3.9, ubuntu-22.04)
❌ Patch coverage check failed: 0.00% < target 80%
DBs (3.9, ubuntu-22.04)
Failed to upload coverage artifact: Failed to CreateArtifact: Received non-retryable error: Failed request: (409) Conflict: an artifact with this name already exists on the workflow run
DBs (3.9, ubuntu-22.04)
Failed to upload test artifact: Failed to CreateArtifact: Received non-retryable error: Failed request: (409) Conflict: an artifact with this name already exists on the workflow run
DBs (3.14t, ubuntu-22.04)
❌ Patch coverage check failed: 0.00% < target 80%
DBs (3.14t, ubuntu-22.04)
Failed to upload coverage artifact: Failed to CreateArtifact: Received non-retryable error: Failed request: (409) Conflict: an artifact with this name already exists on the workflow run
DBs (3.14t, ubuntu-22.04)
Failed to upload test artifact: Failed to CreateArtifact: Received non-retryable error: Failed request: (409) Conflict: an artifact with this name already exists on the workflow run
DBs (3.14, ubuntu-22.04)
❌ Patch coverage check failed: 0.00% < target 80%
DBs (3.14, ubuntu-22.04)
Failed to upload coverage artifact: Failed to CreateArtifact: Received non-retryable error: Failed request: (409) Conflict: an artifact with this name already exists on the workflow run
DBs (3.14, ubuntu-22.04)
Failed to upload test artifact: Failed to CreateArtifact: Received non-retryable error: Failed request: (409) Conflict: an artifact with this name already exists on the workflow run
DBs (3.13, ubuntu-22.04)
❌ Patch coverage check failed: 0.00% < target 80%
DBs (3.13, ubuntu-22.04)
Failed to upload coverage artifact: Failed to CreateArtifact: Received non-retryable error: Failed request: (409) Conflict: an artifact with this name already exists on the workflow run
DBs (3.13, ubuntu-22.04)
Failed to upload test artifact: Failed to CreateArtifact: Received non-retryable error: Failed request: (409) Conflict: an artifact with this name already exists on the workflow run
Span entered but never exited if exception occurs before iterator patching: sentry_sdk/integrations/anthropic.py#L758
In `_sentry_patched_stream_common`, the span is entered via `span.__enter__()` on line 758, but there's no try/except/finally to ensure `span.__exit__()` is called if `_set_stream_input_data()` or `_patch_streaming_response_iterator()` raises an exception. This would leave an unclosed span in Sentry's span stack, potentially corrupting tracing state. Other functions in the same file (lines 680-683, 718-721) properly handle this with `finally` blocks.

Artifacts

Produced during runtime
Name Size Digest
codecov-coverage-results-webb-anthropic-new-patch-test-dbs
106 KB
sha256:59c07121bfb1a3207e8d464908de66794a398e34fbf5ddb06bd298523aec92c1
codecov-test-results-webb-anthropic-new-patch-test-dbs
232 Bytes
sha256:620e01745051b169d65837a19507cfcdb8d2cd6962c740e883a22e6c6d238558