Skip to content

Commit

Permalink
feat(android): auto track activity TTID spans
Browse files Browse the repository at this point in the history
  • Loading branch information
abhaysood committed Mar 10, 2025
1 parent deec73b commit d2da10d
Show file tree
Hide file tree
Showing 37 changed files with 346 additions and 127 deletions.
5 changes: 3 additions & 2 deletions android/measure/api/measure.api
Original file line number Diff line number Diff line change
Expand Up @@ -167,8 +167,8 @@ public abstract interface class sh/measure/android/bugreport/MsrShakeListener {
public final class sh/measure/android/config/MeasureConfig : sh/measure/android/config/IMeasureConfig {
public static final field $stable I
public fun <init> ()V
public fun <init> (ZZLsh/measure/android/config/ScreenshotMaskLevel;ZZLjava/util/List;Ljava/util/List;Ljava/util/List;ZFZFZ)V
public synthetic fun <init> (ZZLsh/measure/android/config/ScreenshotMaskLevel;ZZLjava/util/List;Ljava/util/List;Ljava/util/List;ZFZFZILkotlin/jvm/internal/DefaultConstructorMarker;)V
public fun <init> (ZZLsh/measure/android/config/ScreenshotMaskLevel;ZZLjava/util/List;Ljava/util/List;Ljava/util/List;ZFZFZZ)V
public synthetic fun <init> (ZZLsh/measure/android/config/ScreenshotMaskLevel;ZZLjava/util/List;Ljava/util/List;Ljava/util/List;ZFZFZZILkotlin/jvm/internal/DefaultConstructorMarker;)V
public fun getAutoStart ()Z
public fun getEnableLogging ()Z
public fun getEnableShakeToLaunchBugReport ()Z
Expand All @@ -179,6 +179,7 @@ public final class sh/measure/android/config/MeasureConfig : sh/measure/android/
public fun getScreenshotMaskLevel ()Lsh/measure/android/config/ScreenshotMaskLevel;
public fun getTraceSamplingRate ()F
public fun getTrackActivityIntentData ()Z
public fun getTrackActivityLoadTime ()Z
public fun getTrackHttpBody ()Z
public fun getTrackHttpHeaders ()Z
public fun getTrackScreenshotOnCrash ()Z
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -63,4 +63,5 @@ class FakeConfigProvider : ConfigProvider {
override val shakeMinTimeIntervalMs: Long = 1000
override val shakeSlop: Int = 2
override val enableShakeToLaunchBugReport: Boolean = true
override val trackActivityLoadTime: Boolean = true
}
Original file line number Diff line number Diff line change
Expand Up @@ -354,7 +354,30 @@ internal class TestMeasureInitializer(
defaultExecutor = executorServiceRegistry.defaultExecutor(),
layoutSnapshotThrottler = LayoutSnapshotThrottler(timeProvider),
),
private val launchTracker: LaunchTracker = LaunchTracker(logger, timeProvider),
private val spanProcessor: SpanProcessor = MsrSpanProcessor(
signalProcessor = signalProcessor,
attributeProcessors = emptyList(),
logger = logger,
configProvider = configProvider,
),
private val traceSampler: TraceSampler = TraceSamplerImpl(
randomizer = randomizer,
configProvider = configProvider,
),
private val tracer: Tracer = MsrTracer(
logger = logger,
sessionManager = sessionManager,
spanProcessor = spanProcessor,
idProvider = idProvider,
timeProvider = timeProvider,
traceSampler = traceSampler,
),
private val launchTracker: LaunchTracker = LaunchTracker(
logger,
timeProvider,
configProvider,
tracer,
),
override val appLaunchCollector: AppLaunchCollector = AppLaunchCollector(
logger = logger,
application = application,
Expand Down Expand Up @@ -383,24 +406,6 @@ internal class TestMeasureInitializer(
signalProcessor = signalProcessor,
timeProvider = timeProvider,
),
private val spanProcessor: SpanProcessor = MsrSpanProcessor(
signalProcessor = signalProcessor,
attributeProcessors = emptyList(),
logger = logger,
configProvider = configProvider,
),
private val traceSampler: TraceSampler = TraceSamplerImpl(
randomizer = randomizer,
configProvider = configProvider,
),
private val tracer: Tracer = MsrTracer(
logger = logger,
sessionManager = sessionManager,
spanProcessor = spanProcessor,
idProvider = idProvider,
timeProvider = timeProvider,
traceSampler = traceSampler,
),
override val spanCollector: SpanCollector = SpanCollector(tracer),
override val bugReportCollector: BugReportCollector = BugReportCollectorImpl(
logger = logger,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -130,6 +130,7 @@ internal class MeasureInitializerImpl(
autoStart = inputConfig.autoStart,
traceSamplingRate = inputConfig.traceSamplingRate,
enableShakeToLaunchBugReport = inputConfig.enableShakeToLaunchBugReport,
trackActivityLoadTime = inputConfig.trackActivityLoadTime,
),
configLoader = ConfigLoaderImpl(),
),
Expand Down Expand Up @@ -375,30 +376,6 @@ internal class MeasureInitializerImpl(
defaultExecutor = executorServiceRegistry.defaultExecutor(),
layoutSnapshotThrottler = LayoutSnapshotThrottler(timeProvider),
),
private val launchTracker: LaunchTracker = LaunchTracker(logger, timeProvider),
override val appLaunchCollector: AppLaunchCollector = AppLaunchCollector(
logger = logger,
application = application,
signalProcessor = signalProcessor,
timeProvider = timeProvider,
launchTracker = launchTracker,
),
override val networkChangesCollector: NetworkChangesCollector = NetworkChangesCollector(
logger = logger,
context = application,
signalProcessor = signalProcessor,
systemServiceProvider = systemServiceProvider,
timeProvider = timeProvider,
networkStateProvider = networkStateProvider,
),
override val dataCleanupService: DataCleanupService = DataCleanupServiceImpl(
logger = logger,
fileStorage = fileStorage,
database = database,
ioExecutor = executorServiceRegistry.ioExecutor(),
sessionManager = sessionManager,
configProvider = configProvider,
),
private val spanDeviceAttributeProcessor: SpanDeviceAttributeProcessor = SpanDeviceAttributeProcessor(
localeProvider = localeProvider,
),
Expand Down Expand Up @@ -426,6 +403,36 @@ internal class MeasureInitializerImpl(
override val spanCollector: SpanCollector = SpanCollector(
tracer = tracer,
),

private val launchTracker: LaunchTracker = LaunchTracker(
logger,
timeProvider,
configProvider,
tracer,
),
override val appLaunchCollector: AppLaunchCollector = AppLaunchCollector(
logger = logger,
application = application,
signalProcessor = signalProcessor,
timeProvider = timeProvider,
launchTracker = launchTracker,
),
override val networkChangesCollector: NetworkChangesCollector = NetworkChangesCollector(
logger = logger,
context = application,
signalProcessor = signalProcessor,
systemServiceProvider = systemServiceProvider,
timeProvider = timeProvider,
networkStateProvider = networkStateProvider,
),
override val dataCleanupService: DataCleanupService = DataCleanupServiceImpl(
logger = logger,
fileStorage = fileStorage,
database = database,
ioExecutor = executorServiceRegistry.ioExecutor(),
sessionManager = sessionManager,
configProvider = configProvider,
),
override val customEventCollector: CustomEventCollector = CustomEventCollector(
logger = logger,
configProvider = configProvider,
Expand Down
Loading

0 comments on commit d2da10d

Please # to comment.