diff --git a/CHANGELOG.md b/CHANGELOG.md index 4b8ed0f2cd0..98ba6a48a0a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -43,6 +43,7 @@ - Manually constructed `SentryTimberIntegration` and `SentryTimberTree` instances require a `logsEnabled` argument. Pass `false` to keep Sentry Logs disabled. - Remove the Apache HttpClient transport and stop publishing `sentry-apache-http-client-5` ([#6214](https://github.com/getsentry/sentry-java/pull/6214)) +- Remove the deprecated `Instrumenter` enum, option, span context property, and `startChild` overloads ([#6252](https://github.com/getsentry/sentry-java/pull/6252)) - Remove deprecated OpenTelemetry integration classes and the legacy `SentrySpanStorage` ([#6243](https://github.com/getsentry/sentry-java/pull/6243)) - Decide whether foregrounding the app starts a new session on a monotonic clock instead of the wall clock, so that a device time change no longer starts a session that should have been resumed, or resumes one that should have ended. This affects session counts ([#6096](https://github.com/getsentry/sentry-java/pull/6096)) diff --git a/sentry-android-core/src/main/java/io/sentry/android/core/ActivityLifecycleIntegration.java b/sentry-android-core/src/main/java/io/sentry/android/core/ActivityLifecycleIntegration.java index 505bb84ea2c..05bd9db9642 100644 --- a/sentry-android-core/src/main/java/io/sentry/android/core/ActivityLifecycleIntegration.java +++ b/sentry-android-core/src/main/java/io/sentry/android/core/ActivityLifecycleIntegration.java @@ -17,7 +17,6 @@ import io.sentry.ISentryLifecycleToken; import io.sentry.ISpan; import io.sentry.ITransaction; -import io.sentry.Instrumenter; import io.sentry.Integration; import io.sentry.NoOpTransaction; import io.sentry.PropagationContext; @@ -366,29 +365,19 @@ private void startTracing(final @NotNull Activity activity) { getAppStartOp(coldStart), getAppStartDesc(coldStart), appStartTime, - Instrumenter.SENTRY, spanOptions); finishAppStartSpan(); } } final @NotNull ISpan ttidSpan = - transaction.startChild( - TTID_OP, - getTtidDesc(activityName), - ttidStartTime, - Instrumenter.SENTRY, - spanOptions); + transaction.startChild(TTID_OP, getTtidDesc(activityName), ttidStartTime, spanOptions); ttidSpanMap.put(activity, ttidSpan); if (timeToFullDisplaySpanEnabled && fullyDisplayedReporter != null && options != null) { final @NotNull ISpan ttfdSpan = transaction.startChild( - TTFD_OP, - getTtfdDesc(activityName), - ttidStartTime, - Instrumenter.SENTRY, - spanOptions); + TTFD_OP, getTtfdDesc(activityName), ttidStartTime, spanOptions); try { ttfdSpanMap.put(activity, ttfdSpan); ttfdAutoCloseFuture = @@ -1130,7 +1119,6 @@ private void onHeadlessAppStart() { APP_START_EXTENDED_OP, APP_START_EXTENDED_DESC, AndroidDateUtils.getCurrentSentryDateTime(), - Instrumenter.SENTRY, spanOptions); return new AppStartExtension.ExtendedAppStart(transaction, extendedSpan); diff --git a/sentry-android-core/src/main/java/io/sentry/android/core/performance/ActivityLifecycleSpanHelper.java b/sentry-android-core/src/main/java/io/sentry/android/core/performance/ActivityLifecycleSpanHelper.java index accb56db0dc..61ee186bc99 100644 --- a/sentry-android-core/src/main/java/io/sentry/android/core/performance/ActivityLifecycleSpanHelper.java +++ b/sentry-android-core/src/main/java/io/sentry/android/core/performance/ActivityLifecycleSpanHelper.java @@ -3,7 +3,6 @@ import android.os.Looper; import android.os.SystemClock; import io.sentry.ISpan; -import io.sentry.Instrumenter; import io.sentry.SentryDate; import io.sentry.SpanDataConvention; import io.sentry.SpanStatus; @@ -111,8 +110,7 @@ public void saveSpanToAppStartMetrics() { final @NotNull String description, final @NotNull SentryDate startTimestamp) { final @NotNull ISpan span = - parentSpan.startChild( - APP_METRICS_ACTIVITIES_OP, description, startTimestamp, Instrumenter.SENTRY); + parentSpan.startChild(APP_METRICS_ACTIVITIES_OP, description, startTimestamp); setDefaultStartSpanData(span); return span; } diff --git a/sentry-android-sqlite/src/main/java/io/sentry/android/sqlite/OpenHelperSpans.kt b/sentry-android-sqlite/src/main/java/io/sentry/android/sqlite/OpenHelperSpans.kt index 059eb1bb1b5..4aa08a6f261 100644 --- a/sentry-android-sqlite/src/main/java/io/sentry/android/sqlite/OpenHelperSpans.kt +++ b/sentry-android-sqlite/src/main/java/io/sentry/android/sqlite/OpenHelperSpans.kt @@ -4,7 +4,6 @@ import android.database.CrossProcessCursor import android.database.SQLException import io.sentry.IScopes import io.sentry.ISpan -import io.sentry.Instrumenter import io.sentry.ScopesAdapter import io.sentry.SentryIntegrationPackageStorage import io.sentry.SentryStackTraceFactory @@ -46,12 +45,12 @@ internal class OpenHelperSpans( if (result is CrossProcessCursor) { return SentryCrossProcessCursor(result, this, sql) as T } - span = scopes.span?.startChild("db.sql.query", sql, startTimestamp, Instrumenter.SENTRY) + span = scopes.span?.startChild("db.sql.query", sql, startTimestamp) span?.spanContext?.origin = TRACE_ORIGIN span?.status = SpanStatus.OK result } catch (e: Throwable) { - span = scopes.span?.startChild("db.sql.query", sql, startTimestamp, Instrumenter.SENTRY) + span = scopes.span?.startChild("db.sql.query", sql, startTimestamp) span?.spanContext?.origin = TRACE_ORIGIN span?.status = SpanStatus.INTERNAL_ERROR span?.throwable = e diff --git a/sentry-android-sqlite/src/main/java/io/sentry/sqlite/DriverSpans.kt b/sentry-android-sqlite/src/main/java/io/sentry/sqlite/DriverSpans.kt index b3c0eb7c713..018cee2742e 100644 --- a/sentry-android-sqlite/src/main/java/io/sentry/sqlite/DriverSpans.kt +++ b/sentry-android-sqlite/src/main/java/io/sentry/sqlite/DriverSpans.kt @@ -2,7 +2,6 @@ package io.sentry.sqlite import io.sentry.IScopes import io.sentry.ISpan -import io.sentry.Instrumenter import io.sentry.ScopesAdapter import io.sentry.SentryDate import io.sentry.SentryLongDate @@ -50,7 +49,7 @@ internal class DriverSpans(private val scopes: IScopes, private val dbMetadata: val startTimestamp = SentryLongDate(startTimestampNanos) val endTimestamp = SentryLongDate(startTimestampNanos + durationNanos) - parent.startChild("db.sql.query", sql, startTimestamp, Instrumenter.SENTRY).apply { + parent.startChild("db.sql.query", sql, startTimestamp).apply { spanContext.origin = SQLITE_TRACE_ORIGIN throwable?.let { this.throwable = it } diff --git a/sentry-compose/src/androidMain/kotlin/io/sentry/compose/SentryComposeTracing.kt b/sentry-compose/src/androidMain/kotlin/io/sentry/compose/SentryComposeTracing.kt index a5e7a84ce6e..0250a0a5dd2 100644 --- a/sentry-compose/src/androidMain/kotlin/io/sentry/compose/SentryComposeTracing.kt +++ b/sentry-compose/src/androidMain/kotlin/io/sentry/compose/SentryComposeTracing.kt @@ -9,7 +9,6 @@ import androidx.compose.ui.ExperimentalComposeUiApi import androidx.compose.ui.Modifier import androidx.compose.ui.draw.drawWithContent import io.sentry.ISpan -import io.sentry.Instrumenter import io.sentry.Sentry import io.sentry.SentryDate import io.sentry.SpanOptions @@ -129,7 +128,6 @@ private fun recordCompositionSpan( OP_COMPOSITION_SPAN, tag, startTimestamp, - Instrumenter.SENTRY, SpanOptions().apply { origin = OP_TRACE_ORIGIN }, ) .run { finish(null, endTimestamp) } @@ -154,7 +152,6 @@ private fun recordRenderSpan( OP_RENDER_SPAN, tag, startTimestamp, - Instrumenter.SENTRY, SpanOptions().apply { origin = OP_TRACE_ORIGIN }, ) .run { finish(null, endTimestamp) } @@ -244,7 +241,6 @@ private class BucketSpans { operation, description, startTimestamp, - Instrumenter.SENTRY, SpanOptions().apply { origin = OP_TRACE_ORIGIN isTrimStart = true diff --git a/sentry-opentelemetry/sentry-opentelemetry-bootstrap/api/sentry-opentelemetry-bootstrap.api b/sentry-opentelemetry/sentry-opentelemetry-bootstrap/api/sentry-opentelemetry-bootstrap.api index 1f81e4324d4..82614b19050 100644 --- a/sentry-opentelemetry/sentry-opentelemetry-bootstrap/api/sentry-opentelemetry-bootstrap.api +++ b/sentry-opentelemetry/sentry-opentelemetry-bootstrap/api/sentry-opentelemetry-bootstrap.api @@ -86,8 +86,7 @@ public final class io/sentry/opentelemetry/OtelStrongRefSpanWrapper : io/sentry/ public fun startChild (Ljava/lang/String;)Lio/sentry/ISpan; public fun startChild (Ljava/lang/String;Ljava/lang/String;)Lio/sentry/ISpan; public fun startChild (Ljava/lang/String;Ljava/lang/String;Lio/sentry/SentryDate;)Lio/sentry/ISpan; - public fun startChild (Ljava/lang/String;Ljava/lang/String;Lio/sentry/SentryDate;Lio/sentry/Instrumenter;)Lio/sentry/ISpan; - public fun startChild (Ljava/lang/String;Ljava/lang/String;Lio/sentry/SentryDate;Lio/sentry/Instrumenter;Lio/sentry/SpanOptions;)Lio/sentry/ISpan; + public fun startChild (Ljava/lang/String;Ljava/lang/String;Lio/sentry/SentryDate;Lio/sentry/SpanOptions;)Lio/sentry/ISpan; public fun startChild (Ljava/lang/String;Ljava/lang/String;Lio/sentry/SpanOptions;)Lio/sentry/ISpan; public fun storeInContext (Lio/opentelemetry/context/Context;)Lio/opentelemetry/context/Context; public fun toBaggageHeader (Ljava/util/List;)Lio/sentry/BaggageHeader; @@ -141,8 +140,7 @@ public final class io/sentry/opentelemetry/OtelTransactionSpanForwarder : io/sen public fun startChild (Ljava/lang/String;)Lio/sentry/ISpan; public fun startChild (Ljava/lang/String;Ljava/lang/String;)Lio/sentry/ISpan; public fun startChild (Ljava/lang/String;Ljava/lang/String;Lio/sentry/SentryDate;)Lio/sentry/ISpan; - public fun startChild (Ljava/lang/String;Ljava/lang/String;Lio/sentry/SentryDate;Lio/sentry/Instrumenter;)Lio/sentry/ISpan; - public fun startChild (Ljava/lang/String;Ljava/lang/String;Lio/sentry/SentryDate;Lio/sentry/Instrumenter;Lio/sentry/SpanOptions;)Lio/sentry/ISpan; + public fun startChild (Ljava/lang/String;Ljava/lang/String;Lio/sentry/SentryDate;Lio/sentry/SpanOptions;)Lio/sentry/ISpan; public fun startChild (Ljava/lang/String;Ljava/lang/String;Lio/sentry/SpanOptions;)Lio/sentry/ISpan; public fun toBaggageHeader (Ljava/util/List;)Lio/sentry/BaggageHeader; public fun toSentryTrace ()Lio/sentry/SentryTraceHeader; diff --git a/sentry-opentelemetry/sentry-opentelemetry-bootstrap/src/main/java/io/sentry/opentelemetry/OtelStrongRefSpanWrapper.java b/sentry-opentelemetry/sentry-opentelemetry-bootstrap/src/main/java/io/sentry/opentelemetry/OtelStrongRefSpanWrapper.java index 907d71a278b..d0c1f4381ea 100644 --- a/sentry-opentelemetry/sentry-opentelemetry-bootstrap/src/main/java/io/sentry/opentelemetry/OtelStrongRefSpanWrapper.java +++ b/sentry-opentelemetry/sentry-opentelemetry-bootstrap/src/main/java/io/sentry/opentelemetry/OtelStrongRefSpanWrapper.java @@ -7,7 +7,6 @@ import io.sentry.IScopes; import io.sentry.ISentryLifecycleToken; import io.sentry.ISpan; -import io.sentry.Instrumenter; import io.sentry.MeasurementUnit; import io.sentry.SentryDate; import io.sentry.SentryTraceHeader; @@ -125,29 +124,19 @@ public void setTransactionName(@NotNull String name, @NotNull TransactionNameSou return delegate.startChild(spanContext, spanOptions); } - @Override - public @NotNull ISpan startChild( - @NotNull String operation, @Nullable String description, @Nullable SentryDate timestamp) { - return delegate.startChild(operation, description, timestamp); - } - @Override public @NotNull ISpan startChild( @NotNull String operation, @Nullable String description, @Nullable SentryDate timestamp, - @NotNull Instrumenter instrumenter) { - return delegate.startChild(operation, description, timestamp, instrumenter); + @NotNull SpanOptions spanOptions) { + return delegate.startChild(operation, description, timestamp, spanOptions); } @Override public @NotNull ISpan startChild( - @NotNull String operation, - @Nullable String description, - @Nullable SentryDate timestamp, - @NotNull Instrumenter instrumenter, - @NotNull SpanOptions spanOptions) { - return delegate.startChild(operation, description, timestamp, instrumenter, spanOptions); + @NotNull String operation, @Nullable String description, @Nullable SentryDate timestamp) { + return delegate.startChild(operation, description, timestamp); } @Override diff --git a/sentry-opentelemetry/sentry-opentelemetry-bootstrap/src/main/java/io/sentry/opentelemetry/OtelTransactionSpanForwarder.java b/sentry-opentelemetry/sentry-opentelemetry-bootstrap/src/main/java/io/sentry/opentelemetry/OtelTransactionSpanForwarder.java index e3cdfc4be3b..62c29ccc55d 100644 --- a/sentry-opentelemetry/sentry-opentelemetry-bootstrap/src/main/java/io/sentry/opentelemetry/OtelTransactionSpanForwarder.java +++ b/sentry-opentelemetry/sentry-opentelemetry-bootstrap/src/main/java/io/sentry/opentelemetry/OtelTransactionSpanForwarder.java @@ -7,7 +7,6 @@ import io.sentry.ISentryLifecycleToken; import io.sentry.ISpan; import io.sentry.ITransaction; -import io.sentry.Instrumenter; import io.sentry.MeasurementUnit; import io.sentry.SentryDate; import io.sentry.SentryTraceHeader; @@ -57,18 +56,8 @@ public OtelTransactionSpanForwarder(final @NotNull IOtelSpanWrapper rootSpan) { @NotNull String operation, @Nullable String description, @Nullable SentryDate timestamp, - @NotNull Instrumenter instrumenter) { - return rootSpan.startChild(operation, description, timestamp, instrumenter); - } - - @Override - public @NotNull ISpan startChild( - @NotNull String operation, - @Nullable String description, - @Nullable SentryDate timestamp, - @NotNull Instrumenter instrumenter, @NotNull SpanOptions spanOptions) { - return rootSpan.startChild(operation, description, timestamp, instrumenter, spanOptions); + return rootSpan.startChild(operation, description, timestamp, spanOptions); } @Override @@ -224,7 +213,7 @@ public boolean isNoOp() { @Override public @NotNull ISpan startChild( @NotNull String operation, @Nullable String description, @Nullable SentryDate timestamp) { - return rootSpan.startChild(operation, description, timestamp, Instrumenter.SENTRY); + return rootSpan.startChild(operation, description, timestamp); } @Override diff --git a/sentry-opentelemetry/sentry-opentelemetry-core/api/sentry-opentelemetry-core.api b/sentry-opentelemetry/sentry-opentelemetry-core/api/sentry-opentelemetry-core.api index d10d2844cab..d064e1b7177 100644 --- a/sentry-opentelemetry/sentry-opentelemetry-core/api/sentry-opentelemetry-core.api +++ b/sentry-opentelemetry/sentry-opentelemetry-core/api/sentry-opentelemetry-core.api @@ -94,8 +94,7 @@ public final class io/sentry/opentelemetry/OtelSpanWrapper : io/sentry/opentelem public fun startChild (Ljava/lang/String;)Lio/sentry/ISpan; public fun startChild (Ljava/lang/String;Ljava/lang/String;)Lio/sentry/ISpan; public fun startChild (Ljava/lang/String;Ljava/lang/String;Lio/sentry/SentryDate;)Lio/sentry/ISpan; - public fun startChild (Ljava/lang/String;Ljava/lang/String;Lio/sentry/SentryDate;Lio/sentry/Instrumenter;)Lio/sentry/ISpan; - public fun startChild (Ljava/lang/String;Ljava/lang/String;Lio/sentry/SentryDate;Lio/sentry/Instrumenter;Lio/sentry/SpanOptions;)Lio/sentry/ISpan; + public fun startChild (Ljava/lang/String;Ljava/lang/String;Lio/sentry/SentryDate;Lio/sentry/SpanOptions;)Lio/sentry/ISpan; public fun startChild (Ljava/lang/String;Ljava/lang/String;Lio/sentry/SpanOptions;)Lio/sentry/ISpan; public fun storeInContext (Lio/opentelemetry/context/Context;)Lio/opentelemetry/context/Context; public fun toBaggageHeader (Ljava/util/List;)Lio/sentry/BaggageHeader; diff --git a/sentry-opentelemetry/sentry-opentelemetry-core/src/main/java/io/sentry/opentelemetry/OtelSpanWrapper.java b/sentry-opentelemetry/sentry-opentelemetry-core/src/main/java/io/sentry/opentelemetry/OtelSpanWrapper.java index 80da51f9db7..df9f7d85834 100644 --- a/sentry-opentelemetry/sentry-opentelemetry-core/src/main/java/io/sentry/opentelemetry/OtelSpanWrapper.java +++ b/sentry-opentelemetry/sentry-opentelemetry-core/src/main/java/io/sentry/opentelemetry/OtelSpanWrapper.java @@ -10,7 +10,6 @@ import io.sentry.IScopes; import io.sentry.ISentryLifecycleToken; import io.sentry.ISpan; -import io.sentry.Instrumenter; import io.sentry.MeasurementUnit; import io.sentry.NoOpScopesLifecycleToken; import io.sentry.NoOpSpan; @@ -144,7 +143,7 @@ public OtelSpanWrapper( @Override public @NotNull ISpan startChild( @NotNull String operation, @Nullable String description, @Nullable SentryDate timestamp) { - return startChild(operation, description, timestamp, Instrumenter.SENTRY); + return startChild(operation, description, timestamp, new SpanOptions()); } @Override @@ -152,35 +151,12 @@ public OtelSpanWrapper( @NotNull String operation, @Nullable String description, @Nullable SentryDate timestamp, - @NotNull Instrumenter instrumenter) { - final @NotNull SpanContext spanContext = - context.copyForChild(operation, getSpanContext().getSpanId(), null); - spanContext.setDescription(description); - spanContext.setInstrumenter(instrumenter); - - final @NotNull SpanOptions spanOptions = new SpanOptions(); - spanOptions.setStartTimestamp(timestamp); - - return startChild(spanContext, spanOptions); - } - - @Override - public @NotNull ISpan startChild( - @NotNull String operation, - @Nullable String description, - @Nullable SentryDate timestamp, - @NotNull Instrumenter instrumenter, @NotNull SpanOptions spanOptions) { if (timestamp != null) { spanOptions.setStartTimestamp(timestamp); } - final @NotNull SpanContext spanContext = - context.copyForChild(operation, getSpanContext().getSpanId(), null); - spanContext.setDescription(description); - spanContext.setInstrumenter(instrumenter); - - return startChild(spanContext, spanOptions); + return startChild(operation, description, spanOptions); } @Override diff --git a/sentry-opentelemetry/sentry-opentelemetry-core/src/main/java/io/sentry/opentelemetry/SentrySpanExporter.java b/sentry-opentelemetry/sentry-opentelemetry-core/src/main/java/io/sentry/opentelemetry/SentrySpanExporter.java index 2583f4a0469..3cc492a9e4c 100644 --- a/sentry-opentelemetry/sentry-opentelemetry-core/src/main/java/io/sentry/opentelemetry/SentrySpanExporter.java +++ b/sentry-opentelemetry/sentry-opentelemetry-core/src/main/java/io/sentry/opentelemetry/SentrySpanExporter.java @@ -21,7 +21,6 @@ import io.sentry.IScopes; import io.sentry.ISpan; import io.sentry.ITransaction; -import io.sentry.Instrumenter; import io.sentry.ScopeType; import io.sentry.ScopesAdapter; import io.sentry.SentryDate; @@ -222,7 +221,6 @@ private void createAndFinishSpanForOtelSpan( parentSentrySpan.getSpanContext().getSpanId(), new SpanId(spanId)); spanContext.setDescription(spanInfo.getDescription()); - spanContext.setInstrumenter(Instrumenter.SENTRY); if (sentrySpanMaybe != null) { spanContext.setSamplingDecision(sentrySpanMaybe.getSamplingDecision()); spanOptions.setOrigin(sentrySpanMaybe.getSpanContext().getOrigin()); @@ -339,7 +337,6 @@ private void transferSpanDetails( transactionName == null ? DEFAULT_TRANSACTION_NAME : transactionName); transactionContext.setTransactionNameSource(transactionNameSource); transactionContext.setOperation(spanInfo.getOp()); - transactionContext.setInstrumenter(Instrumenter.SENTRY); transactionContext.setProfilerId(profilerId); if (sentrySpanMaybe != null) { transactionContext.setSamplingDecision(sentrySpanMaybe.getSamplingDecision()); diff --git a/sentry-opentelemetry/sentry-opentelemetry-core/src/test/kotlin/OtelSpanWrapperTest.kt b/sentry-opentelemetry/sentry-opentelemetry-core/src/test/kotlin/OtelSpanWrapperTest.kt index 98d3989aaaf..1b5ed360d99 100644 --- a/sentry-opentelemetry/sentry-opentelemetry-core/src/test/kotlin/OtelSpanWrapperTest.kt +++ b/sentry-opentelemetry/sentry-opentelemetry-core/src/test/kotlin/OtelSpanWrapperTest.kt @@ -8,7 +8,6 @@ import io.opentelemetry.sdk.trace.ReadWriteSpan import io.sentry.IScopes import io.sentry.ISpan import io.sentry.ISpanFactory -import io.sentry.Instrumenter import io.sentry.SentryLongDate import io.sentry.SentryOptions import io.sentry.SpanOptions @@ -22,7 +21,7 @@ import org.mockito.kotlin.whenever class OtelSpanWrapperTest { @Test - fun `startChild with timestamp forwards timestamp and Sentry instrumenter`() { + fun `startChild with timestamp and options forwards both`() { val otelSpan = mock() whenever(otelSpan.spanContext) .thenReturn( @@ -44,17 +43,18 @@ class OtelSpanWrapperTest { val expectedChild = mock() whenever(spanFactory.createSpan(eq(scopes), any(), any(), eq(parent))).thenReturn(expectedChild) val timestamp = SentryLongDate(1234) + val suppliedSpanOptions = SpanOptions() - val child = parent.startChild("child-op", "description", timestamp) + val child = parent.startChild("child-op", "description", timestamp, suppliedSpanOptions) val spanOptions = argumentCaptor() val spanContext = argumentCaptor() verify(spanFactory) .createSpan(eq(scopes), spanOptions.capture(), spanContext.capture(), eq(parent)) assertThat(child).isSameInstanceAs(expectedChild) + assertThat(spanOptions.firstValue).isSameInstanceAs(suppliedSpanOptions) assertThat(spanOptions.firstValue.startTimestamp).isSameInstanceAs(timestamp) assertThat(spanContext.firstValue.operation).isEqualTo("child-op") assertThat(spanContext.firstValue.description).isEqualTo("description") - assertThat(spanContext.firstValue.instrumenter).isEqualTo(Instrumenter.SENTRY) } } diff --git a/sentry/api/sentry.api b/sentry/api/sentry.api index a3a8997fb8c..9affbccd017 100644 --- a/sentry/api/sentry.api +++ b/sentry/api/sentry.api @@ -1113,8 +1113,7 @@ public abstract interface class io/sentry/ISpan { public abstract fun startChild (Ljava/lang/String;)Lio/sentry/ISpan; public abstract fun startChild (Ljava/lang/String;Ljava/lang/String;)Lio/sentry/ISpan; public fun startChild (Ljava/lang/String;Ljava/lang/String;Lio/sentry/SentryDate;)Lio/sentry/ISpan; - public abstract fun startChild (Ljava/lang/String;Ljava/lang/String;Lio/sentry/SentryDate;Lio/sentry/Instrumenter;)Lio/sentry/ISpan; - public abstract fun startChild (Ljava/lang/String;Ljava/lang/String;Lio/sentry/SentryDate;Lio/sentry/Instrumenter;Lio/sentry/SpanOptions;)Lio/sentry/ISpan; + public abstract fun startChild (Ljava/lang/String;Ljava/lang/String;Lio/sentry/SentryDate;Lio/sentry/SpanOptions;)Lio/sentry/ISpan; public abstract fun startChild (Ljava/lang/String;Ljava/lang/String;Lio/sentry/SpanOptions;)Lio/sentry/ISpan; public abstract fun toBaggageHeader (Ljava/util/List;)Lio/sentry/BaggageHeader; public abstract fun toSentryTrace ()Lio/sentry/SentryTraceHeader; @@ -1167,13 +1166,6 @@ public final class io/sentry/InitPriority : java/lang/Enum { public static fun values ()[Lio/sentry/InitPriority; } -public final class io/sentry/Instrumenter : java/lang/Enum { - public static final field OTEL Lio/sentry/Instrumenter; - public static final field SENTRY Lio/sentry/Instrumenter; - public static fun valueOf (Ljava/lang/String;)Lio/sentry/Instrumenter; - public static fun values ()[Lio/sentry/Instrumenter; -} - public abstract interface class io/sentry/Integration { public abstract fun register (Lio/sentry/IScopes;Lio/sentry/SentryOptions;)V } @@ -1804,8 +1796,7 @@ public final class io/sentry/NoOpSpan : io/sentry/ISpan { public fun startChild (Ljava/lang/String;)Lio/sentry/ISpan; public fun startChild (Ljava/lang/String;Ljava/lang/String;)Lio/sentry/ISpan; public fun startChild (Ljava/lang/String;Ljava/lang/String;Lio/sentry/SentryDate;)Lio/sentry/ISpan; - public fun startChild (Ljava/lang/String;Ljava/lang/String;Lio/sentry/SentryDate;Lio/sentry/Instrumenter;)Lio/sentry/ISpan; - public fun startChild (Ljava/lang/String;Ljava/lang/String;Lio/sentry/SentryDate;Lio/sentry/Instrumenter;Lio/sentry/SpanOptions;)Lio/sentry/ISpan; + public fun startChild (Ljava/lang/String;Ljava/lang/String;Lio/sentry/SentryDate;Lio/sentry/SpanOptions;)Lio/sentry/ISpan; public fun startChild (Ljava/lang/String;Ljava/lang/String;Lio/sentry/SpanOptions;)Lio/sentry/ISpan; public fun toBaggageHeader (Ljava/util/List;)Lio/sentry/BaggageHeader; public fun toSentryTrace ()Lio/sentry/SentryTraceHeader; @@ -1864,8 +1855,7 @@ public final class io/sentry/NoOpTransaction : io/sentry/ITransaction { public fun startChild (Ljava/lang/String;)Lio/sentry/ISpan; public fun startChild (Ljava/lang/String;Ljava/lang/String;)Lio/sentry/ISpan; public fun startChild (Ljava/lang/String;Ljava/lang/String;Lio/sentry/SentryDate;)Lio/sentry/ISpan; - public fun startChild (Ljava/lang/String;Ljava/lang/String;Lio/sentry/SentryDate;Lio/sentry/Instrumenter;)Lio/sentry/ISpan; - public fun startChild (Ljava/lang/String;Ljava/lang/String;Lio/sentry/SentryDate;Lio/sentry/Instrumenter;Lio/sentry/SpanOptions;)Lio/sentry/ISpan; + public fun startChild (Ljava/lang/String;Ljava/lang/String;Lio/sentry/SentryDate;Lio/sentry/SpanOptions;)Lio/sentry/ISpan; public fun startChild (Ljava/lang/String;Ljava/lang/String;Lio/sentry/SpanOptions;)Lio/sentry/ISpan; public fun toBaggageHeader (Ljava/util/List;)Lio/sentry/BaggageHeader; public fun toSentryTrace ()Lio/sentry/SentryTraceHeader; @@ -3553,7 +3543,6 @@ public class io/sentry/SentryOptions : io/sentry/transport/RateLimiterConfig { public fun getInAppExcludes ()Ljava/util/List; public fun getInAppIncludes ()Ljava/util/List; public fun getInitPriority ()Lio/sentry/InitPriority; - public fun getInstrumenter ()Lio/sentry/Instrumenter; public fun getIntegrations ()Ljava/util/List; public fun getInternalTracesSampler ()Lio/sentry/TracesSampler; public fun getLogger ()Lio/sentry/ILogger; @@ -3722,7 +3711,6 @@ public class io/sentry/SentryOptions : io/sentry/transport/RateLimiterConfig { public fun setIgnoredSpanOrigins (Ljava/util/List;)V public fun setIgnoredTransactions (Ljava/util/List;)V public fun setInitPriority (Lio/sentry/InitPriority;)V - public fun setInstrumenter (Lio/sentry/Instrumenter;)V public fun setLogger (Lio/sentry/ILogger;)V public fun setLogs (Lio/sentry/SentryOptions$Logs;)V public fun setMaxAttachmentSize (J)V @@ -4107,8 +4095,7 @@ public final class io/sentry/SentryTracer : io/sentry/ITransaction { public fun startChild (Ljava/lang/String;)Lio/sentry/ISpan; public fun startChild (Ljava/lang/String;Ljava/lang/String;)Lio/sentry/ISpan; public fun startChild (Ljava/lang/String;Ljava/lang/String;Lio/sentry/SentryDate;)Lio/sentry/ISpan; - public fun startChild (Ljava/lang/String;Ljava/lang/String;Lio/sentry/SentryDate;Lio/sentry/Instrumenter;)Lio/sentry/ISpan; - public fun startChild (Ljava/lang/String;Ljava/lang/String;Lio/sentry/SentryDate;Lio/sentry/Instrumenter;Lio/sentry/SpanOptions;)Lio/sentry/ISpan; + public fun startChild (Ljava/lang/String;Ljava/lang/String;Lio/sentry/SentryDate;Lio/sentry/SpanOptions;)Lio/sentry/ISpan; public fun startChild (Ljava/lang/String;Ljava/lang/String;Lio/sentry/SpanOptions;)Lio/sentry/ISpan; public fun toBaggageHeader (Ljava/util/List;)Lio/sentry/BaggageHeader; public fun toSentryTrace ()Lio/sentry/SentryTraceHeader; @@ -4244,8 +4231,7 @@ public final class io/sentry/Span : io/sentry/ISpan { public fun startChild (Ljava/lang/String;)Lio/sentry/ISpan; public fun startChild (Ljava/lang/String;Ljava/lang/String;)Lio/sentry/ISpan; public fun startChild (Ljava/lang/String;Ljava/lang/String;Lio/sentry/SentryDate;)Lio/sentry/ISpan; - public fun startChild (Ljava/lang/String;Ljava/lang/String;Lio/sentry/SentryDate;Lio/sentry/Instrumenter;)Lio/sentry/ISpan; - public fun startChild (Ljava/lang/String;Ljava/lang/String;Lio/sentry/SentryDate;Lio/sentry/Instrumenter;Lio/sentry/SpanOptions;)Lio/sentry/ISpan; + public fun startChild (Ljava/lang/String;Ljava/lang/String;Lio/sentry/SentryDate;Lio/sentry/SpanOptions;)Lio/sentry/ISpan; public fun startChild (Ljava/lang/String;Ljava/lang/String;Lio/sentry/SpanOptions;)Lio/sentry/ISpan; public fun toBaggageHeader (Ljava/util/List;)Lio/sentry/BaggageHeader; public fun toSentryTrace ()Lio/sentry/SentryTraceHeader; @@ -4276,7 +4262,6 @@ public class io/sentry/SpanContext : io/sentry/JsonSerializable, io/sentry/JsonU public fun getData ()Ljava/util/Map; public fun getDescription ()Ljava/lang/String; public fun getFeatureFlagBuffer ()Lio/sentry/featureflags/IFeatureFlagBuffer; - public fun getInstrumenter ()Lio/sentry/Instrumenter; public fun getOperation ()Ljava/lang/String; public fun getOrigin ()Ljava/lang/String; public fun getParentSpanId ()Lio/sentry/SpanId; @@ -4293,7 +4278,6 @@ public class io/sentry/SpanContext : io/sentry/JsonSerializable, io/sentry/JsonU public fun serialize (Lio/sentry/ObjectWriter;Lio/sentry/ILogger;)V public fun setData (Ljava/lang/String;Ljava/lang/Object;)V public fun setDescription (Ljava/lang/String;)V - public fun setInstrumenter (Lio/sentry/Instrumenter;)V public fun setOperation (Ljava/lang/String;)V public fun setOrigin (Ljava/lang/String;)V public fun setProfilerId (Lio/sentry/protocol/SentryId;)V diff --git a/sentry/src/main/java/io/sentry/ISpan.java b/sentry/src/main/java/io/sentry/ISpan.java index 9c55cdc3201..0baf99d7b7b 100644 --- a/sentry/src/main/java/io/sentry/ISpan.java +++ b/sentry/src/main/java/io/sentry/ISpan.java @@ -45,15 +45,6 @@ ISpan startChild( @NotNull String operation, @Nullable String description, @Nullable SentryDate timestamp, - @NotNull Instrumenter instrumenter); - - @ApiStatus.Internal - @NotNull - ISpan startChild( - @NotNull String operation, - @Nullable String description, - @Nullable SentryDate timestamp, - @NotNull Instrumenter instrumenter, @NotNull SpanOptions spanOptions); /** @@ -77,7 +68,9 @@ ISpan startChild( @NotNull default ISpan startChild( @NotNull String operation, @Nullable String description, @Nullable SentryDate timestamp) { - return startChild(operation, description, timestamp, Instrumenter.SENTRY); + final @NotNull SpanOptions spanOptions = new SpanOptions(); + spanOptions.setStartTimestamp(timestamp); + return startChild(operation, description, spanOptions); } /** diff --git a/sentry/src/main/java/io/sentry/Instrumenter.java b/sentry/src/main/java/io/sentry/Instrumenter.java deleted file mode 100644 index f72535bde81..00000000000 --- a/sentry/src/main/java/io/sentry/Instrumenter.java +++ /dev/null @@ -1,12 +0,0 @@ -package io.sentry; - -/** - * Which framework is responsible for instrumenting. This includes starting and stopping of - * transactions and spans. - */ -public enum Instrumenter { - SENTRY, - - /** OpenTelemetry */ - OTEL -} diff --git a/sentry/src/main/java/io/sentry/NoOpSpan.java b/sentry/src/main/java/io/sentry/NoOpSpan.java index 676c539942d..731ec807e0c 100644 --- a/sentry/src/main/java/io/sentry/NoOpSpan.java +++ b/sentry/src/main/java/io/sentry/NoOpSpan.java @@ -40,16 +40,6 @@ public static NoOpSpan getInstance() { @NotNull String operation, @Nullable String description, @Nullable SentryDate timestamp, - @NotNull Instrumenter instrumenter) { - return NoOpSpan.getInstance(); - } - - @Override - public @NotNull ISpan startChild( - @NotNull String operation, - @Nullable String description, - @Nullable SentryDate timestamp, - @NotNull Instrumenter instrumenter, @NotNull SpanOptions spanOptions) { return NoOpSpan.getInstance(); } diff --git a/sentry/src/main/java/io/sentry/NoOpTransaction.java b/sentry/src/main/java/io/sentry/NoOpTransaction.java index 1f34870c9ad..f61c2e50192 100644 --- a/sentry/src/main/java/io/sentry/NoOpTransaction.java +++ b/sentry/src/main/java/io/sentry/NoOpTransaction.java @@ -59,16 +59,6 @@ public void setName(@NotNull String name, @NotNull TransactionNameSource transac @NotNull String operation, @Nullable String description, @Nullable SentryDate timestamp, - @NotNull Instrumenter instrumenter) { - return NoOpSpan.getInstance(); - } - - @Override - public @NotNull ISpan startChild( - @NotNull String operation, - @Nullable String description, - @Nullable SentryDate timestamp, - @NotNull Instrumenter instrumenter, @NotNull SpanOptions spanOptions) { return NoOpSpan.getInstance(); } diff --git a/sentry/src/main/java/io/sentry/Scopes.java b/sentry/src/main/java/io/sentry/Scopes.java index 8191fab39a9..3af7268d7c0 100644 --- a/sentry/src/main/java/io/sentry/Scopes.java +++ b/sentry/src/main/java/io/sentry/Scopes.java @@ -894,15 +894,6 @@ public void flush(long timeoutMillis) { transactionContext.getOrigin()); transaction = NoOpTransaction.getInstance(); - } else if (!getOptions().getInstrumenter().equals(transactionContext.getInstrumenter())) { - getOptions() - .getLogger() - .log( - SentryLevel.DEBUG, - "Returning no-op for instrumenter %s as the SDK has been configured to use instrumenter %s", - transactionContext.getInstrumenter(), - getOptions().getInstrumenter()); - transaction = NoOpTransaction.getInstance(); } else if (!getOptions().isTracingEnabled()) { getOptions() .getLogger() diff --git a/sentry/src/main/java/io/sentry/SentryOptions.java b/sentry/src/main/java/io/sentry/SentryOptions.java index 08e2f408824..83a6ed936cd 100644 --- a/sentry/src/main/java/io/sentry/SentryOptions.java +++ b/sentry/src/main/java/io/sentry/SentryOptions.java @@ -506,9 +506,6 @@ public class SentryOptions implements RateLimiterConfig { /** Enable or disable automatic breadcrumbs for User interactions */ private boolean enableUserInteractionBreadcrumbs = true; - /** Which framework is responsible for instrumenting. */ - private @NotNull Instrumenter instrumenter = Instrumenter.SENTRY; - /** Contains a list of GestureTargetLocator instances used for user interaction tracking */ private final @NotNull List gestureTargetLocators = new ArrayList<>(); @@ -2633,32 +2630,6 @@ public void setEnableUserInteractionBreadcrumbs(boolean enableUserInteractionBre this.enableUserInteractionBreadcrumbs = enableUserInteractionBreadcrumbs; } - /** - * Sets the instrumenter used for performance instrumentation. - * - *

If you set this to something other than {@link Instrumenter#SENTRY} Sentry will not create - * any transactions automatically nor will it create transactions if you call - * startTransaction(...), nor will it create child spans if you call startChild(...) - * - * @param instrumenter - the instrumenter to use - * @deprecated this should no longer be needed with our current OpenTelmetry integration. Use - * {@link SentryOptions#setIgnoredSpanOrigins(List)} instead if you need fine grained control - * over what integrations can create spans. - */ - @Deprecated - public void setInstrumenter(final @NotNull Instrumenter instrumenter) { - this.instrumenter = instrumenter; - } - - /** - * Returns the instrumenter used for performance instrumentation - * - * @return the configured instrumenter - */ - public @NotNull Instrumenter getInstrumenter() { - return instrumenter; - } - /** * Returns a ClientReportRecorder or a NoOp if sending of client reports has been disabled. * diff --git a/sentry/src/main/java/io/sentry/SentryTracer.java b/sentry/src/main/java/io/sentry/SentryTracer.java index 781cf51417e..85c6532a716 100644 --- a/sentry/src/main/java/io/sentry/SentryTracer.java +++ b/sentry/src/main/java/io/sentry/SentryTracer.java @@ -50,7 +50,6 @@ public final class SentryTracer implements ITransaction { private final @NotNull AtomicBoolean isDeadlineTimerRunning = new AtomicBoolean(false); private @NotNull TransactionNameSource transactionNameSource; - private final @NotNull Instrumenter instrumenter; private final @NotNull Contexts contexts = new Contexts(); private final @Nullable CompositePerformanceCollector compositePerformanceCollector; private final @NotNull TransactionOptions transactionOptions; @@ -77,7 +76,6 @@ public SentryTracer( this.root = new Span(context, this, scopes, transactionOptions); this.name = context.getName(); - this.instrumenter = context.getInstrumenter(); this.scopes = scopes; // Let's collect performance data (cpu, ram, frames) only when the transaction is sampled this.compositePerformanceCollector = @@ -394,34 +392,9 @@ ISpan startChild( final @NotNull String operation, final @Nullable String description, final @Nullable SentryDate timestamp, - final @NotNull Instrumenter instrumenter) { - final @NotNull SpanContext spanContext = - getSpanContext().copyForChild(operation, parentSpanId, null); - spanContext.setDescription(description); - spanContext.setInstrumenter(instrumenter); - - final @NotNull SpanOptions spanOptions = new SpanOptions(); - spanOptions.setStartTimestamp(timestamp); - - return createChild(spanContext, spanOptions); - } - - @NotNull - ISpan startChild( - final @NotNull SpanId parentSpanId, - final @NotNull String operation, - final @Nullable String description, - final @Nullable SentryDate timestamp, - final @NotNull Instrumenter instrumenter, final @NotNull SpanOptions spanOptions) { - final @NotNull SpanContext spanContext = - getSpanContext().copyForChild(operation, parentSpanId, null); - spanContext.setDescription(description); - spanContext.setInstrumenter(instrumenter); - spanOptions.setStartTimestamp(timestamp); - - return createChild(spanContext, spanOptions); + return createChild(parentSpanId, operation, description, spanOptions); } /** @@ -442,7 +415,6 @@ private ISpan createChild( final @NotNull SpanContext spanContext = getSpanContext().copyForChild(operation, parentSpanId, null); spanContext.setDescription(description); - spanContext.setInstrumenter(Instrumenter.SENTRY); return createChild(spanContext, options); } @@ -454,10 +426,6 @@ private ISpan createChild( return NoOpSpan.getInstance(); } - if (!this.instrumenter.equals(spanContext.getInstrumenter())) { - return NoOpSpan.getInstance(); - } - if (SpanUtils.isIgnored(scopes.getOptions().getIgnoredSpanOrigins(), spanOptions.getOrigin())) { return NoOpSpan.getInstance(); } @@ -624,11 +592,10 @@ private boolean isProfileMissing( @Override public @NotNull ISpan startChild( - @NotNull String operation, + final @NotNull String operation, @Nullable String description, - @Nullable SentryDate timestamp, - @NotNull Instrumenter instrumenter) { - return startChild(operation, description, timestamp, instrumenter, new SpanOptions()); + @Nullable SentryDate timestamp) { + return startChild(operation, description, timestamp, new SpanOptions()); } @Override @@ -636,29 +603,20 @@ private boolean isProfileMissing( final @NotNull String operation, @Nullable String description, @Nullable SentryDate timestamp, - @NotNull Instrumenter instrumenter, @NotNull SpanOptions spanOptions) { - return createChild(operation, description, timestamp, instrumenter, spanOptions); - } - - @Override - public @NotNull ISpan startChild( - final @NotNull String operation, - @Nullable String description, - @Nullable SentryDate timestamp) { - return createChild(operation, description, timestamp, Instrumenter.SENTRY, new SpanOptions()); + return root.startChild(operation, description, timestamp, spanOptions); } @Override public @NotNull ISpan startChild( final @NotNull String operation, final @Nullable String description) { - return startChild(operation, description, null, Instrumenter.SENTRY, new SpanOptions()); + return root.startChild(operation, description); } @Override public @NotNull ISpan startChild( @NotNull String operation, @Nullable String description, @NotNull SpanOptions spanOptions) { - return createChild(operation, description, null, Instrumenter.SENTRY, spanOptions); + return root.startChild(operation, description, spanOptions); } @Override @@ -667,35 +625,6 @@ private boolean isProfileMissing( return createChild(spanContext, spanOptions); } - private @NotNull ISpan createChild( - final @NotNull String operation, - final @Nullable String description, - @Nullable SentryDate timestamp, - final @NotNull Instrumenter instrumenter, - final @NotNull SpanOptions spanOptions) { - if (root.isFinished()) { - return NoOpSpan.getInstance(); - } - - if (!this.instrumenter.equals(instrumenter)) { - return NoOpSpan.getInstance(); - } - - if (children.size() < scopes.getOptions().getMaxSpans()) { - return root.startChild(operation, description, timestamp, instrumenter, spanOptions); - } else { - scopes - .getOptions() - .getLogger() - .log( - SentryLevel.WARNING, - "Span operation: %s, description: %s dropped due to limit reached. Returning NoOpSpan.", - operation, - description); - return NoOpSpan.getInstance(); - } - } - @Override public @NotNull SentryTraceHeader toSentryTrace() { return root.toSentryTrace(); diff --git a/sentry/src/main/java/io/sentry/Span.java b/sentry/src/main/java/io/sentry/Span.java index 7ee7eed1900..e9b1f5987c1 100644 --- a/sentry/src/main/java/io/sentry/Span.java +++ b/sentry/src/main/java/io/sentry/Span.java @@ -108,20 +108,19 @@ public Span( final @NotNull String operation, final @Nullable String description, final @Nullable SentryDate timestamp, - final @NotNull Instrumenter instrumenter, - @NotNull SpanOptions spanOptions) { + final @NotNull SpanOptions spanOptions) { if (finished) { return NoOpSpan.getInstance(); } return transaction.startChild( - context.getSpanId(), operation, description, timestamp, instrumenter, spanOptions); + context.getSpanId(), operation, description, timestamp, spanOptions); } @Override public @NotNull ISpan startChild( @NotNull String operation, @Nullable String description, @Nullable SentryDate timestamp) { - return startChild(operation, description, timestamp, Instrumenter.SENTRY); + return startChild(operation, description, timestamp, new SpanOptions()); } @Override @@ -149,15 +148,6 @@ public Span( return transaction.startChild(spanContext, spanOptions); } - @Override - public @NotNull ISpan startChild( - @NotNull String operation, - @Nullable String description, - @Nullable SentryDate timestamp, - @NotNull Instrumenter instrumenter) { - return startChild(operation, description, timestamp, instrumenter, new SpanOptions()); - } - @Override public @NotNull SentryTraceHeader toSentryTrace() { return new SentryTraceHeader(context.getTraceId(), context.getSpanId(), context.getSampled()); diff --git a/sentry/src/main/java/io/sentry/SpanContext.java b/sentry/src/main/java/io/sentry/SpanContext.java index ebbeb56cd6e..e260062147f 100644 --- a/sentry/src/main/java/io/sentry/SpanContext.java +++ b/sentry/src/main/java/io/sentry/SpanContext.java @@ -56,8 +56,6 @@ public class SpanContext implements JsonUnknown, JsonSerializable { private @Nullable Map unknown; - private @NotNull Instrumenter instrumenter = Instrumenter.SENTRY; - protected @Nullable Baggage baggage; protected @NotNull IFeatureFlagBuffer featureFlags = SpanFeatureFlagBuffer.create(); @@ -256,14 +254,6 @@ public void setOrigin(final @Nullable String origin) { this.origin = origin; } - public @NotNull Instrumenter getInstrumenter() { - return instrumenter; - } - - public void setInstrumenter(final @NotNull Instrumenter instrumenter) { - this.instrumenter = instrumenter; - } - public @Nullable Baggage getBaggage() { return baggage; } diff --git a/sentry/src/test/java/io/sentry/InstrumenterTest.kt b/sentry/src/test/java/io/sentry/InstrumenterTest.kt deleted file mode 100644 index 639541c12c8..00000000000 --- a/sentry/src/test/java/io/sentry/InstrumenterTest.kt +++ /dev/null @@ -1,18 +0,0 @@ -package io.sentry - -import kotlin.test.Test -import kotlin.test.assertEquals - -class InstrumenterTest { - @Test - fun `can create from otel string`() { - val instrumenter = Instrumenter.valueOf("OTEL") - assertEquals(instrumenter, Instrumenter.OTEL) - } - - @Test - fun `can create from sentry string`() { - val instrumenter = Instrumenter.valueOf("SENTRY") - assertEquals(instrumenter, Instrumenter.SENTRY) - } -} diff --git a/sentry/src/test/java/io/sentry/NoOpTransactionTest.kt b/sentry/src/test/java/io/sentry/NoOpTransactionTest.kt index a1a81d37407..20eca07f1e7 100644 --- a/sentry/src/test/java/io/sentry/NoOpTransactionTest.kt +++ b/sentry/src/test/java/io/sentry/NoOpTransactionTest.kt @@ -16,10 +16,7 @@ class NoOpTransactionTest { assertNotNull(transaction.startChild("op", "desc")) assertNotNull(transaction.startChild("op", "desc", SpanOptions())) assertNotNull(transaction.startChild("op", "desc", SentryNanotimeDate())) - assertNotNull(transaction.startChild("op", "desc", SentryNanotimeDate(), Instrumenter.SENTRY)) - assertNotNull( - transaction.startChild("op", "desc", SentryNanotimeDate(), Instrumenter.SENTRY, SpanOptions()) - ) + assertNotNull(transaction.startChild("op", "desc", SentryNanotimeDate(), SpanOptions())) } @Test diff --git a/sentry/src/test/java/io/sentry/ScopesTest.kt b/sentry/src/test/java/io/sentry/ScopesTest.kt index c7c5f93f4d9..cdf9919a275 100644 --- a/sentry/src/test/java/io/sentry/ScopesTest.kt +++ b/sentry/src/test/java/io/sentry/ScopesTest.kt @@ -1055,39 +1055,6 @@ class ScopesTest { assertEquals("test", scope?.transactionName) } - @Test - fun `when startTransaction is called with different instrumenter, no-op is returned`() { - val scopes = generateScopes() - - val transactionContext = - TransactionContext("test", "op").also { it.instrumenter = Instrumenter.OTEL } - val transactionOptions = TransactionOptions() - val tx = scopes.startTransaction(transactionContext, transactionOptions) - - assertTrue(tx is NoOpTransaction) - } - - @Test - fun `when startTransaction is called with different instrumenter, no-op is returned 2`() { - val scopes = generateScopes() { it.instrumenter = Instrumenter.OTEL } - - val tx = scopes.startTransaction("test", "op") - - assertTrue(tx is NoOpTransaction) - } - - @Test - fun `when startTransaction is called with configured instrumenter, it works`() { - val scopes = generateScopes() { it.instrumenter = Instrumenter.OTEL } - - val transactionContext = - TransactionContext("test", "op").also { it.instrumenter = Instrumenter.OTEL } - val transactionOptions = TransactionOptions() - val tx = scopes.startTransaction(transactionContext, transactionOptions) - - assertFalse(tx is NoOpTransaction) - } - // endregion // region setUser tests diff --git a/sentry/src/test/java/io/sentry/SpanTest.kt b/sentry/src/test/java/io/sentry/SpanTest.kt index b61e12ad87f..9c4491d2de1 100644 --- a/sentry/src/test/java/io/sentry/SpanTest.kt +++ b/sentry/src/test/java/io/sentry/SpanTest.kt @@ -184,26 +184,6 @@ class SpanTest { assertEquals(2, transaction.spans.size) } - @Test - fun `starting a child with different instrumenter no-ops`() { - val transaction = - getTransaction(TransactionContext("name", "op").also { it.instrumenter = Instrumenter.OTEL }) - val span = transaction.startChild("operation", "description") - - span.startChild("op") - assertEquals(0, transaction.spans.size) - } - - @Test - fun `starting a child with same instrumenter adds span to transaction`() { - val transaction = - getTransaction(TransactionContext("name", "op").also { it.instrumenter = Instrumenter.OTEL }) - val span = transaction.startChild("operation", "description", null, Instrumenter.OTEL) - - span.startChild("op", "desc", null, Instrumenter.OTEL) - assertEquals(2, transaction.spans.size) - } - @Test fun `when span was not finished, isFinished returns false`() { val span = startChildFromSpan() @@ -314,7 +294,6 @@ class SpanTest { "op1", "desc", SentryLongDate(span.startDate.nanoTimestamp() - 1000L), - Instrumenter.SENTRY, SpanOptions(), ) as Span child1.finish()