Skip to content
Merged
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
f572c7b
fix(tracing): Stop setting NoOpSpan on scope
alexander-alderman-webb Jul 20, 2026
29602f0
.
alexander-alderman-webb Jul 20, 2026
0a11296
ref(tracing): No-op and emit warning in start_transaction with the st…
alexander-alderman-webb Jul 20, 2026
27e0a31
anthropic tests
alexander-alderman-webb Jul 20, 2026
1909f2d
google_genai tests
alexander-alderman-webb Jul 20, 2026
001208b
.
alexander-alderman-webb Jul 20, 2026
80b8589
openai tests
alexander-alderman-webb Jul 20, 2026
a513a83
anthropic tests
alexander-alderman-webb Jul 20, 2026
92b629a
langchain test
alexander-alderman-webb Jul 20, 2026
6e6d63e
litellm tests
alexander-alderman-webb Jul 21, 2026
764e3b9
langchain tests
alexander-alderman-webb Jul 21, 2026
f48371f
litellm tests
alexander-alderman-webb Jul 21, 2026
a913959
fix litellm
alexander-alderman-webb Jul 21, 2026
463759f
anthropic test
alexander-alderman-webb Jul 21, 2026
6f51df9
anthropic attributes
alexander-alderman-webb Jul 21, 2026
1206b64
Merge branch 'webb/no-op-start-transaction' into webb/no-op-ctx-mgr
alexander-alderman-webb Jul 21, 2026
8eea113
close client on test
alexander-alderman-webb Jul 21, 2026
19cd4d7
.
alexander-alderman-webb Jul 21, 2026
7ee6aba
fix
alexander-alderman-webb Jul 21, 2026
c6165db
.
alexander-alderman-webb Jul 21, 2026
6f049c2
add cleanup in forksafe fixture
alexander-alderman-webb Jul 21, 2026
aa57be3
add cleanup
alexander-alderman-webb Jul 21, 2026
acd48d9
cleanup
alexander-alderman-webb Jul 21, 2026
126294c
fix
alexander-alderman-webb Jul 21, 2026
bdf3ef5
revert conftest changes
alexander-alderman-webb Jul 21, 2026
62f2604
use explicit sentinel
alexander-alderman-webb Jul 21, 2026
9280a03
mypy
alexander-alderman-webb Jul 21, 2026
fc65f09
add cast
alexander-alderman-webb Jul 21, 2026
02ee3d1
remove declaration
alexander-alderman-webb Jul 21, 2026
cbaac2c
Merge branch 'master' into webb/no-op-ctx-mgr
alexander-alderman-webb Jul 22, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 17 additions & 2 deletions sentry_sdk/tracing.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
import warnings
from datetime import datetime, timedelta, timezone
from enum import Enum
from typing import TYPE_CHECKING
from typing import TYPE_CHECKING, cast

import sentry_sdk
from sentry_sdk.consts import INSTRUMENTER, SPANDATA, SPANSTATUS, SPANTEMPLATE
Expand Down Expand Up @@ -386,6 +386,10 @@ def __repr__(self) -> str:
)

def __enter__(self) -> "Span":
if has_span_streaming_enabled(sentry_sdk.get_client().options):
self._context_manager_state = None # early return sentinel
return self

scope = self.scope or sentry_sdk.get_current_scope()
old_span = scope.span
scope.span = self
Expand All @@ -395,11 +399,21 @@ def __enter__(self) -> "Span":
def __exit__(
self, ty: "Optional[Any]", value: "Optional[Any]", tb: "Optional[Any]"
) -> None:
if (
hasattr(self, "_context_manager_state")
and self._context_manager_state is None
):
del self._context_manager_state
return

if value is not None and should_be_treated_as_error(ty, value):
self.set_status(SPANSTATUS.INTERNAL_ERROR)

with capture_internal_exceptions():
scope, old_span = self._context_manager_state
scope, old_span = cast(
"Tuple[sentry_sdk.Scope, Optional[Span]]",
self._context_manager_state,
)
del self._context_manager_state
self.finish(scope)
scope.span = old_span
Expand Down Expand Up @@ -1479,6 +1493,7 @@ def calculate_interest_rate(amount, rate, years):
EnvironHeaders,
_generate_sample_rand,
extract_sentrytrace_data,
has_span_streaming_enabled,
has_tracing_enabled,
maybe_create_breadcrumbs_from_span,
)
Loading