android-components / org.mozilla.telemetry.config / TelemetryConfiguration

TelemetryConfiguration

open class TelemetryConfiguration (source)

The TelemetryConfiguration class collects the information describing the telemetry setup of an app. There are some parts that every app needs to configure: Where should measurements store data? What servers are we actually uploading pings to? This class should provide good defaults so that in the best case it is not needed to modify the configuration.

Constructors

Name Summary
<init> TelemetryConfiguration(context: Context)

Functions

Name Summary
getAppName open fun getAppName(): String
Get the name of the app. This value is used as one dimension when uploading telemetry to the HTTP Edge server.
getAppVersion open fun getAppVersion(): String
Get the version of the app (e.g. 45.0.1). This value is used as one dimension when uploading telemetry to the HTTP Edge server.
getBuildId open fun getBuildId(): String
Get the build id of the app (e.g. 20150125030202). This value is used as one dimension when uploading telemetry to the HTTP Edge server.
getClassLoadTimestampMillis open fun getClassLoadTimestampMillis(): Long
getConnectTimeout open fun getConnectTimeout(): Int
Returns setting for connect timeout (milliseconds). A value of 0 implies that the option is disabled (i.e., timeout of infinity).
getContext open fun getContext(): Context
Application context this library is running in.
getDataDirectory open fun getDataDirectory(): File
Get the root directory where telemetry components should store data.
getInitialBackoffForUpload open fun getInitialBackoffForUpload(): Long
Get the interval (in milliseconds) to wait initially after a ping upload has failed.
getMaximumNumberOfEventsPerPing open fun getMaximumNumberOfEventsPerPing(): Int
Get the maximum number of events per ping.
getMaximumNumberOfPingUploadsPerDay open fun getMaximumNumberOfPingUploadsPerDay(): Int
Get the maximum number of pings that should be uploaded per day.
getMaximumNumberOfPingsPerType open fun getMaximumNumberOfPingsPerType(): Int
Get the maximum number of pings that will be stored (for upload).
getMinimumEventsForUpload open fun getMinimumEventsForUpload(): Int
Get the minimum number of telemetry events that need to be fired before even trying to upload an event ping.
getPreferencesImportantForTelemetry open fun getPreferencesImportantForTelemetry(): MutableSet<String>
Get a list of preference keys that are important for telemetry.
getReadTimeout open fun getReadTimeout(): Int
Returns setting for read timeout. 0 return implies that the option is disabled (i.e., timeout of infinity).
getServerEndpoint open fun getServerEndpoint(): String
Set the server endpoint to upload telemetry pings to.
getSettingsProvider open fun getSettingsProvider(): SettingsProvider
Get the provider for reading app settings.
getSharedPreferences open fun getSharedPreferences(): SharedPreferences
Get shared preference for storing telemetry related data.
getUpdateChannel open fun getUpdateChannel(): String
Get the update channel of the app (e.g. beta, release). This value is used as one dimension when uploading telemetry to the HTTP Edge server.
getUserAgent open fun getUserAgent(): String
Get the user agent used when communicating with the telemetry endpoint.
isCollectionEnabled open fun isCollectionEnabled(): Boolean
Is collecting telemetry data enabled?
isUploadEnabled open fun isUploadEnabled(): Boolean
Is uploading collected telemetry data enable?
setAppName open fun setAppName(appName: String): TelemetryConfiguration
Set the name of the app. This value is used as one dimension when uploading telemetry to the HTTP Edge server.
setAppVersion open fun setAppVersion(appVersion: String): TelemetryConfiguration
Set the version of the app (e.g. 45.0.1). This value is used as one dimension when uploading telemetry to the HTTP Edge server.
setBuildId open fun setBuildId(buildId: String): TelemetryConfiguration
Get the build id of the app (e.g. 20150125030202). This value is used as one dimension when uploading telemetry to the HTTP Edge server.
setCollectionEnabled open fun setCollectionEnabled(collectionEnabled: Boolean): TelemetryConfiguration
Enable or disable collection of telemetry data. Local dev builds should disable this to avoid collecting and sending any data.
setConnectTimeout open fun setConnectTimeout(connectTimeout: Int): TelemetryConfiguration
Sets a specified timeout value, in milliseconds, to be used when opening a communications link to the telemetry endpoint. If the timeout expires before the connection can be established, the ping upload will be retried at a later time. A timeout of zero is interpreted as an infinite timeout.
setDataDirectory open fun setDataDirectory(dataDirectory: File): TelemetryConfiguration
Set the root directory where telemetry components should store data.
setInitialBackoffForUpload open fun setInitialBackoffForUpload(initialBackoffForUpload: Long): TelemetryConfiguration
Set the interval (in milliseconds) to wait initially after a ping upload has failed.
setMaximumNumberOfEventsPerPing open fun setMaximumNumberOfEventsPerPing(maximumNumberOfEventsPerPing: Int): TelemetryConfiguration
Set the maximum number of events per ping. If this limit is reached a ping will built and stored automatically. The number of stored and uploaded pings might be limited too.
setMaximumNumberOfPingUploadsPerDay open fun setMaximumNumberOfPingUploadsPerDay(maximumNumberOfPingUploadsPerDay: Int): TelemetryConfiguration
Set the maximum number of pings uploaded per day. This limit is enforced for every type. If you have 2 ping types and set a limit of 100 pings per day then in total 200 pings per day could be uploaded.
setMaximumNumberOfPingsPerType open fun setMaximumNumberOfPingsPerType(maximumNumberOfPingsPerType: Int): TelemetryConfiguration
Set the maximum number of pings that will be stored for a given ping type. If more types are in the local store then pings will be removed (oldest first). For this to happen the maximum needs to be reached without any successful upload.
setMinimumEventsForUpload open fun setMinimumEventsForUpload(minimumEventsForUpload: Int): TelemetryConfiguration
Set the minimum number of telemetry events that need to be fired before even trying to upload an event ping. The default value is 3. The minimum needs to be >= 1.
setPreferencesImportantForTelemetry open fun setPreferencesImportantForTelemetry(vararg preferences: String): TelemetryConfiguration
Set a list of preference keys that are important for telemetry. Some measurements and pings might use this to determine what preferences should be reported.
setReadTimeout open fun setReadTimeout(readTimeout: Int): TelemetryConfiguration
Sets the read timeout to a specified timeout, in milliseconds. A non-zero value specifies the timeout when reading from the telemetry endpoint. If the timeout expires before there is data available for read, the ping upload will be retried later. A timeout of zero is interpreted as an infinite timeout.
setServerEndpoint open fun setServerEndpoint(endpoint: String): TelemetryConfiguration
Set the server endpoint to upload telemetry pings to. And endpoint value should include the schema and no trailing slash, e.g.: https://telemetry.example.org
setSettingsProvider open fun setSettingsProvider(settingsProvider: SettingsProvider): TelemetryConfiguration
Set a provider for reading app settings.
setUpdateChannel open fun setUpdateChannel(updateChannel: String): TelemetryConfiguration
Set the update channel of the app (e.g. beta, release). This value is used as one dimension when uploading telemetry to the HTTP Edge server.
setUploadEnabled open fun setUploadEnabled(uploadEnabled: Boolean): TelemetryConfiguration
Enable or disable the upload of collected telemetry data. This is usually set based on a user visible preference.
setUserAgent open fun setUserAgent(userAgent: String): TelemetryConfiguration
Set the user agent used when communicating with the telemetry endpoint.