Skip to content

Commit 5f3814e

Browse files
authored
Cleanup meta references on flush (#4420)
1 parent 1b712f9 commit 5f3814e

File tree

2 files changed

+15
-1
lines changed

2 files changed

+15
-1
lines changed

sentry_sdk/opentelemetry/span_processor.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
get_profile_context,
3030
get_sentry_meta,
3131
set_sentry_meta,
32+
delete_sentry_meta,
3233
)
3334
from sentry_sdk.profiler.continuous_profiler import (
3435
try_autostart_continuous_profiler,
@@ -173,6 +174,7 @@ def _flush_root_span(self, span):
173174
# TODO-neel-potel sort and cutoff max spans
174175

175176
sentry_sdk.capture_event(transaction_event)
177+
self._cleanup_references([span] + collected_spans)
176178

177179
def _append_child_span(self, span):
178180
# type: (ReadableSpan) -> None
@@ -253,7 +255,6 @@ def _root_span_to_transaction_event(self, span):
253255
profile.__exit__(None, None, None)
254256
if profile.valid():
255257
event["profile"] = profile
256-
set_sentry_meta(span, "profile", None)
257258

258259
return event
259260

@@ -314,6 +315,11 @@ def _common_span_transaction_attributes_as_json(self, span):
314315

315316
return common_json
316317

318+
def _cleanup_references(self, spans):
319+
# type: (List[ReadableSpan]) -> None
320+
for span in spans:
321+
delete_sentry_meta(span)
322+
317323
def _log_debug_info(self):
318324
# type: () -> None
319325
import pprint

sentry_sdk/opentelemetry/utils.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -464,6 +464,14 @@ def set_sentry_meta(span, key, value):
464464
span._sentry_meta = sentry_meta # type: ignore[union-attr]
465465

466466

467+
def delete_sentry_meta(span):
468+
# type: (Union[AbstractSpan, ReadableSpan]) -> None
469+
try:
470+
del span._sentry_meta # type: ignore[union-attr]
471+
except AttributeError:
472+
pass
473+
474+
467475
def get_profile_context(span):
468476
# type: (ReadableSpan) -> Optional[dict[str, str]]
469477
if not span.attributes:

0 commit comments

Comments
 (0)