Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package io.sentry.android.core;

import static io.sentry.android.core.NdkIntegration.SENTRY_NDK_CLASS_NAME;
import static io.sentry.util.IntegrationUtils.addIntegrationToSdkVersion;

import android.annotation.SuppressLint;
import android.app.Application;
Expand Down Expand Up @@ -378,6 +379,8 @@ private static void setupProfiler(
() ->
new PerfettoProfiler(
appContext, options.getLogger(), options.getExecutorService())));
// Report adoption of the Perfetto continuous profiling backend (API 35+).
addIntegrationToSdkVersion("PerfettoContinuousProfiling");
} else if (options.isEnableLegacyProfiling()) {
options.setContinuousProfiler(
new AndroidContinuousProfiler(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ import io.sentry.ITransactionProfiler
import io.sentry.MainEventProcessor
import io.sentry.NoOpContinuousProfiler
import io.sentry.NoOpTransactionProfiler
import io.sentry.SentryIntegrationPackageStorage
import io.sentry.SentryOptions
import io.sentry.android.core.SentryAndroidOptions.AndroidUserFeedbackFormHandler
import io.sentry.android.core.cache.AndroidEnvelopeCache
Expand Down Expand Up @@ -383,6 +384,32 @@ class AndroidOptionsInitializerTest {
assertTrue(fixture.sentryOptions.continuousProfiler is PerfettoContinuousProfiler)
}

@Config(sdk = [35])
@Test
fun `init on API 35+ reports PerfettoContinuousProfiling integration`() {
SentryIntegrationPackageStorage.getInstance().clearStorage()
fixture.initSut()

assertTrue(
SentryIntegrationPackageStorage.getInstance()
.integrations
.contains("PerfettoContinuousProfiling")
)
}

@Config(sdk = [34])
@Test
fun `init below API 35 does not report PerfettoContinuousProfiling integration`() {
SentryIntegrationPackageStorage.getInstance().clearStorage()
fixture.initSut(configureOptions = { isEnableLegacyProfiling = true })

assertFalse(
SentryIntegrationPackageStorage.getInstance()
.integrations
.contains("PerfettoContinuousProfiling")
)
}

@Config(sdk = [34])
@Test
fun `init below API 35 with enableLegacyProfiling true sets AndroidContinuousProfiler`() {
Expand Down
Loading