From c233756b0f966a6c9f27a001049be9b180520503 Mon Sep 17 00:00:00 2001 From: bitsandfoxes Date: Thu, 20 Feb 2025 14:30:06 +0100 Subject: [PATCH 1/9] added option to disable trace ID generation --- .../android/core/ActivityLifecycleIntegration.java | 8 ++++---- .../android/core/ManifestMetadataReader.java | 5 +++++ .../sentry/android/core/SentryAndroidOptions.java | 14 ++++++++++++++ .../internal/gestures/SentryGestureListener.java | 2 +- 4 files changed, 24 insertions(+), 5 deletions(-) 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 3c0d8b3a5c7..4d63cbbe287 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 @@ -159,10 +159,7 @@ private void stopPreviousTransactions() { private void startTracing(final @NotNull Activity activity) { WeakReference weakActivity = new WeakReference<>(activity); if (scopes != null && !isRunningTransactionOrTrace(activity)) { - if (!performanceEnabled) { - activitiesWithOngoingTransactions.put(activity, NoOpTransaction.getInstance()); - TracingUtils.startNewTrace(scopes); - } else { + if (performanceEnabled) { // as we allow a single transaction running on the bound Scope, we finish the previous ones stopPreviousTransactions(); @@ -301,6 +298,9 @@ private void startTracing(final @NotNull Activity activity) { }); activitiesWithOngoingTransactions.put(activity, transaction); + } else if (options.isEnableAutoTraceIdGeneration()) { + activitiesWithOngoingTransactions.put(activity, NoOpTransaction.getInstance()); + TracingUtils.startNewTrace(scopes); } } } diff --git a/sentry-android-core/src/main/java/io/sentry/android/core/ManifestMetadataReader.java b/sentry-android-core/src/main/java/io/sentry/android/core/ManifestMetadataReader.java index e2389e60492..845f0944705 100644 --- a/sentry-android-core/src/main/java/io/sentry/android/core/ManifestMetadataReader.java +++ b/sentry-android-core/src/main/java/io/sentry/android/core/ManifestMetadataReader.java @@ -107,6 +107,8 @@ final class ManifestMetadataReader { static final String IGNORED_ERRORS = "io.sentry.ignored-errors"; + static final String ENABLE_AUTO_TRACE_ID_GENERATION = "io.sentry.enable-trace-update"; + /** ManifestMetadataReader ctor */ private ManifestMetadataReader() {} @@ -380,6 +382,9 @@ static void applyMetadata( readBool( metadata, logger, ENABLE_SCOPE_PERSISTENCE, options.isEnableScopePersistence())); + options.setEnableAutoTraceIdGeneration( + readBool(metadata, logger, ENABLE_AUTO_TRACE_ID_GENERATION, options.isAttachScreenshot())); + if (options.getSessionReplay().getSessionSampleRate() == null) { final Double sessionSampleRate = readDouble(metadata, logger, REPLAYS_SESSION_SAMPLE_RATE); diff --git a/sentry-android-core/src/main/java/io/sentry/android/core/SentryAndroidOptions.java b/sentry-android-core/src/main/java/io/sentry/android/core/SentryAndroidOptions.java index 9c32920be89..c41205c8a25 100644 --- a/sentry-android-core/src/main/java/io/sentry/android/core/SentryAndroidOptions.java +++ b/sentry-android-core/src/main/java/io/sentry/android/core/SentryAndroidOptions.java @@ -166,6 +166,11 @@ public final class SentryAndroidOptions extends SentryOptions { */ private boolean enableScopeSync = true; + /** Whether to enable automatic trace ID generation. This is mainly used by the Hybrid SDKs to + * control the trace ID generation from the outside. + */ + private boolean enableAutoTraceIdGeneration = true; + public interface BeforeCaptureCallback { /** @@ -594,4 +599,13 @@ public void setFrameMetricsCollector( final @Nullable SentryFrameMetricsCollector frameMetricsCollector) { this.frameMetricsCollector = frameMetricsCollector; } + + + public boolean isEnableAutoTraceIdGeneration() { + return enableAutoTraceIdGeneration; + } + + public void setEnableAutoTraceIdGeneration(final boolean enableAutoTraceIdGeneration) { + this.enableAutoTraceIdGeneration = enableAutoTraceIdGeneration; + } } diff --git a/sentry-android-core/src/main/java/io/sentry/android/core/internal/gestures/SentryGestureListener.java b/sentry-android-core/src/main/java/io/sentry/android/core/internal/gestures/SentryGestureListener.java index cd80f5ced7d..b1b9597efc2 100644 --- a/sentry-android-core/src/main/java/io/sentry/android/core/internal/gestures/SentryGestureListener.java +++ b/sentry-android-core/src/main/java/io/sentry/android/core/internal/gestures/SentryGestureListener.java @@ -201,7 +201,7 @@ private void startTracing(final @NotNull UiElement target, final @NotNull Gestur final boolean isNewInteraction = isClickGesture || !isNewGestureSameAsActive; if (!(options.isTracingEnabled() && options.isEnableUserInteractionTracing())) { - if (isNewInteraction) { + if (options.isEnableAutoTraceIdGeneration() && isNewInteraction) { TracingUtils.startNewTrace(scopes); activeUiElement = target; activeEventType = eventType; From d0f9805695c4de745dc09be5dcd4b8d7f0ca93c6 Mon Sep 17 00:00:00 2001 From: bitsandfoxes Date: Thu, 20 Feb 2025 15:00:58 +0100 Subject: [PATCH 2/9] rename. recheck --- .../android/core/ActivityLifecycleIntegration.java | 10 ++++++---- .../io/sentry/android/core/ManifestMetadataReader.java | 2 +- .../io/sentry/android/core/SentryAndroidOptions.java | 1 - .../core/internal/gestures/SentryGestureListener.java | 6 ++++-- 4 files changed, 11 insertions(+), 8 deletions(-) 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 4d63cbbe287..0bdfee71fd4 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 @@ -159,7 +159,12 @@ private void stopPreviousTransactions() { private void startTracing(final @NotNull Activity activity) { WeakReference weakActivity = new WeakReference<>(activity); if (scopes != null && !isRunningTransactionOrTrace(activity)) { - if (performanceEnabled) { + if (!performanceEnabled) { + activitiesWithOngoingTransactions.put(activity, NoOpTransaction.getInstance()); + if (options.isEnableAutoTraceIdGeneration()) { + TracingUtils.startNewTrace(scopes); + } + } else { // as we allow a single transaction running on the bound Scope, we finish the previous ones stopPreviousTransactions(); @@ -298,9 +303,6 @@ private void startTracing(final @NotNull Activity activity) { }); activitiesWithOngoingTransactions.put(activity, transaction); - } else if (options.isEnableAutoTraceIdGeneration()) { - activitiesWithOngoingTransactions.put(activity, NoOpTransaction.getInstance()); - TracingUtils.startNewTrace(scopes); } } } diff --git a/sentry-android-core/src/main/java/io/sentry/android/core/ManifestMetadataReader.java b/sentry-android-core/src/main/java/io/sentry/android/core/ManifestMetadataReader.java index 845f0944705..bcac94ad7d3 100644 --- a/sentry-android-core/src/main/java/io/sentry/android/core/ManifestMetadataReader.java +++ b/sentry-android-core/src/main/java/io/sentry/android/core/ManifestMetadataReader.java @@ -107,7 +107,7 @@ final class ManifestMetadataReader { static final String IGNORED_ERRORS = "io.sentry.ignored-errors"; - static final String ENABLE_AUTO_TRACE_ID_GENERATION = "io.sentry.enable-trace-update"; + static final String ENABLE_AUTO_TRACE_ID_GENERATION = "io.sentry.enable-auto-trace-id-generation"; /** ManifestMetadataReader ctor */ private ManifestMetadataReader() {} diff --git a/sentry-android-core/src/main/java/io/sentry/android/core/SentryAndroidOptions.java b/sentry-android-core/src/main/java/io/sentry/android/core/SentryAndroidOptions.java index c41205c8a25..3f725a0b31a 100644 --- a/sentry-android-core/src/main/java/io/sentry/android/core/SentryAndroidOptions.java +++ b/sentry-android-core/src/main/java/io/sentry/android/core/SentryAndroidOptions.java @@ -600,7 +600,6 @@ public void setFrameMetricsCollector( this.frameMetricsCollector = frameMetricsCollector; } - public boolean isEnableAutoTraceIdGeneration() { return enableAutoTraceIdGeneration; } diff --git a/sentry-android-core/src/main/java/io/sentry/android/core/internal/gestures/SentryGestureListener.java b/sentry-android-core/src/main/java/io/sentry/android/core/internal/gestures/SentryGestureListener.java index b1b9597efc2..ab90f82df41 100644 --- a/sentry-android-core/src/main/java/io/sentry/android/core/internal/gestures/SentryGestureListener.java +++ b/sentry-android-core/src/main/java/io/sentry/android/core/internal/gestures/SentryGestureListener.java @@ -201,8 +201,10 @@ private void startTracing(final @NotNull UiElement target, final @NotNull Gestur final boolean isNewInteraction = isClickGesture || !isNewGestureSameAsActive; if (!(options.isTracingEnabled() && options.isEnableUserInteractionTracing())) { - if (options.isEnableAutoTraceIdGeneration() && isNewInteraction) { - TracingUtils.startNewTrace(scopes); + if (isNewInteraction) { + if (options.isEnableAutoTraceIdGeneration()) { + TracingUtils.startNewTrace(scopes); + } activeUiElement = target; activeEventType = eventType; } From c124eb1a9d7d26d65560a64c500478c6fe20027b Mon Sep 17 00:00:00 2001 From: bitsandfoxes Date: Thu, 20 Feb 2025 15:29:42 +0100 Subject: [PATCH 3/9] LifeCycleIntegrationTest --- .../core/ActivityLifecycleIntegrationTest.kt | 25 ++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/sentry-android-core/src/test/java/io/sentry/android/core/ActivityLifecycleIntegrationTest.kt b/sentry-android-core/src/test/java/io/sentry/android/core/ActivityLifecycleIntegrationTest.kt index a14f62c3f03..3d12d49f59d 100644 --- a/sentry-android-core/src/test/java/io/sentry/android/core/ActivityLifecycleIntegrationTest.kt +++ b/sentry-android-core/src/test/java/io/sentry/android/core/ActivityLifecycleIntegrationTest.kt @@ -1385,10 +1385,11 @@ class ActivityLifecycleIntegrationTest { } @Test - fun `starts new trace if performance is disabled`() { + fun `starts new trace if performance is disabled and trace ID generation is enabled`() { val sut = fixture.getSut() val activity = mock() fixture.options.tracesSampleRate = null + fixture.options.isEnableAutoTraceIdGeneration = true; val argumentCaptor: ArgumentCaptor = ArgumentCaptor.forClass(ScopeCallback::class.java) val scope = Scope(fixture.options) @@ -1405,6 +1406,28 @@ class ActivityLifecycleIntegrationTest { assertNotSame(propagationContextAtStart, scope.propagationContext) } + @Test + fun `does not start a new trace if performance is disabled and trace ID generation is disabled`() { + val sut = fixture.getSut() + val activity = mock() + fixture.options.tracesSampleRate = null + fixture.options.isEnableAutoTraceIdGeneration = false; + + val argumentCaptor: ArgumentCaptor = ArgumentCaptor.forClass(ScopeCallback::class.java) + val scope = Scope(fixture.options) + val propagationContextAtStart = scope.propagationContext + whenever(fixture.scopes.configureScope(argumentCaptor.capture())).thenAnswer { + argumentCaptor.value.run(scope) + } + + sut.register(fixture.scopes, fixture.options) + sut.onActivityCreated(activity, fixture.bundle) + + // once for the screen + verify(fixture.scopes).configureScope(any()) + assertSame(propagationContextAtStart, scope.propagationContext) + } + @Test fun `sets the activity as the current screen`() { val sut = fixture.getSut() From ac7be23eb7bf84715b780c44ef81f61d8c4d7693 Mon Sep 17 00:00:00 2001 From: bitsandfoxes Date: Thu, 20 Feb 2025 15:54:02 +0100 Subject: [PATCH 4/9] GestureListener tests --- .../SentryGestureListenerTracingTest.kt | 35 ++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) diff --git a/sentry-android-core/src/test/java/io/sentry/android/core/internal/gestures/SentryGestureListenerTracingTest.kt b/sentry-android-core/src/test/java/io/sentry/android/core/internal/gestures/SentryGestureListenerTracingTest.kt index 07dde15e8f1..4140b957929 100644 --- a/sentry-android-core/src/test/java/io/sentry/android/core/internal/gestures/SentryGestureListenerTracingTest.kt +++ b/sentry-android-core/src/test/java/io/sentry/android/core/internal/gestures/SentryGestureListenerTracingTest.kt @@ -24,7 +24,9 @@ import io.sentry.android.core.SentryAndroidOptions import io.sentry.protocol.SentryId import io.sentry.protocol.TransactionNameSource import org.mockito.ArgumentCaptor +import org.mockito.ArgumentMatchers import org.mockito.kotlin.any +import org.mockito.kotlin.argThat import org.mockito.kotlin.check import org.mockito.kotlin.clearInvocations import org.mockito.kotlin.doAnswer @@ -37,6 +39,7 @@ import kotlin.test.Test import kotlin.test.assertEquals import kotlin.test.assertNotNull import kotlin.test.assertNull +import kotlin.test.assertNotEquals class SentryGestureListenerTracingTest { class Fixture { @@ -59,12 +62,14 @@ class SentryGestureListenerTracingTest { hasViewIdInRes: Boolean = true, tracesSampleRate: Double? = 1.0, isEnableUserInteractionTracing: Boolean = true, - transaction: SentryTracer? = null + transaction: SentryTracer? = null, + isEnableAutoTraceIdGeneration: Boolean = true ): SentryGestureListener { options.tracesSampleRate = tracesSampleRate options.isEnableUserInteractionTracing = isEnableUserInteractionTracing options.isEnableUserInteractionBreadcrumbs = true options.gestureTargetLocators = listOf(AndroidViewGestureTargetLocator(true)) + options.isEnableAutoTraceIdGeneration = isEnableAutoTraceIdGeneration whenever(scopes.options).thenReturn(options) @@ -370,6 +375,34 @@ class SentryGestureListenerTracingTest { assertEquals(OUT_OF_RANGE, fixture.transaction.status) } + @Test + fun `when tracing is disabled and auto trace id generation is disabled, does not start a new trace`() { + val sut = fixture.getSut(tracesSampleRate = null, isEnableAutoTraceIdGeneration = false) + val scope = Scope(fixture.options) + + sut.onSingleTapUp(fixture.event) + + verify(fixture.scopes, never()).configureScope(any()) + } + + @Test + fun `when tracing is disabled and auto trace id generation is enabled, starts a new trace`() { + val sut = fixture.getSut(tracesSampleRate = null, isEnableAutoTraceIdGeneration = true) + val scope = Scope(fixture.options) + val initialPropagationContext = scope.propagationContext + + sut.onSingleTapUp(fixture.event) + + verify(fixture.scopes).configureScope( + check { callback -> + callback.run(scope) + // Verify that a new propagation context was set and it's different from the initial one + assertNotNull(scope.propagationContext) + assertNotEquals(initialPropagationContext, scope.propagationContext) + } + ) + } + internal open class ScrollableListView : AbsListView(mock()) { override fun getAdapter(): ListAdapter = mock() override fun setSelection(position: Int) = Unit From 46039a5bf39bffb4a023e1cdb27a4c7878e10411 Mon Sep 17 00:00:00 2001 From: bitsandfoxes Date: Thu, 20 Feb 2025 16:16:57 +0100 Subject: [PATCH 5/9] spotless --- .../java/io/sentry/android/core/ManifestMetadataReader.java | 6 +++++- .../java/io/sentry/android/core/SentryAndroidOptions.java | 3 ++- .../sentry/android/core/ActivityLifecycleIntegrationTest.kt | 4 ++-- .../internal/gestures/SentryGestureListenerTracingTest.kt | 5 +---- 4 files changed, 10 insertions(+), 8 deletions(-) diff --git a/sentry-android-core/src/main/java/io/sentry/android/core/ManifestMetadataReader.java b/sentry-android-core/src/main/java/io/sentry/android/core/ManifestMetadataReader.java index bcac94ad7d3..571cc9548b0 100644 --- a/sentry-android-core/src/main/java/io/sentry/android/core/ManifestMetadataReader.java +++ b/sentry-android-core/src/main/java/io/sentry/android/core/ManifestMetadataReader.java @@ -383,7 +383,11 @@ static void applyMetadata( metadata, logger, ENABLE_SCOPE_PERSISTENCE, options.isEnableScopePersistence())); options.setEnableAutoTraceIdGeneration( - readBool(metadata, logger, ENABLE_AUTO_TRACE_ID_GENERATION, options.isAttachScreenshot())); + readBool( + metadata, + logger, + ENABLE_AUTO_TRACE_ID_GENERATION, + options.isEnableAutoTraceIdGeneration())); if (options.getSessionReplay().getSessionSampleRate() == null) { final Double sessionSampleRate = diff --git a/sentry-android-core/src/main/java/io/sentry/android/core/SentryAndroidOptions.java b/sentry-android-core/src/main/java/io/sentry/android/core/SentryAndroidOptions.java index 3f725a0b31a..f9de207b7e3 100644 --- a/sentry-android-core/src/main/java/io/sentry/android/core/SentryAndroidOptions.java +++ b/sentry-android-core/src/main/java/io/sentry/android/core/SentryAndroidOptions.java @@ -166,7 +166,8 @@ public final class SentryAndroidOptions extends SentryOptions { */ private boolean enableScopeSync = true; - /** Whether to enable automatic trace ID generation. This is mainly used by the Hybrid SDKs to + /** + * Whether to enable automatic trace ID generation. This is mainly used by the Hybrid SDKs to * control the trace ID generation from the outside. */ private boolean enableAutoTraceIdGeneration = true; diff --git a/sentry-android-core/src/test/java/io/sentry/android/core/ActivityLifecycleIntegrationTest.kt b/sentry-android-core/src/test/java/io/sentry/android/core/ActivityLifecycleIntegrationTest.kt index 3d12d49f59d..317dbc843c2 100644 --- a/sentry-android-core/src/test/java/io/sentry/android/core/ActivityLifecycleIntegrationTest.kt +++ b/sentry-android-core/src/test/java/io/sentry/android/core/ActivityLifecycleIntegrationTest.kt @@ -1389,7 +1389,7 @@ class ActivityLifecycleIntegrationTest { val sut = fixture.getSut() val activity = mock() fixture.options.tracesSampleRate = null - fixture.options.isEnableAutoTraceIdGeneration = true; + fixture.options.isEnableAutoTraceIdGeneration = true val argumentCaptor: ArgumentCaptor = ArgumentCaptor.forClass(ScopeCallback::class.java) val scope = Scope(fixture.options) @@ -1411,7 +1411,7 @@ class ActivityLifecycleIntegrationTest { val sut = fixture.getSut() val activity = mock() fixture.options.tracesSampleRate = null - fixture.options.isEnableAutoTraceIdGeneration = false; + fixture.options.isEnableAutoTraceIdGeneration = false val argumentCaptor: ArgumentCaptor = ArgumentCaptor.forClass(ScopeCallback::class.java) val scope = Scope(fixture.options) diff --git a/sentry-android-core/src/test/java/io/sentry/android/core/internal/gestures/SentryGestureListenerTracingTest.kt b/sentry-android-core/src/test/java/io/sentry/android/core/internal/gestures/SentryGestureListenerTracingTest.kt index 4140b957929..c41a5151931 100644 --- a/sentry-android-core/src/test/java/io/sentry/android/core/internal/gestures/SentryGestureListenerTracingTest.kt +++ b/sentry-android-core/src/test/java/io/sentry/android/core/internal/gestures/SentryGestureListenerTracingTest.kt @@ -24,9 +24,7 @@ import io.sentry.android.core.SentryAndroidOptions import io.sentry.protocol.SentryId import io.sentry.protocol.TransactionNameSource import org.mockito.ArgumentCaptor -import org.mockito.ArgumentMatchers import org.mockito.kotlin.any -import org.mockito.kotlin.argThat import org.mockito.kotlin.check import org.mockito.kotlin.clearInvocations import org.mockito.kotlin.doAnswer @@ -37,9 +35,9 @@ import org.mockito.kotlin.verify import org.mockito.kotlin.whenever import kotlin.test.Test import kotlin.test.assertEquals +import kotlin.test.assertNotEquals import kotlin.test.assertNotNull import kotlin.test.assertNull -import kotlin.test.assertNotEquals class SentryGestureListenerTracingTest { class Fixture { @@ -378,7 +376,6 @@ class SentryGestureListenerTracingTest { @Test fun `when tracing is disabled and auto trace id generation is disabled, does not start a new trace`() { val sut = fixture.getSut(tracesSampleRate = null, isEnableAutoTraceIdGeneration = false) - val scope = Scope(fixture.options) sut.onSingleTapUp(fixture.event) From 14ab70e36344c22bbb82bdaa4415d6073a0433f6 Mon Sep 17 00:00:00 2001 From: bitsandfoxes Date: Thu, 20 Feb 2025 16:24:51 +0100 Subject: [PATCH 6/9] apidump --- sentry-android-core/api/sentry-android-core.api | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sentry-android-core/api/sentry-android-core.api b/sentry-android-core/api/sentry-android-core.api index ff982b51f69..59caf171564 100644 --- a/sentry-android-core/api/sentry-android-core.api +++ b/sentry-android-core/api/sentry-android-core.api @@ -292,6 +292,7 @@ public final class io/sentry/android/core/SentryAndroidOptions : io/sentry/Sentr public fun isEnableAppComponentBreadcrumbs ()Z public fun isEnableAppLifecycleBreadcrumbs ()Z public fun isEnableAutoActivityLifecycleTracing ()Z + public fun isEnableAutoTraceIdGeneration ()Z public fun isEnableFramesTracking ()Z public fun isEnableNdk ()Z public fun isEnableNetworkEventBreadcrumbs ()Z @@ -315,6 +316,7 @@ public final class io/sentry/android/core/SentryAndroidOptions : io/sentry/Sentr public fun setEnableAppComponentBreadcrumbs (Z)V public fun setEnableAppLifecycleBreadcrumbs (Z)V public fun setEnableAutoActivityLifecycleTracing (Z)V + public fun setEnableAutoTraceIdGeneration (Z)V public fun setEnableFramesTracking (Z)V public fun setEnableNdk (Z)V public fun setEnableNetworkEventBreadcrumbs (Z)V From 4a94bdd179b8567602f45240ef44ca86f7e9ec2f Mon Sep 17 00:00:00 2001 From: bitsandfoxes Date: Thu, 20 Feb 2025 16:36:00 +0100 Subject: [PATCH 7/9] Updated CHANGELOG.md --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index e9babf5adab..eb909e04542 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,7 @@ - The `ignoredErrors` option is now configurable via the manifest property `io.sentry.traces.ignored-errors` ([#4178](https://github.com/getsentry/sentry-java/pull/4178)) - A list of active Spring profiles is attached to payloads sent to Sentry (errors, traces, etc.) and displayed in the UI when using our Spring or Spring Boot integrations ([#4147](https://github.com/getsentry/sentry-java/pull/4147)) - This consists of an empty list when only the default profile is active +- Added `enableTraceIdGeneration` to the AndroidOptions. This allows Hybrid SDKs to "freeze" and control the trace and connect errors on different layers of the application ([4188](https://github.com/getsentry/sentry-java/pull/4188)) ### Fixes From 5f31bc4529b2237e6ea69aea6d1c34ad2b3aa98a Mon Sep 17 00:00:00 2001 From: Stefan Jandl Date: Mon, 24 Feb 2025 11:48:14 +0100 Subject: [PATCH 8/9] Apply suggestions from code review Co-authored-by: Roman Zavarnitsyn --- .../java/io/sentry/android/core/ManifestMetadataReader.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sentry-android-core/src/main/java/io/sentry/android/core/ManifestMetadataReader.java b/sentry-android-core/src/main/java/io/sentry/android/core/ManifestMetadataReader.java index 571cc9548b0..a3138de8779 100644 --- a/sentry-android-core/src/main/java/io/sentry/android/core/ManifestMetadataReader.java +++ b/sentry-android-core/src/main/java/io/sentry/android/core/ManifestMetadataReader.java @@ -107,7 +107,7 @@ final class ManifestMetadataReader { static final String IGNORED_ERRORS = "io.sentry.ignored-errors"; - static final String ENABLE_AUTO_TRACE_ID_GENERATION = "io.sentry.enable-auto-trace-id-generation"; + static final String ENABLE_AUTO_TRACE_ID_GENERATION = "io.sentry.traces.enable-auto-id-generation"; /** ManifestMetadataReader ctor */ private ManifestMetadataReader() {} From 5114ffe2f2c31c993f8d7bffdc970a2072b0497d Mon Sep 17 00:00:00 2001 From: Sentry Github Bot Date: Mon, 24 Feb 2025 10:55:28 +0000 Subject: [PATCH 9/9] Format code --- .../java/io/sentry/android/core/ManifestMetadataReader.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sentry-android-core/src/main/java/io/sentry/android/core/ManifestMetadataReader.java b/sentry-android-core/src/main/java/io/sentry/android/core/ManifestMetadataReader.java index a3138de8779..86d9d6aa292 100644 --- a/sentry-android-core/src/main/java/io/sentry/android/core/ManifestMetadataReader.java +++ b/sentry-android-core/src/main/java/io/sentry/android/core/ManifestMetadataReader.java @@ -107,7 +107,8 @@ final class ManifestMetadataReader { static final String IGNORED_ERRORS = "io.sentry.ignored-errors"; - static final String ENABLE_AUTO_TRACE_ID_GENERATION = "io.sentry.traces.enable-auto-id-generation"; + static final String ENABLE_AUTO_TRACE_ID_GENERATION = + "io.sentry.traces.enable-auto-id-generation"; /** ManifestMetadataReader ctor */ private ManifestMetadataReader() {}