Skip to content

Commit 3d0f50c

Browse files
committed
profiler stuff
1 parent 22eeba1 commit 3d0f50c

File tree

3 files changed

+13
-61
lines changed

3 files changed

+13
-61
lines changed

sentry_sdk/profiler/continuous_profiler.py

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -87,15 +87,9 @@ def setup_continuous_profiler(options, sdk_info, capture_func):
8787
else:
8888
default_profiler_mode = ThreadContinuousScheduler.mode
8989

90+
profiler_mode = default_profiler_mode
9091
if options.get("profiler_mode") is not None:
9192
profiler_mode = options["profiler_mode"]
92-
else:
93-
# TODO: deprecate this and just use the existing `profiler_mode`
94-
experiments = options.get("_experiments", {})
95-
96-
profiler_mode = (
97-
experiments.get("continuous_profiling_mode") or default_profiler_mode
98-
)
9993

10094
frequency = DEFAULT_SAMPLING_FREQUENCY
10195

sentry_sdk/profiler/transaction_profiler.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -270,8 +270,6 @@ def _set_initial_sampling_decision(self, sampling_context):
270270
sample_rate = options["profiles_sampler"](sampling_context)
271271
elif options["profiles_sample_rate"] is not None:
272272
sample_rate = options["profiles_sample_rate"]
273-
else:
274-
sample_rate = options["_experiments"].get("profiles_sample_rate")
275273

276274
# The profiles_sample_rate option was not set, so profiling
277275
# was never enabled.

tests/profiler/test_transaction_profiler.py

Lines changed: 12 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -39,30 +39,13 @@ def process_test_sample(sample):
3939
return [(tid, (stack, stack)) for tid, stack in sample]
4040

4141

42-
def non_experimental_options(mode=None, sample_rate=None):
43-
return {"profiler_mode": mode, "profiles_sample_rate": sample_rate}
44-
45-
46-
def experimental_options(mode=None, sample_rate=None):
47-
return {
48-
"_experiments": {"profiler_mode": mode, "profiles_sample_rate": sample_rate}
49-
}
50-
51-
5242
@pytest.mark.parametrize(
5343
"mode",
5444
[pytest.param("foo")],
5545
)
56-
@pytest.mark.parametrize(
57-
"make_options",
58-
[
59-
pytest.param(experimental_options, id="experiment"),
60-
pytest.param(non_experimental_options, id="non experimental"),
61-
],
62-
)
63-
def test_profiler_invalid_mode(mode, make_options, teardown_profiling):
46+
def test_profiler_invalid_mode(mode, teardown_profiling):
6447
with pytest.raises(ValueError):
65-
setup_profiler(make_options(mode))
48+
setup_profiler({"profiler_mode": mode})
6649

6750

6851
@pytest.mark.parametrize(
@@ -73,30 +56,16 @@ def test_profiler_invalid_mode(mode, make_options, teardown_profiling):
7356
pytest.param("gevent", marks=requires_gevent),
7457
],
7558
)
76-
@pytest.mark.parametrize(
77-
"make_options",
78-
[
79-
pytest.param(experimental_options, id="experiment"),
80-
pytest.param(non_experimental_options, id="non experimental"),
81-
],
82-
)
83-
def test_profiler_valid_mode(mode, make_options, teardown_profiling):
59+
def test_profiler_valid_mode(mode, teardown_profiling):
8460
# should not raise any exceptions
85-
setup_profiler(make_options(mode))
61+
setup_profiler({"profiler_mode": mode})
8662

8763

88-
@pytest.mark.parametrize(
89-
"make_options",
90-
[
91-
pytest.param(experimental_options, id="experiment"),
92-
pytest.param(non_experimental_options, id="non experimental"),
93-
],
94-
)
95-
def test_profiler_setup_twice(make_options, teardown_profiling):
64+
def test_profiler_setup_twice(teardown_profiling):
9665
# setting up the first time should return True to indicate success
97-
assert setup_profiler(make_options())
66+
assert setup_profiler({})
9867
# setting up the second time should return False to indicate no-op
99-
assert not setup_profiler(make_options())
68+
assert not setup_profiler({})
10069

10170

10271
@pytest.mark.parametrize(
@@ -116,13 +85,6 @@ def test_profiler_setup_twice(make_options, teardown_profiling):
11685
pytest.param(None, 0, id="profiler not enabled"),
11786
],
11887
)
119-
@pytest.mark.parametrize(
120-
"make_options",
121-
[
122-
pytest.param(experimental_options, id="experiment"),
123-
pytest.param(non_experimental_options, id="non experimental"),
124-
],
125-
)
12688
@mock.patch("sentry_sdk.profiler.transaction_profiler.PROFILE_MINIMUM_SAMPLES", 0)
12789
def test_profiles_sample_rate(
12890
sentry_init,
@@ -131,15 +93,12 @@ def test_profiles_sample_rate(
13193
teardown_profiling,
13294
profiles_sample_rate,
13395
profile_count,
134-
make_options,
13596
mode,
13697
):
137-
options = make_options(mode=mode, sample_rate=profiles_sample_rate)
13898
sentry_init(
13999
traces_sample_rate=1.0,
140-
profiler_mode=options.get("profiler_mode"),
141-
profiles_sample_rate=options.get("profiles_sample_rate"),
142-
_experiments=options.get("_experiments", {}),
100+
profiler_mode=mode,
101+
profiles_sample_rate=profiles_sample_rate,
143102
)
144103

145104
envelopes = capture_envelopes()
@@ -211,6 +170,7 @@ def test_profiles_sampler(
211170
sentry_init(
212171
traces_sample_rate=1.0,
213172
profiles_sampler=profiles_sampler,
173+
profiler_mode=mode,
214174
)
215175

216176
envelopes = capture_envelopes()
@@ -243,7 +203,7 @@ def test_minimum_unique_samples_required(
243203
):
244204
sentry_init(
245205
traces_sample_rate=1.0,
246-
_experiments={"profiles_sample_rate": 1.0},
206+
profiles_sample_rate=1.0,
247207
)
248208

249209
envelopes = capture_envelopes()
@@ -272,7 +232,7 @@ def test_profile_captured(
272232
):
273233
sentry_init(
274234
traces_sample_rate=1.0,
275-
_experiments={"profiles_sample_rate": 1.0},
235+
profiles_sample_rate=1.0,
276236
)
277237

278238
envelopes = capture_envelopes()

0 commit comments

Comments
 (0)