Skip to content

Commit 77721c1

Browse files
authored
Merge dc806fd into b936425
2 parents b936425 + dc806fd commit 77721c1

15 files changed

Lines changed: 1656 additions & 113 deletions

CHANGELOG.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,14 @@
22

33
## 8.43.1
44

5+
### Features
6+
7+
- Add `enableStandaloneAppStartTracing` option to send app start as a standalone transaction instead of attaching it as a child span of the first activity transaction ([#5342](https://github.com/getsentry/sentry-java/pull/5342))
8+
- Disabled by default; opt in via `options.isEnableStandaloneAppStartTracing = true` or manifest meta-data `io.sentry.standalone-app-start-tracing.enable`
9+
- Emits a transaction named `App Start` with op `app.start`, carrying the existing app start measurements and phase spans (`process.load`, `contentprovider.load`, `application.load`, activity lifecycle spans) as direct children of the root
10+
- The standalone transaction shares the same `traceId` as the first `ui.load` activity transaction so they remain linked in the trace view
11+
- Also covers non-activity starts (broadcast receivers, services, content providers)
12+
513
### Fixes
614

715
- Session Replay: Fix replay recording freezing on screens with continuous animations ([#5489](https://github.com/getsentry/sentry-java/pull/5489))

sentry-android-core/api/sentry-android-core.api

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -392,6 +392,7 @@ public final class io/sentry/android/core/SentryAndroidOptions : io/sentry/Sentr
392392
public fun isEnablePerformanceV2 ()Z
393393
public fun isEnableRootCheck ()Z
394394
public fun isEnableScopeSync ()Z
395+
public fun isEnableStandaloneAppStartTracing ()Z
395396
public fun isEnableSystemEventBreadcrumbs ()Z
396397
public fun isEnableSystemEventBreadcrumbsExtras ()Z
397398
public fun isReportHistoricalAnrs ()Z
@@ -423,6 +424,7 @@ public final class io/sentry/android/core/SentryAndroidOptions : io/sentry/Sentr
423424
public fun setEnablePerformanceV2 (Z)V
424425
public fun setEnableRootCheck (Z)V
425426
public fun setEnableScopeSync (Z)V
427+
public fun setEnableStandaloneAppStartTracing (Z)V
426428
public fun setEnableSystemEventBreadcrumbs (Z)V
427429
public fun setEnableSystemEventBreadcrumbsExtras (Z)V
428430
public fun setFrameMetricsCollector (Lio/sentry/android/core/internal/util/SentryFrameMetricsCollector;)V
@@ -740,11 +742,16 @@ public class io/sentry/android/core/performance/AppStartMetrics : io/sentry/andr
740742
public fun clear ()V
741743
public fun createProcessInitSpan ()Lio/sentry/android/core/performance/TimeSpan;
742744
public fun getActivityLifecycleTimeSpans ()Ljava/util/List;
745+
public fun getAppStartBaggageHeader ()Ljava/lang/String;
743746
public fun getAppStartContinuousProfiler ()Lio/sentry/IContinuousProfiler;
747+
public fun getAppStartEndTime ()Lio/sentry/SentryDate;
744748
public fun getAppStartProfiler ()Lio/sentry/ITransactionProfiler;
745749
public fun getAppStartSamplingDecision ()Lio/sentry/TracesSamplingDecision;
750+
public fun getAppStartSentryTraceHeader ()Ljava/lang/String;
746751
public fun getAppStartTimeSpan ()Lio/sentry/android/core/performance/TimeSpan;
752+
public fun getAppStartTimeSpanForHeadless ()Lio/sentry/android/core/performance/TimeSpan;
747753
public fun getAppStartTimeSpanWithFallback (Lio/sentry/android/core/SentryAndroidOptions;)Lio/sentry/android/core/performance/TimeSpan;
754+
public fun getAppStartTraceId ()Lio/sentry/protocol/SentryId;
748755
public fun getAppStartType ()Lio/sentry/android/core/performance/AppStartMetrics$AppStartType;
749756
public fun getApplicationOnCreateTimeSpan ()Lio/sentry/android/core/performance/TimeSpan;
750757
public fun getClassLoadedUptimeMs ()J
@@ -765,12 +772,18 @@ public class io/sentry/android/core/performance/AppStartMetrics : io/sentry/andr
765772
public static fun onContentProviderPostCreate (Landroid/content/ContentProvider;)V
766773
public fun registerLifecycleCallbacks (Landroid/app/Application;)V
767774
public fun setAppLaunchedInForeground (Z)V
775+
public fun setAppStartBaggageHeader (Ljava/lang/String;)V
768776
public fun setAppStartContinuousProfiler (Lio/sentry/IContinuousProfiler;)V
777+
public fun setAppStartEndTime (Lio/sentry/SentryDate;)V
769778
public fun setAppStartProfiler (Lio/sentry/ITransactionProfiler;)V
770779
public fun setAppStartSamplingDecision (Lio/sentry/TracesSamplingDecision;)V
780+
public fun setAppStartSentryTraceHeader (Ljava/lang/String;)V
781+
public fun setAppStartTraceId (Lio/sentry/protocol/SentryId;)V
771782
public fun setAppStartType (Lio/sentry/android/core/performance/AppStartMetrics$AppStartType;)V
772783
public fun setClassLoadedUptimeMs (J)V
784+
public fun setHeadlessAppStartListener (Lio/sentry/android/core/performance/AppStartMetrics$HeadlessAppStartListener;)V
773785
public fun shouldSendStartMeasurements ()Z
786+
public fun shouldSendStartMeasurements (Z)Z
774787
}
775788

776789
public final class io/sentry/android/core/performance/AppStartMetrics$AppStartType : java/lang/Enum {
@@ -781,6 +794,10 @@ public final class io/sentry/android/core/performance/AppStartMetrics$AppStartTy
781794
public static fun values ()[Lio/sentry/android/core/performance/AppStartMetrics$AppStartType;
782795
}
783796

797+
public abstract interface class io/sentry/android/core/performance/AppStartMetrics$HeadlessAppStartListener {
798+
public abstract fun onHeadlessAppStart ()V
799+
}
800+
784801
public class io/sentry/android/core/performance/TimeSpan : java/lang/Comparable {
785802
public fun <init> ()V
786803
public fun compareTo (Lio/sentry/android/core/performance/TimeSpan;)I

0 commit comments

Comments
 (0)