Skip to content

Commit b4c631d

Browse files
committed
Merge remote-tracking branch 'origin/master' into potel-base
2 parents d1059dd + 8a70b76 commit b4c631d

File tree

6 files changed

+39
-8
lines changed

6 files changed

+39
-8
lines changed

CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@
9090

9191
- **New integration:** Add [OpenFeature](https://openfeature.dev/) feature flagging integration (#3648) by @cmanallen
9292

93-
For more information, see the documentation for the [OpenFeatureIntegration](https://docs.sentry.io/platforms/python/integrations/opoenfeature/).
93+
For more information, see the documentation for the [OpenFeatureIntegration](https://docs.sentry.io/platforms/python/integrations/openfeature/).
9494

9595
- Add LaunchDarkly and OpenFeature integration (#3648) by @cmanallen
9696
- Correct typo in a comment (#3726) by @szokeasaurusrex

sentry_sdk/integrations/celery/__init__.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
import sys
2+
import warnings
3+
24
from collections.abc import Mapping
35
from functools import wraps
46

@@ -67,6 +69,11 @@ def __init__(
6769
exclude_beat_tasks=None,
6870
):
6971
# type: (bool, bool, Optional[List[str]]) -> None
72+
warnings.warn(
73+
"The `propagate_traces` parameter is deprecated. Please use `trace_propagation_targets` instead.",
74+
DeprecationWarning,
75+
stacklevel=2,
76+
)
7077
self.propagate_traces = propagate_traces
7178
self.monitor_beat_tasks = monitor_beat_tasks
7279
self.exclude_beat_tasks = exclude_beat_tasks

sentry_sdk/scope.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -613,6 +613,11 @@ def iter_trace_propagation_headers(self, *args, **kwargs):
613613
"""
614614
client = self.get_client()
615615
if not client.options.get("propagate_traces"):
616+
warnings.warn(
617+
"The `propagate_traces` parameter is deprecated. Please use `trace_propagation_targets` instead.",
618+
DeprecationWarning,
619+
stacklevel=2,
620+
)
616621
return
617622

618623
span = kwargs.pop("span", None)

sentry_sdk/utils.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -546,7 +546,7 @@ def get_lines_from_file(
546546

547547
def get_source_context(
548548
frame, # type: FrameType
549-
tb_lineno, # type: int
549+
tb_lineno, # type: Optional[int]
550550
max_value_length=None, # type: Optional[int]
551551
):
552552
# type: (...) -> Tuple[List[Annotated[str]], Optional[Annotated[str]], List[Annotated[str]]]
@@ -562,11 +562,13 @@ def get_source_context(
562562
loader = frame.f_globals["__loader__"]
563563
except Exception:
564564
loader = None
565-
lineno = tb_lineno - 1
566-
if lineno is not None and abs_path:
565+
566+
if tb_lineno is not None and abs_path:
567+
lineno = tb_lineno - 1
567568
return get_lines_from_file(
568569
abs_path, lineno, max_value_length, loader=loader, module=module
569570
)
571+
570572
return [], None, []
571573

572574

tests/integrations/celery/test_celery.py

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -267,7 +267,9 @@ def dummy_task():
267267

268268

269269
def test_simple_no_propagation(capture_events, init_celery):
270-
celery = init_celery(propagate_traces=False)
270+
with pytest.warns(DeprecationWarning):
271+
celery = init_celery(propagate_traces=False)
272+
271273
events = capture_events()
272274

273275
@celery.task(name="dummy_task")
@@ -533,9 +535,10 @@ def test_sentry_propagate_traces_override(init_celery):
533535
Test if the `sentry-propagate-traces` header given to `apply_async`
534536
overrides the `propagate_traces` parameter in the integration constructor.
535537
"""
536-
celery = init_celery(
537-
propagate_traces=True, traces_sample_rate=1.0, release="abcdef"
538-
)
538+
with pytest.warns(DeprecationWarning):
539+
celery = init_celery(
540+
propagate_traces=True, traces_sample_rate=1.0, release="abcdef"
541+
)
539542

540543
# Since we're applying the task inline eagerly,
541544
# we need to cleanup the otel context for this test.

tests/tracing/test_integration_tests.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,20 @@ def test_continue_trace(
117117
assert message_payload["message"] == "hello"
118118

119119

120+
@pytest.mark.parametrize("sample_rate", [0.0, 1.0])
121+
def test_propagate_traces_deprecation_warning(sentry_init, sample_rate):
122+
sentry_init(traces_sample_rate=sample_rate, propagate_traces=False)
123+
124+
with start_transaction(name="hi"):
125+
with start_span() as old_span:
126+
with pytest.warns(DeprecationWarning):
127+
dict(
128+
sentry_sdk.get_current_scope().iter_trace_propagation_headers(
129+
old_span
130+
)
131+
)
132+
133+
120134
@pytest.mark.parametrize("sample_rate", [0.5, 1.0])
121135
def test_dynamic_sampling_head_sdk_creates_dsc(
122136
sentry_init,

0 commit comments

Comments
 (0)