in agent-sdk/src/main/java/co/elastic/otel/android/internal/api/ManagedElasticOtelAgent.kt [125:161]
fun build(
serviceManager: ServiceManager,
systemTimeProvider: SystemTimeProvider
): ManagedFeatures {
val exporterGateManager = ExporterGateManager(
serviceManager,
signalBufferSize = gateSignalBufferSize
)
val diskBufferingManager = DiskBufferingManager.create(
systemTimeProvider,
serviceManager,
exporterGateManager,
diskBufferingConfiguration
)
val elasticClockManager = ElasticClockManager.create(
serviceManager,
exporterGateManager,
systemTimeProvider,
sntpClient ?: SntpClient.create(systemTimeProvider)
)
val sessionManager = SessionManager.create(
serviceManager,
sessionIdGenerator ?: SessionIdGenerator { UUID.randomUUID().toString() },
systemTimeProvider
)
val conditionalDropManager = ConditionalDropManager()
val instrumentationManager = InstrumentationManager.create(application)
return ManagedFeatures(
exporterGateManager,
diskBufferingManager,
elasticClockManager,
sessionManager,
conditionalDropManager,
instrumentationManager
)
}