Downloadable content (DLC) UI Telemetry¶
The downloadable content service (DLC) uses UI telemetry to report successful and failed performed actions (like downloading new content or synchronizing the catalog of available content).
Note: The download content service downloads additional assets for using the browser (like fonts, dictionaries or translations) and is not related to downloads that the user performs when browsing.
All UI events use action action.1
and method service
. Additional information is structured as JSON blobs (extras
field).
Downloading content¶
Telemetry about downloaded content has the extra field action
set to dlc_download
. The result
field will be set to success
or failure
depending on whether the content could be downloaded successfully. The content
field will contain the UUID of the content (as listed in the catalog, see “Synchronizing catalog” section) that was downloaded or failed to be downloaded. This is helpful to identify potentially corrupt content.
Telemetry extras sent for a successful content download might look like this:
extras: {
"action": "dlc_download",
"result": "success",
"content": "25610abb-5dc8-fd75-40e7-990507f010c4"
}
For failed content downloads an additional error
field contains the error type that occured when downloading the content. The value can be one of:
- no_network
- network_metered
- disk_space
- checksum
- io_disk
- io_network
- memory
- server
- logic
- unrecoverable
Telemetry extras sent for a failed content download might look like this:
extras: {
"action": "dlc_download",
"result": "failure",
"content": "25610abb-5dc8-fd75-40e7-990507f010c4"
"error": "io_network"
}
Synchronizing catalog¶
The app has a local catalog of content that can be downloaded. This catalog can be updated and is synchronized from a server. Telemetry about synchronizing the catalog has the extra field action
set to dlc_sync
. Like for content downloads the result
field will be set to success
or failure
depending on whether the synchronization was successful or not.
Telemetry extras for a successful synchronization contain two additional fields:
updated
- This field is set totrue
if the local catalog was updated or false if a synchronization was successful but the catalog has not changed since the last synchronizationaction_required
- If the value istrue
then this update required a local action: New or updated content needs to be downloaded or old content needs to be removed. If the value isfalse
then the catalog was updated but no further action is required by the client.
A successful synchronization might send the following telemetry extras:
extras: {
"action": "dlc_sync",
"result": "success",
"updated": false,
"action_required": false
}
Telemetry extras for a failed synchronization will contain an additional error
field with the same possible values as listed for the failed download case.