()
@@ -306,7 +306,7 @@ class SentryWebFluxTracingFilterTest {
val parentSpanId = SpanId()
val sentryTraceHeaderString = "2722d9f6ec019ade60c776169d9a8904-$parentSpanId-1"
val baggageHeaderStrings = listOf("sentry-public_key=502f25099c204a2fbf4cb16edc5975d1,sentry-sample_rate=1,sentry-trace_id=2722d9f6ec019ade60c776169d9a8904,sentry-transaction=HTTP%20GET")
- fixture.options.enableTracing = false
+ fixture.options.tracesSampleRate = null
val filter = fixture.getSut(sentryTraceHeader = sentryTraceHeaderString, baggageHeaders = baggageHeaderStrings)
withMockScopes {
diff --git a/sentry-spring/src/test/kotlin/io/sentry/spring/webflux/SentryWebfluxIntegrationTest.kt b/sentry-spring/src/test/kotlin/io/sentry/spring/webflux/SentryWebfluxIntegrationTest.kt
index 316aaf87386..5a2ebb107cc 100644
--- a/sentry-spring/src/test/kotlin/io/sentry/spring/webflux/SentryWebfluxIntegrationTest.kt
+++ b/sentry-spring/src/test/kotlin/io/sentry/spring/webflux/SentryWebfluxIntegrationTest.kt
@@ -179,7 +179,7 @@ open class App {
it.dsn = "http://key@localhost/proj"
it.setDebug(true)
it.setTransportFactory(transportFactory)
- it.enableTracing = true
+ it.tracesSampleRate = 1.0
}
}
}
diff --git a/sentry/api/sentry.api b/sentry/api/sentry.api
index 12463f0111a..bccf6a85187 100644
--- a/sentry/api/sentry.api
+++ b/sentry/api/sentry.api
@@ -446,7 +446,6 @@ public final class io/sentry/ExternalOptions {
public fun getDist ()Ljava/lang/String;
public fun getDsn ()Ljava/lang/String;
public fun getEnableDeduplication ()Ljava/lang/Boolean;
- public fun getEnableTracing ()Ljava/lang/Boolean;
public fun getEnableUncaughtExceptionHandler ()Ljava/lang/Boolean;
public fun getEnvironment ()Ljava/lang/String;
public fun getIdleTimeout ()Ljava/lang/Long;
@@ -482,7 +481,6 @@ public final class io/sentry/ExternalOptions {
public fun setEnableDeduplication (Ljava/lang/Boolean;)V
public fun setEnablePrettySerializationOutput (Ljava/lang/Boolean;)V
public fun setEnableSpotlight (Ljava/lang/Boolean;)V
- public fun setEnableTracing (Ljava/lang/Boolean;)V
public fun setEnableUncaughtExceptionHandler (Ljava/lang/Boolean;)V
public fun setEnabled (Ljava/lang/Boolean;)V
public fun setEnvironment (Ljava/lang/String;)V
@@ -2802,7 +2800,6 @@ public class io/sentry/SentryOptions {
public fun getDist ()Ljava/lang/String;
public fun getDistinctId ()Ljava/lang/String;
public fun getDsn ()Ljava/lang/String;
- public fun getEnableTracing ()Ljava/lang/Boolean;
public fun getEnvelopeDiskCache ()Lio/sentry/cache/IEnvelopeCache;
public fun getEnvelopeReader ()Lio/sentry/IEnvelopeReader;
public fun getEnvironment ()Ljava/lang/String;
@@ -2928,7 +2925,6 @@ public class io/sentry/SentryOptions {
public fun setEnableShutdownHook (Z)V
public fun setEnableSpotlight (Z)V
public fun setEnableTimeToFullDisplayTracing (Z)V
- public fun setEnableTracing (Ljava/lang/Boolean;)V
public fun setEnableUncaughtExceptionHandler (Z)V
public fun setEnableUserInteractionBreadcrumbs (Z)V
public fun setEnableUserInteractionTracing (Z)V
diff --git a/sentry/src/main/java/io/sentry/ExternalOptions.java b/sentry/src/main/java/io/sentry/ExternalOptions.java
index b1c5e4bf8a4..728671c43c8 100644
--- a/sentry/src/main/java/io/sentry/ExternalOptions.java
+++ b/sentry/src/main/java/io/sentry/ExternalOptions.java
@@ -26,7 +26,6 @@ public final class ExternalOptions {
private @Nullable Boolean enableUncaughtExceptionHandler;
private @Nullable Boolean debug;
private @Nullable Boolean enableDeduplication;
- private @Nullable Boolean enableTracing;
private @Nullable Double tracesSampleRate;
private @Nullable Double profilesSampleRate;
private @Nullable SentryOptions.RequestSize maxRequestBodySize;
@@ -70,7 +69,6 @@ public final class ExternalOptions {
propertiesProvider.getBooleanProperty("uncaught.handler.enabled"));
options.setPrintUncaughtStackTrace(
propertiesProvider.getBooleanProperty("uncaught.handler.print-stacktrace"));
- options.setEnableTracing(propertiesProvider.getBooleanProperty("enable-tracing"));
options.setTracesSampleRate(propertiesProvider.getDoubleProperty("traces-sample-rate"));
options.setProfilesSampleRate(propertiesProvider.getDoubleProperty("profiles-sample-rate"));
options.setDebug(propertiesProvider.getBooleanProperty("debug"));
@@ -270,14 +268,6 @@ public void setEnableDeduplication(final @Nullable Boolean enableDeduplication)
this.enableDeduplication = enableDeduplication;
}
- public @Nullable Boolean getEnableTracing() {
- return enableTracing;
- }
-
- public void setEnableTracing(final @Nullable Boolean enableTracing) {
- this.enableTracing = enableTracing;
- }
-
public @Nullable Double getTracesSampleRate() {
return tracesSampleRate;
}
diff --git a/sentry/src/main/java/io/sentry/SentryOptions.java b/sentry/src/main/java/io/sentry/SentryOptions.java
index b93161271b7..8c8b445ed74 100644
--- a/sentry/src/main/java/io/sentry/SentryOptions.java
+++ b/sentry/src/main/java/io/sentry/SentryOptions.java
@@ -187,9 +187,6 @@ public class SentryOptions {
*/
private @Nullable Double sampleRate;
- /** Enables generation of transactions and propagation of trace data. */
- private @Nullable Boolean enableTracing;
-
/**
* Configures the sample rate as a percentage of transactions to be sent in the range of 0.0 to
* 1.0. if 1.0 is set it means that 100% of transactions are sent. If set to 0.1 only 10% of
@@ -912,24 +909,6 @@ public void setSampleRate(Double sampleRate) {
this.sampleRate = sampleRate;
}
- /**
- * Whether generation of transactions and propagation of trace data is enabled.
- *
- * NOTE: There is also {@link SentryOptions#isTracingEnabled()} which checks other options as
- * well.
- *
- * @return true if enabled, false if disabled, null can mean enabled if {@link
- * SentryOptions#getTracesSampleRate()} or {@link SentryOptions#getTracesSampler()} are set.
- */
- public @Nullable Boolean getEnableTracing() {
- return enableTracing;
- }
-
- /** Enables generation of transactions and propagation of trace data. */
- public void setEnableTracing(@Nullable Boolean enableTracing) {
- this.enableTracing = enableTracing;
- }
-
/**
* Returns the traces sample rate Default is null (disabled)
*
@@ -1522,10 +1501,6 @@ public void setEnableDeduplication(final boolean enableDeduplication) {
* @return if tracing is enabled.
*/
public boolean isTracingEnabled() {
- if (enableTracing != null) {
- return enableTracing;
- }
-
return getTracesSampleRate() != null || getTracesSampler() != null;
}
@@ -2635,9 +2610,6 @@ public void merge(final @NotNull ExternalOptions options) {
if (options.getPrintUncaughtStackTrace() != null) {
setPrintUncaughtStackTrace(options.getPrintUncaughtStackTrace());
}
- if (options.getEnableTracing() != null) {
- setEnableTracing(options.getEnableTracing());
- }
if (options.getTracesSampleRate() != null) {
setTracesSampleRate(options.getTracesSampleRate());
}
diff --git a/sentry/src/main/java/io/sentry/TracesSampler.java b/sentry/src/main/java/io/sentry/TracesSampler.java
index f85aba1a9bc..5138e685776 100644
--- a/sentry/src/main/java/io/sentry/TracesSampler.java
+++ b/sentry/src/main/java/io/sentry/TracesSampler.java
@@ -9,8 +9,6 @@
@ApiStatus.Internal
public final class TracesSampler {
- private static final @NotNull Double DEFAULT_TRACES_SAMPLE_RATE = 1.0;
-
private final @NotNull SentryOptions options;
private final @NotNull SecureRandom random;
@@ -69,15 +67,10 @@ public TracesSamplingDecision sample(final @NotNull SamplingContext samplingCont
}
final @Nullable Double tracesSampleRateFromOptions = options.getTracesSampleRate();
- final @Nullable Boolean isEnableTracing = options.getEnableTracing();
- final @Nullable Double defaultSampleRate =
- Boolean.TRUE.equals(isEnableTracing) ? DEFAULT_TRACES_SAMPLE_RATE : null;
- final @Nullable Double tracesSampleRateOrDefault =
- tracesSampleRateFromOptions == null ? defaultSampleRate : tracesSampleRateFromOptions;
final @NotNull Double downsampleFactor =
Math.pow(2, options.getBackpressureMonitor().getDownsampleFactor());
final @Nullable Double downsampledTracesSampleRate =
- tracesSampleRateOrDefault == null ? null : tracesSampleRateOrDefault / downsampleFactor;
+ tracesSampleRateFromOptions == null ? null : tracesSampleRateFromOptions / downsampleFactor;
if (downsampledTracesSampleRate != null) {
return new TracesSamplingDecision(
diff --git a/sentry/src/test/java/io/sentry/ExternalOptionsTest.kt b/sentry/src/test/java/io/sentry/ExternalOptionsTest.kt
index 8932531b070..c61f789da97 100644
--- a/sentry/src/test/java/io/sentry/ExternalOptionsTest.kt
+++ b/sentry/src/test/java/io/sentry/ExternalOptionsTest.kt
@@ -106,13 +106,6 @@ class ExternalOptionsTest {
}
}
- @Test
- fun `creates options with enableTracing using external properties`() {
- withPropertiesFile("enable-tracing=true") {
- assertEquals(true, it.enableTracing)
- }
- }
-
@Test
fun `creates options with tracesSampleRate using external properties`() {
withPropertiesFile("traces-sample-rate=0.2") {
diff --git a/sentry/src/test/java/io/sentry/ScopesTest.kt b/sentry/src/test/java/io/sentry/ScopesTest.kt
index 4e02fdb6810..a806ca2175e 100644
--- a/sentry/src/test/java/io/sentry/ScopesTest.kt
+++ b/sentry/src/test/java/io/sentry/ScopesTest.kt
@@ -1992,7 +1992,7 @@ class ScopesTest {
@Test
fun `continueTrace creates propagation context from headers and returns null if performance disabled`() {
- val scopes = generateScopes { it.enableTracing = false }
+ val scopes = generateScopes { it.tracesSampleRate = null }
val traceId = SentryId()
val parentSpanId = SpanId()
val transactionContext = scopes.continueTrace("$traceId-$parentSpanId-1", listOf("sentry-public_key=502f25099c204a2fbf4cb16edc5975d1,sentry-sample_rate=1,sentry-trace_id=$traceId,sentry-transaction=HTTP%20GET"))
@@ -2007,7 +2007,7 @@ class ScopesTest {
@Test
fun `continueTrace creates new propagation context if header invalid and returns null if performance disabled`() {
- val scopes = generateScopes { it.enableTracing = false }
+ val scopes = generateScopes { it.tracesSampleRate = null }
val traceId = SentryId()
var propagationContextHolder = AtomicReference()
diff --git a/sentry/src/test/java/io/sentry/SentryOptionsTest.kt b/sentry/src/test/java/io/sentry/SentryOptionsTest.kt
index c914ebc43e6..4f460bd408f 100644
--- a/sentry/src/test/java/io/sentry/SentryOptionsTest.kt
+++ b/sentry/src/test/java/io/sentry/SentryOptionsTest.kt
@@ -130,15 +130,6 @@ class SentryOptionsTest {
assertTrue(options.isTracingEnabled)
}
- @Test
- fun `when enableTracing is set to true tracing is considered enabled`() {
- val options = SentryOptions().apply {
- this.enableTracing = true
- }
-
- assertTrue(options.isTracingEnabled)
- }
-
@Test
fun `by default tracing is considered disabled`() {
val options = SentryOptions()
@@ -146,17 +137,6 @@ class SentryOptionsTest {
assertFalse(options.isTracingEnabled)
}
- @Test
- fun `when enableTracing is set to false tracing is considered disabled`() {
- val options = SentryOptions().apply {
- this.enableTracing = false
- this.tracesSampleRate = 1.0
- this.tracesSampler = SentryOptions.TracesSamplerCallback { _ -> 1.0 }
- }
-
- assertFalse(options.isTracingEnabled)
- }
-
@Test
fun `when there's no cacheDirPath, outboxPath returns null`() {
val options = SentryOptions()
@@ -354,7 +334,6 @@ class SentryOptionsTest {
externalOptions.setTag("tag1", "value1")
externalOptions.setTag("tag2", "value2")
externalOptions.enableUncaughtExceptionHandler = false
- externalOptions.enableTracing = true
externalOptions.tracesSampleRate = 0.5
externalOptions.profilesSampleRate = 0.5
externalOptions.addInAppInclude("com.app")
@@ -399,7 +378,6 @@ class SentryOptionsTest {
assertEquals(java.net.Proxy.Type.SOCKS, options.proxy!!.type)
assertEquals(mapOf("tag1" to "value1", "tag2" to "value2"), options.tags)
assertFalse(options.isEnableUncaughtExceptionHandler)
- assertEquals(true, options.enableTracing)
assertEquals(0.5, options.tracesSampleRate)
assertEquals(0.5, options.profilesSampleRate)
assertEquals(listOf("com.app"), options.inAppIncludes)
diff --git a/sentry/src/test/java/io/sentry/SentryOptionsTracingTest.kt b/sentry/src/test/java/io/sentry/SentryOptionsTracingTest.kt
index 469608ec2ca..5ff3e8c2445 100644
--- a/sentry/src/test/java/io/sentry/SentryOptionsTracingTest.kt
+++ b/sentry/src/test/java/io/sentry/SentryOptionsTracingTest.kt
@@ -5,7 +5,7 @@ import org.junit.runner.RunWith
import org.junit.runners.Parameterized
import kotlin.test.assertEquals
-data class TracingEnabledTestData(val enableTracing: Boolean?, val tracesSampleRate: Double?, val tracesSamplerPresent: Boolean, val isTracingEnabled: Boolean)
+data class TracingEnabledTestData(val tracesSampleRate: Double?, val tracesSamplerPresent: Boolean, val isTracingEnabled: Boolean)
/**
* Test @link{SentryOptions#isTracingEnabled()} with combination of other options.
@@ -18,25 +18,12 @@ class SentryOptionsTracingTest(private val testData: TracingEnabledTestData) {
@Parameterized.Parameters
fun data(): Collection> {
return listOf(
- TracingEnabledTestData(null, null, false, false),
- TracingEnabledTestData(null, 1.0, false, true),
- TracingEnabledTestData(false, 1.0, false, false),
- TracingEnabledTestData(true, 1.0, false, true),
- TracingEnabledTestData(null, 0.0, false, true),
- TracingEnabledTestData(false, 0.0, false, false),
- TracingEnabledTestData(true, 0.0, false, true),
- TracingEnabledTestData(true, null, false, true),
- TracingEnabledTestData(false, null, false, false),
-
- TracingEnabledTestData(null, null, true, true),
- TracingEnabledTestData(null, 1.0, true, true),
- TracingEnabledTestData(false, 1.0, true, false),
- TracingEnabledTestData(true, 1.0, true, true),
- TracingEnabledTestData(null, 0.0, true, true),
- TracingEnabledTestData(false, 0.0, true, false),
- TracingEnabledTestData(true, 0.0, true, true),
- TracingEnabledTestData(true, null, true, true),
- TracingEnabledTestData(false, null, true, false)
+ TracingEnabledTestData(null, false, false),
+ TracingEnabledTestData(1.0, false, true),
+ TracingEnabledTestData(0.0, false, true),
+ TracingEnabledTestData(null, true, true),
+ TracingEnabledTestData(1.0, true, true),
+ TracingEnabledTestData(0.0, true, true)
).map { arrayOf(it) }
}
}
@@ -44,7 +31,6 @@ class SentryOptionsTracingTest(private val testData: TracingEnabledTestData) {
@Test
fun `test isTracingEnabled`() {
val options = SentryOptions().apply {
- testData.enableTracing?.let { this.enableTracing = it }
testData.tracesSampleRate?.let { this.tracesSampleRate = it }
if (testData.tracesSamplerPresent) {
this.tracesSampler = SentryOptions.TracesSamplerCallback { samplingContext -> 1.0 }
diff --git a/sentry/src/test/java/io/sentry/SentryTest.kt b/sentry/src/test/java/io/sentry/SentryTest.kt
index 2c2f1a31d67..09b61399cd9 100644
--- a/sentry/src/test/java/io/sentry/SentryTest.kt
+++ b/sentry/src/test/java/io/sentry/SentryTest.kt
@@ -999,7 +999,7 @@ class SentryTest {
PlatformTestManipulator.pretendIsAndroid(true)
Sentry.init(OptionsContainer.create(CustomAndroidOptions::class.java), {
it.dsn = dsn
- it.enableTracing = true
+ it.tracesSampleRate = 1.0
it.sampleRate = 1.0
it.mockName()
sentryOptions = it
@@ -1019,7 +1019,7 @@ class SentryTest {
PlatformTestManipulator.pretendIsAndroid(false)
Sentry.init({
it.dsn = dsn
- it.enableTracing = true
+ it.tracesSampleRate = 1.0
it.sampleRate = 1.0
}, false)
@@ -1034,7 +1034,7 @@ class SentryTest {
fun `getSpan calls returns child span if globalHubMode is disabled`() {
Sentry.init({
it.dsn = dsn
- it.enableTracing = true
+ it.tracesSampleRate = 1.0
it.sampleRate = 1.0
}, false)
@@ -1074,7 +1074,7 @@ class SentryTest {
val mockProfilesSampler = mock()
Sentry.init {
it.dsn = dsn
- it.enableTracing = true
+ it.tracesSampleRate = 1.0
it.isEnableAppStartProfiling = true
it.profilesSampleRate = 1.0
it.tracesSampler = mockSampleTracer
@@ -1105,7 +1105,7 @@ class SentryTest {
val mockProfilesSampler = mock()
Sentry.init {
it.dsn = dsn
- it.enableTracing = true
+ it.tracesSampleRate = 1.0
it.isEnableAppStartProfiling = true
it.profilesSampleRate = 1.0
it.tracesSampler = mockSampleTracer
@@ -1124,7 +1124,7 @@ class SentryTest {
val mockProfilesSampler = mock()
Sentry.init {
it.dsn = dsn
- it.enableTracing = true
+ it.tracesSampleRate = 1.0
it.isEnableAppStartProfiling = true
it.profilesSampleRate = 1.0
it.tracesSampler = mockSampleTracer
@@ -1138,16 +1138,14 @@ class SentryTest {
}
@Test
- fun `init does not call app start profiling samplers if enableTracing is false`() {
+ fun `init does not call app start profiling samplers if performance is disabled`() {
val logger = mock()
- val mockTraceSampler = mock()
val mockProfilesSampler = mock()
Sentry.init {
it.dsn = dsn
- it.enableTracing = false
+ it.tracesSampleRate = null
it.isEnableAppStartProfiling = true
it.profilesSampleRate = 1.0
- it.tracesSampler = mockTraceSampler
it.profilesSampler = mockProfilesSampler
it.executorService = ImmediateExecutorService()
it.cacheDirPath = getTempPath()
@@ -1155,7 +1153,6 @@ class SentryTest {
it.setLogger(logger)
}
verify(logger).log(eq(SentryLevel.INFO), eq("Tracing is disabled and app start profiling will not start."))
- verify(mockTraceSampler, never()).sample(any())
verify(mockProfilesSampler, never()).sample(any())
}
@@ -1175,7 +1172,7 @@ class SentryTest {
}
@Test
- fun `init creates app start profiling config if isEnableAppStartProfiling and enableTracing is true`() {
+ fun `init creates app start profiling config if isEnableAppStartProfiling and performance is enabled`() {
val path = getTempPath()
File(path).mkdirs()
val appStartProfilingConfigFile = File(path, "app_start_profiling_config")
@@ -1186,7 +1183,7 @@ class SentryTest {
it.cacheDirPath = path
it.isEnableAppStartProfiling = true
it.profilesSampleRate = 1.0
- it.enableTracing = true
+ it.tracesSampleRate = 1.0
it.executorService = ImmediateExecutorService()
}
assertTrue(appStartProfilingConfigFile.exists())
@@ -1199,7 +1196,7 @@ class SentryTest {
Sentry.init {
it.dsn = dsn
it.cacheDirPath = path
- it.enableTracing = true
+ it.tracesSampleRate = 1.0
it.tracesSampleRate = 0.5
it.isEnableAppStartProfiling = true
it.profilesSampleRate = 0.2
diff --git a/sentry/src/test/java/io/sentry/TracesSamplerTest.kt b/sentry/src/test/java/io/sentry/TracesSamplerTest.kt
index 11d58766d62..33c95a09c76 100644
--- a/sentry/src/test/java/io/sentry/TracesSamplerTest.kt
+++ b/sentry/src/test/java/io/sentry/TracesSamplerTest.kt
@@ -16,7 +16,6 @@ class TracesSamplerTest {
class Fixture {
internal fun getSut(
randomResult: Double? = null,
- enableTracing: Boolean? = null,
tracesSampleRate: Double? = null,
profilesSampleRate: Double? = null,
tracesSamplerCallback: SentryOptions.TracesSamplerCallback? = null,
@@ -28,9 +27,6 @@ class TracesSamplerTest {
whenever(random.nextDouble()).thenReturn(randomResult)
}
val options = SentryOptions()
- if (enableTracing != null) {
- options.enableTracing = enableTracing
- }
if (tracesSampleRate != null) {
options.tracesSampleRate = tracesSampleRate
}
@@ -53,14 +49,6 @@ class TracesSamplerTest {
private val fixture = Fixture()
- @Test
- fun `when no tracesSampleRate is set, uses default rate`() {
- val sampler = fixture.getSut(randomResult = 0.9, enableTracing = true)
- val samplingDecision = sampler.sample(SamplingContext(TransactionContext("name", "op"), null))
- assertTrue(samplingDecision.sampled)
- assertEquals(1.0, samplingDecision.sampleRate)
- }
-
@Test
fun `when tracesSampleRate is set and random returns greater number returns false`() {
val sampler = fixture.getSut(randomResult = 0.9, tracesSampleRate = 0.2, profilesSampleRate = 0.2)