Skip to content

FeatureSdkCore

Xavier F. Gouchet edited this page Sep 4, 2024 · 1 revision

interface FeatureSdkCore : SdkCore

Extension of SdkCore containing the necessary methods for the features development.

SDK core is always guaranteed to implement this interface.

Inheritors

InternalSdkCore

Properties

internalLogger

abstract val internalLogger: InternalLogger

Logger for the internal SDK purposes.

Functions

createScheduledExecutorService

abstract fun createScheduledExecutorService(executorContext: String): ScheduledExecutorService

Returns a new ScheduledExecutorService, set up with internal monitoring. It will use a default of one thread and can spawn at most as many thread as there are CPU cores.

Parameters
executorContext Context to be used for logging and naming threads running on this executor.

createSingleThreadExecutorService

abstract fun createSingleThreadExecutorService(executorContext: String): ExecutorService

Returns a new single thread ExecutorService, set up with backpressure and internal monitoring.

Parameters
executorContext Context to be used for logging and naming threads running on this executor.

getFeature

abstract fun getFeature(featureName: String): FeatureScope?

Retrieves a registered feature.

Return

the registered feature with the given name, or null

Parameters
featureName the name of the feature to retrieve

getFeatureContext

abstract fun getFeatureContext(featureName: String): Map<String, Any?>

Retrieves the context for the particular feature.

Return

Context for the given feature or empty map if feature is not registered.

Parameters
featureName Feature name.

registerFeature

abstract fun registerFeature(feature: Feature)

Registers a feature to this instance of the Datadog SDK.

Parameters
feature the feature to be registered.

removeContextUpdateReceiver

abstract fun removeContextUpdateReceiver(featureName: String, listener: FeatureContextUpdateReceiver)

Removes context update listener for the given feature.

Parameters
featureName Feature name.
listener Listener to remove.

removeEventReceiver

abstract fun removeEventReceiver(featureName: String)

Removes events receive for the given feature.

Parameters
featureName Feature name.

setContextUpdateReceiver

abstract fun setContextUpdateReceiver(featureName: String, listener: FeatureContextUpdateReceiver)

Sets context update receiver for the given feature.

Parameters
featureName Feature name.
listener Listener to remove.

setEventReceiver

abstract fun setEventReceiver(featureName: String, receiver: FeatureEventReceiver)

Sets event receiver for the given feature.

Parameters
featureName Feature name.
receiver Event receiver.

updateFeatureContext

abstract fun updateFeatureContext(featureName: String, updateCallback: (context: MutableMap<String, Any?>) -> Unit)

Updates the context if exists with the new entries. If there is no context yet for the provided featureName, a new one will be created.

Parameters
featureName Feature name.
updateCallback Provides current feature context for the update. If there is no feature with the given name registered, callback won't be called.
Clone this wiki locally