Skip to content

Commit 75461b8

Browse files
committed
Fix properly reset application/content-provider timespans
1 parent 38ef269 commit 75461b8

File tree

2 files changed

+17
-0
lines changed

2 files changed

+17
-0
lines changed

sentry-android-core/src/main/java/io/sentry/android/core/performance/AppStartMetrics.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -337,6 +337,8 @@ public void onActivityCreated(@NonNull Activity activity, @Nullable Bundle saved
337337
appStartSpan.start();
338338
appStartSpan.setStartedAt(nowUptimeMs);
339339
CLASS_LOADED_UPTIME_MS = nowUptimeMs;
340+
contentProviderOnCreates.clear();
341+
applicationOnCreate.reset();
340342
} else {
341343
appStartType = savedInstanceState == null ? AppStartType.COLD : AppStartType.WARM;
342344
}

sentry-android-core/src/test/java/io/sentry/android/core/performance/AppStartMetricsTest.kt

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,19 @@ class AppStartMetricsTest {
157157
val metrics = AppStartMetrics.getInstance()
158158
metrics.registerLifecycleCallbacks(mock<Application>())
159159

160+
metrics.contentProviderOnCreateTimeSpans.add(
161+
TimeSpan().apply {
162+
description = "ExampleContentProvider"
163+
setStartedAt(1)
164+
setStoppedAt(2)
165+
}
166+
)
167+
168+
metrics.applicationOnCreateTimeSpan.apply {
169+
setStartedAt(3)
170+
setStoppedAt(4)
171+
}
172+
160173
// when the looper runs
161174
Shadows.shadowOf(Looper.getMainLooper()).idle()
162175

@@ -176,6 +189,8 @@ class AppStartMetricsTest {
176189
assertTrue(metrics.shouldSendStartMeasurements())
177190
assertTrue(metrics.appStartTimeSpan.hasStarted())
178191
assertEquals(now, metrics.appStartTimeSpan.startUptimeMs)
192+
assertFalse(metrics.applicationOnCreateTimeSpan.hasStarted())
193+
assertTrue(metrics.contentProviderOnCreateTimeSpans.isEmpty())
179194
}
180195

181196
@Test

0 commit comments

Comments
 (0)