fun build()

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
                )
            }