From a25f048932a2536bd0fefb618991c1542581e494 Mon Sep 17 00:00:00 2001 From: GIancarlo Buenaflor Date: Tue, 11 Feb 2025 14:16:55 +0100 Subject: [PATCH 1/6] remove enableTracing --- dart/lib/src/sentry_options.dart | 12 ----- dart/lib/src/sentry_traces_sampler.dart | 13 ++--- .../test/http_client/tracing_client_test.dart | 4 +- dart/test/sentry_options_test.dart | 20 -------- dart/test/sentry_traces_sampler_test.dart | 51 ------------------- dio/test/tracing_client_adapter_test.dart | 4 +- 6 files changed, 10 insertions(+), 94 deletions(-) diff --git a/dart/lib/src/sentry_options.dart b/dart/lib/src/sentry_options.dart index 6a3d9f371f..091f48c9e2 100644 --- a/dart/lib/src/sentry_options.dart +++ b/dart/lib/src/sentry_options.dart @@ -444,13 +444,6 @@ class SentryOptions { _stackTraceExtractorsByType[extractor.exceptionType] = extractor; } - /// Enables generation of transactions and propagation of trace data. If set - /// to null, tracing might be enabled if [tracesSampleRate] or [tracesSampler] - /// are set. - @Deprecated( - 'Use either tracesSampleRate or tracesSampler instead. This will be removed in v9') - bool? enableTracing; - /// Only for internal use. Changed SDK behaviour when set to true: /// - Rethrow exceptions that occur in user provided closures @internal @@ -560,11 +553,6 @@ class SentryOptions { /// Returns if tracing should be enabled. If tracing is disabled, starting transactions returns /// [NoOpSentrySpan]. bool isTracingEnabled() { - // ignore: deprecated_member_use_from_same_package - final enable = enableTracing; - if (enable != null) { - return enable; - } return tracesSampleRate != null || tracesSampler != null; } diff --git a/dart/lib/src/sentry_traces_sampler.dart b/dart/lib/src/sentry_traces_sampler.dart index f668ad460f..e46b749459 100644 --- a/dart/lib/src/sentry_traces_sampler.dart +++ b/dart/lib/src/sentry_traces_sampler.dart @@ -55,16 +55,11 @@ class SentryTracesSampler { } double? optionsRate = _options.tracesSampleRate; - double? defaultRate = - // ignore: deprecated_member_use_from_same_package - _options.enableTracing == true ? _defaultSampleRate : null; - double? optionsOrDefaultRate = optionsRate ?? defaultRate; - - if (optionsOrDefaultRate != null) { - return _makeSampleDecision(optionsOrDefaultRate); + if (optionsRate != null) { + return _makeSampleDecision(optionsRate); + } else { + return SentryTracesSamplingDecision(false); } - - return SentryTracesSamplingDecision(false); } bool sampleProfiling(SentryTracesSamplingDecision tracesSamplingDecision) { diff --git a/dart/test/http_client/tracing_client_test.dart b/dart/test/http_client/tracing_client_test.dart index 4e052dc518..24a3f3b49e 100644 --- a/dart/test/http_client/tracing_client_test.dart +++ b/dart/test/http_client/tracing_client_test.dart @@ -178,7 +178,9 @@ void main() { test('set headers from propagationContext when tracing is disabled', () async { // ignore: deprecated_member_use_from_same_package - fixture._options.enableTracing = false; + fixture._options.tracesSampler = null; + fixture._options.tracesSampleRate = null; + final sut = fixture.getSut( client: fixture.getClient(statusCode: 200, reason: 'OK'), ); diff --git a/dart/test/sentry_options_test.dart b/dart/test/sentry_options_test.dart index 958594b818..c2bde01d73 100644 --- a/dart/test/sentry_options_test.dart +++ b/dart/test/sentry_options_test.dart @@ -110,26 +110,6 @@ void main() { expect(options.idleTimeout?.inSeconds, Duration(seconds: 3).inSeconds); }); - test('when enableTracing is set to true tracing is considered enabled', () { - final options = SentryOptions.empty(); - // ignore: deprecated_member_use_from_same_package - options.enableTracing = true; - - expect(options.isTracingEnabled(), true); - }); - - test('when enableTracing is set to false tracing is considered disabled', () { - final options = SentryOptions.empty(); - // ignore: deprecated_member_use_from_same_package - options.enableTracing = false; - options.tracesSampleRate = 1.0; - options.tracesSampler = (_) { - return 1.0; - }; - - expect(options.isTracingEnabled(), false); - }); - test('Spotlight is disabled by default', () { final options = defaultTestOptions(); diff --git a/dart/test/sentry_traces_sampler_test.dart b/dart/test/sentry_traces_sampler_test.dart index 3fbcb85772..96300af066 100644 --- a/dart/test/sentry_traces_sampler_test.dart +++ b/dart/test/sentry_traces_sampler_test.dart @@ -101,54 +101,6 @@ void main() { expect(fixture.loggedException, exception); expect(fixture.loggedLevel, SentryLevel.error); }); - - test('when no tracesSampleRate is set, do not sample with enableTracing null', - () { - final sampler = fixture.getSut(tracesSampleRate: null, enableTracing: null); - final trContext = SentryTransactionContext( - 'name', - 'op', - parentSamplingDecision: null, - ); - final context = SentrySamplingContext(trContext, {}); - final samplingDecision = sampler.sample(context); - - expect(samplingDecision.sampleRate, isNull); - expect(samplingDecision.sampled, false); - }); - - test( - 'when no tracesSampleRate is set, do not sample with enableTracing false', - () { - final sampler = - fixture.getSut(tracesSampleRate: null, enableTracing: false); - final trContext = SentryTransactionContext( - 'name', - 'op', - parentSamplingDecision: null, - ); - final context = SentrySamplingContext(trContext, {}); - final samplingDecision = sampler.sample(context); - - expect(samplingDecision.sampleRate, isNull); - expect(samplingDecision.sampled, false); - }); - - test( - 'when no tracesSampleRate is set, uses default rate with enableTracing true', - () { - final sampler = fixture.getSut(tracesSampleRate: null, enableTracing: true); - final trContext = SentryTransactionContext( - 'name', - 'op', - parentSamplingDecision: null, - ); - final context = SentrySamplingContext(trContext, {}); - final samplingDecision = sampler.sample(context); - - expect(samplingDecision.sampled, true); - expect(1.0, samplingDecision.sampleRate); - }); } class Fixture { @@ -161,14 +113,11 @@ class Fixture { double? tracesSampleRate = 1.0, TracesSamplerCallback? tracesSampler, bool debug = false, - bool? enableTracing, }) { options.tracesSampleRate = tracesSampleRate; options.tracesSampler = tracesSampler; options.debug = debug; options.logger = mockLogger; - // ignore: deprecated_member_use_from_same_package - options.enableTracing = enableTracing; return SentryTracesSampler(options); } diff --git a/dio/test/tracing_client_adapter_test.dart b/dio/test/tracing_client_adapter_test.dart index 680825b34f..d4f6299366 100644 --- a/dio/test/tracing_client_adapter_test.dart +++ b/dio/test/tracing_client_adapter_test.dart @@ -137,7 +137,9 @@ void main() { test('set headers from propagationContext when tracing is disabled', () async { - fixture._options.enableTracing = false; + fixture._options.tracesSampleRate = null; + fixture._options.tracesSampler = null; + final sut = fixture.getSut( client: fixture.getClient(statusCode: 200, reason: 'OK'), ); From 516749d6a229b92c547eccc7bf0f218121b85292 Mon Sep 17 00:00:00 2001 From: GIancarlo Buenaflor Date: Tue, 11 Feb 2025 14:20:14 +0100 Subject: [PATCH 2/6] remove ignore --- dart/test/http_client/tracing_client_test.dart | 1 - 1 file changed, 1 deletion(-) diff --git a/dart/test/http_client/tracing_client_test.dart b/dart/test/http_client/tracing_client_test.dart index 24a3f3b49e..7c34281dfc 100644 --- a/dart/test/http_client/tracing_client_test.dart +++ b/dart/test/http_client/tracing_client_test.dart @@ -177,7 +177,6 @@ void main() { test('set headers from propagationContext when tracing is disabled', () async { - // ignore: deprecated_member_use_from_same_package fixture._options.tracesSampler = null; fixture._options.tracesSampleRate = null; From b59915f6c347b856056ff7278442644fa2c3c08a Mon Sep 17 00:00:00 2001 From: GIancarlo Buenaflor Date: Wed, 12 Feb 2025 14:33:12 +0100 Subject: [PATCH 3/6] update CHANGELOG --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 171412ec93..1b9957851d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,7 @@ - Remove screenshot option `attachScreenshotOnlyWhenResumed` ([#2664](https://github.com/getsentry/sentry-dart/pull/2664)) - Remove deprecated `beforeScreenshot` ([#2662](https://github.com/getsentry/sentry-dart/pull/2662)) - Remove user segment ([#2687](https://github.com/getsentry/sentry-dart/pull/2687)) +- Remove `enableTracing` ([#2695](https://github.com/getsentry/sentry-dart/pull/2695)) ### Dependencies From 96ab53917bdaf208f403ebfca9e5209ad6518a72 Mon Sep 17 00:00:00 2001 From: GIancarlo Buenaflor Date: Wed, 12 Feb 2025 14:36:33 +0100 Subject: [PATCH 4/6] add test --- dart/lib/src/sentry_traces_sampler.dart | 2 -- dart/test/sentry_traces_sampler_test.dart | 12 ++++++++++++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/dart/lib/src/sentry_traces_sampler.dart b/dart/lib/src/sentry_traces_sampler.dart index e46b749459..b3f28e4f2a 100644 --- a/dart/lib/src/sentry_traces_sampler.dart +++ b/dart/lib/src/sentry_traces_sampler.dart @@ -6,8 +6,6 @@ import '../sentry.dart'; @internal class SentryTracesSampler { - static const _defaultSampleRate = 1.0; - final SentryOptions _options; final Random _random; diff --git a/dart/test/sentry_traces_sampler_test.dart b/dart/test/sentry_traces_sampler_test.dart index 96300af066..6c90bb82bf 100644 --- a/dart/test/sentry_traces_sampler_test.dart +++ b/dart/test/sentry_traces_sampler_test.dart @@ -80,6 +80,18 @@ void main() { expect(sut.sample(context).sampled, false); }); + test('does not sample if tracesSampleRate and tracesSampleRate are null', () { + final sut = fixture.getSut(tracesSampleRate: null, tracesSampler: null); + + final trContext = SentryTransactionContext( + 'name', + 'op', + ); + final context = SentrySamplingContext(trContext, {}); + + expect(sut.sample(context).sampled, false); + }); + test('tracesSampler exception is handled', () { fixture.options.automatedTestMode = false; final sut = fixture.getSut(debug: true); From ebd8820d8aad0746e548ff3567d8aabc8ef44866 Mon Sep 17 00:00:00 2001 From: GIancarlo Buenaflor Date: Wed, 12 Feb 2025 14:38:08 +0100 Subject: [PATCH 5/6] format --- dart/lib/src/sentry_traces_sampler.dart | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dart/lib/src/sentry_traces_sampler.dart b/dart/lib/src/sentry_traces_sampler.dart index b3f28e4f2a..1b4634aee5 100644 --- a/dart/lib/src/sentry_traces_sampler.dart +++ b/dart/lib/src/sentry_traces_sampler.dart @@ -55,9 +55,9 @@ class SentryTracesSampler { double? optionsRate = _options.tracesSampleRate; if (optionsRate != null) { return _makeSampleDecision(optionsRate); - } else { - return SentryTracesSamplingDecision(false); } + + return SentryTracesSamplingDecision(false); } bool sampleProfiling(SentryTracesSamplingDecision tracesSamplingDecision) { From 4f841f14cc4faa9c5581a0042d2f35c378570020 Mon Sep 17 00:00:00 2001 From: GIancarlo Buenaflor Date: Thu, 13 Feb 2025 16:29:52 +0100 Subject: [PATCH 6/6] update test --- dart/test/sentry_traces_sampler_test.dart | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/dart/test/sentry_traces_sampler_test.dart b/dart/test/sentry_traces_sampler_test.dart index 6c90bb82bf..8d0ca97f02 100644 --- a/dart/test/sentry_traces_sampler_test.dart +++ b/dart/test/sentry_traces_sampler_test.dart @@ -88,8 +88,11 @@ void main() { 'op', ); final context = SentrySamplingContext(trContext, {}); + final samplingDecision = sut.sample(context); - expect(sut.sample(context).sampled, false); + expect(samplingDecision.sampleRate, isNull); + expect(samplingDecision.sampleRand, isNull); + expect(samplingDecision.sampled, false); }); test('tracesSampler exception is handled', () {