Source code
Revision control
Copy as Markdown
Other Tools
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# Adding a new metric? We have docs for that!
---
$tags:
- 'Core :: Audio/Video'
gmp:
update_xml_fetch_result:
type: labeled_counter
labels:
- cert_pin_success
- cert_pin_net_request_error
- cert_pin_net_timeout
- cert_pin_abort
- cert_pin_missing_data
- cert_pin_failed
- cert_pin_invalid
- cert_pin_xml_parse_error
- cert_pin_unknown_error
- content_sig_success
- content_sig_net_request_error
- content_sig_net_timeout
- content_sig_abort
- content_sig_missing_data
- content_sig_failed
- content_sig_invalid
- content_sig_xml_parse_error
- content_sig_unknown_error
description: >
The result of Gecko fetching an update.xml from Balrog.
This captures 3 different data points: success or failure of the request,
if cert pinning or content signatures were used to verify the result, and
the reason for failure, if the request failed.
metadata:
tags:
- 'Core :: Audio/Video: GMP'
bugs:
data_reviews:
data_sensitivity:
- technical
notification_emails:
- media-alerts@mozilla.com
expires: never
media.audio:
init_failure:
type: labeled_counter
labels:
- first
- other
description: >
Failure occurs when initializing the audio stream.
(Migrated from the geckoview metric of the same name).
bugs:
data_reviews:
notification_emails:
- media-alerts@mozilla.com
expires: never
backend:
type: labeled_counter
labels:
- unknown
- audiounit
- audiounit-rust
- aaudio
- opensl
- wasapi
- winmm
- alsa
- jack
- oss
- pulse
- pulse-rust
- sndio
- sunaudio
description: >
The operating system audio backend
(Migrated from the geckoview metric of the same name).
bugs:
data_reviews:
notification_emails:
- media-alerts@mozilla.com
expires: never
media.playback:
first_frame_loaded:
type: event
description:
The time that the media pipeline takes to load the first video frame.
metadata:
tags:
- 'Core :: Audio/Video: Playback'
bugs:
data_reviews:
data_sensitivity:
- technical
notification_emails:
- media-alerts@mozilla.com
extra_keys:
first_frame_loaded_time:
description:
How long (in milliseconds) does the our media pipeline take to load
the first video frame from "the creation of MDSM" to "the first frame
loaded".
type: quantity
metadata_loaded_time:
description:
How long (in milliseconds) does the our media pipeline take to load
the metadata, which happens before finishing loading the first frame.
type: quantity
total_waiting_data_time:
description:
How long (in milliseconds) does the our media pipeline has been in a
state of waiting video data due to lacking of data before the first
frame is loaded.
type: quantity
buffering_time:
description:
How long (in milliseconds) does the our media pipeline has been spent
on the buffering state before the first frame is loaded.
type: quantity
playback_type:
description:
The type of the playback. The value could be one of following
(1) Non-MSE playback
(2) MSE playback
(3) EME playback
// Following are Windows-only
(4) Non-MSE media-engine playback
(5) MSE media-engine playback
(6) EME media-engine playback
type: string
video_codec:
description: The video codec used for playback
type: string
resolution:
description: The video resolution used for playback
type: string
key_system:
description: The key system used for the EME playback if exists
type: string
hls_decoder:
description:
This value will only be set on Android. It tells that whether playback
is performed by the HLS decoder, which utilizes the external player to
play video.
type: boolean
is_hardware_decoding:
description: True if the first frame is decoded by a hardware decoder.
type: boolean
decoder_name:
description: The name of video decoder used for playback.
type: string
is_hdr:
description: True if the playback is from a HDR video content.
type: boolean
expires: never
device_hardware_decoder_support:
type: labeled_boolean
description:
The results of hardware decoder support for different video codecs. True
means that codec can be decoded by hardware on user's device.
metadata:
tags:
- 'Core :: Audio/Video: Playback'
bugs:
data_reviews:
data_sensitivity:
- technical
notification_emails:
- media-alerts@mozilla.com
expires: never
labels:
- h264
- vp8
- vp9
- av1
- hevc
telemetry_mirror: MEDIA_DEVICE_HARDWARE_DECODING_SUPPORT
not_supported_video_per_mime_type:
type: labeled_counter
description:
Count the amount of times where video playback is failed to start due to the mime type is not supported by Firefox. The result is accumulated per mime type, eg. video/hevc.
bugs:
data_reviews:
notification_emails:
- media-alerts@mozilla.com
expires: never
decode_error:
type: event
description: >
Record the decode error details.
metadata:
tags:
- 'Core :: Audio/Video: Playback'
bugs:
data_reviews:
data_sensitivity:
- technical
notification_emails:
- media-alerts@mozilla.com
extra_keys:
mime_type:
description: The mime type of the media track when the error occurred.
type: string
error_name:
description: The name of the error.
type: string
key_system:
description: >
The value indicates the key system in use when the error occurred. It
will be null if the error is related to non-EME playback.
type : string
decoder_name:
description: The name of the decoder when the error occurred.
type: string
is_hardware_accelerated:
description: True if the decoder used when the error occurred is a hardware decoder.
type: boolean
expires: never
media:
element_in_page_count:
type: counter
description: >
The number of times a document hierarchy contained at least one
HTMLMediaElement. In addition, the telemetry probe
'MIXED_CONTENT_UNBLOCK_COUNTER' records the total number of loaded
top level content documents, which can help us calculate the result
of the percentage of documents using media.
This metric was generated to correspond to the Legacy Telemetry
scalar media.element_in_page_count.
bugs:
data_reviews:
notification_emails:
- media-alerts@mozilla.com
expires: never
telemetry_mirror: MEDIA_ELEMENT_IN_PAGE_COUNT
video_hardware_decoding_support:
type: labeled_boolean
description: >
Record whether hardware decoding is supported for the specific video
codec. The key is the type of video codec, eg. video/vp9.
This metric was generated to correspond to the Legacy Telemetry
scalar media.video_hardware_decoding_support.
metadata:
permit_non_commutative_operations_over_ipc: true
bugs:
data_reviews:
notification_emails:
- media-alerts@mozilla.com
expires: never
telemetry_mirror: MEDIA_VIDEO_HARDWARE_DECODING_SUPPORT
video_hd_hardware_decoding_support:
type: labeled_boolean
description: >
Record whether hardware decoding is supported for the specific video
codec, this only records video in HD (1280*720) or higher resultion.
The key is the type of video codec, eg. video/vp9.
This metric was generated to correspond to the Legacy Telemetry
scalar media.video_hd_hardware_decoding_support.
metadata:
permit_non_commutative_operations_over_ipc: true
bugs:
data_reviews:
notification_emails:
- media-alerts@mozilla.com
expires: never
telemetry_mirror: MEDIA_VIDEO_HD_HARDWARE_DECODING_SUPPORT
error:
type: event
description: >
Record the error details happened on a media element.
metadata:
tags:
- 'Core :: Audio/Video: Playback'
bugs:
data_reviews:
data_sensitivity:
- technical
notification_emails:
- media-alerts@mozilla.com
extra_keys:
error_type:
description: The error type defined in MediaError.webidl.
type: string
error_name:
description: The name of the internal error.
type: string
key_system:
description: >
The value indicates the key system in use when the error occurred. It
will be null if the error is related to non-EME playback.
type : string
expires: never
video_play_time:
type: timing_distribution
description: >
Total time spent playing video in milliseconds.
This metric was generated to correspond to the Legacy Telemetry
exponential histogram VIDEO_PLAY_TIME_MS.
time_unit: millisecond
bugs:
data_reviews:
notification_emails:
- media-alerts@mozilla.com
expires: never
telemetry_mirror: VIDEO_PLAY_TIME_MS
media_play_time:
type: labeled_timing_distribution
description: >
Total time spent playing media in milliseconds, keyed by its content
(Audio and video, audio only, video only, audio and video but audio
inaudible, audio and video but audio muted).
This metric was generated to correspond to the Legacy Telemetry
exponential histogram MEDIA_PLAY_TIME_MS.
time_unit: millisecond
bugs:
data_reviews:
notification_emails:
- media-alerts@mozilla.com
expires: never
telemetry_mirror: MEDIA_PLAY_TIME_MS
audible_play_time_percent:
type: labeled_custom_distribution
description: >
Percentage of time spent playing media with an audible audio track,
regardless of the volume. Keyed by audio-only or video presence.
This metric was generated to correspond to the Legacy Telemetry linear
histogram AUDIBLE_PLAY_TIME_PERCENT.
range_min: 1
range_max: 100
bucket_count: 50
histogram_type: linear
bugs:
data_reviews:
notification_emails:
- media-alerts@mozilla.com
expires: never
telemetry_mirror: AUDIBLE_PLAY_TIME_PERCENT
muted_play_time_percent:
type: labeled_custom_distribution
description: >
Percentage of time spent playing media that has an audio track, with the
audio muted. Keyed by audio-only or video presence.
This metric was generated to correspond to the Legacy Telemetry linear
histogram MUTED_PLAY_TIME_PERCENT.
range_min: 1
range_max: 100
bucket_count: 50
histogram_type: linear
bugs:
data_reviews:
notification_emails:
- media-alerts@mozilla.com
expires: never
telemetry_mirror: MUTED_PLAY_TIME_PERCENT
video_visible_play_time:
type: labeled_timing_distribution
description: >
Total time spent playing visible video in milliseconds.
This metric was generated to correspond to the Legacy Telemetry
exponential histogram VIDEO_VISIBLE_PLAY_TIME_MS.
time_unit: millisecond
bugs:
data_reviews:
notification_emails:
- media-alerts@mozilla.com
expires: never
telemetry_mirror: VIDEO_VISIBLE_PLAY_TIME_MS
video_hidden_play_time:
type: timing_distribution
description: >
Total time spent playing video while element is hidden, in milliseconds.
This metric was generated to correspond to the Legacy Telemetry
exponential histogram VIDEO_HIDDEN_PLAY_TIME_MS.
time_unit: millisecond
bugs:
data_reviews:
notification_emails:
- media-alerts@mozilla.com
expires: never
telemetry_mirror: VIDEO_HIDDEN_PLAY_TIME_MS
video_hidden_play_time_percentage:
type: labeled_custom_distribution
description: >
Percentage of total time spent playing video while element is hidden.
Keyed by audio presence and by height ranges (boundaries: 240. 480, 576,
720, 1080, 2160), e.g.: 'V,0<h<=240', 'AV,h>2160'; and 'All' will
accumulate all percentages. This is reported whenever the decoder stops.
(eg. pausing media, encountering an error, changing to a new resource,
page goes to the bf-cached or page gets discarded)
This metric was generated to correspond to the Legacy Telemetry linear
histogram VIDEO_HIDDEN_PLAY_TIME_PERCENTAGE.
range_min: 1
range_max: 100
bucket_count: 50
histogram_type: linear
bugs:
data_reviews:
notification_emails:
- media-alerts@mozilla.com
expires: never
telemetry_mirror: VIDEO_HIDDEN_PLAY_TIME_PERCENTAGE
video_hdr_play_time:
type: timing_distribution
description: >
Total time spent playing HDR video in milliseconds.
This metric was generated to correspond to the Legacy Telemetry
exponential histogram VIDEO_HDR_PLAY_TIME_MS.
time_unit: millisecond
bugs:
data_reviews:
notification_emails:
- media-alerts@mozilla.com
- bwerth@mozilla.com
expires: never
telemetry_mirror: VIDEO_HDR_PLAY_TIME_MS
video_encrypted_play_time:
type: timing_distribution
description: >
Total time spent playing encrypted video in milliseconds.
This metric was generated to correspond to the Legacy Telemetry
exponential histogram VIDEO_ENCRYPTED_PLAY_TIME_MS.
time_unit: millisecond
bugs:
data_reviews:
notification_emails:
- media-alerts@mozilla.com
expires: never
telemetry_mirror: VIDEO_ENCRYPTED_PLAY_TIME_MS
video_clearkey_play_time:
type: timing_distribution
description: >
Total time spent playing Clearkey encrypted video in milliseconds.
This metric was generated to correspond to the Legacy Telemetry
exponential histogram VIDEO_CLEARKEY_PLAY_TIME_MS.
time_unit: millisecond
bugs:
data_reviews:
notification_emails:
- media-alerts@mozilla.com
expires: never
telemetry_mirror: VIDEO_CLEARKEY_PLAY_TIME_MS
video_widevine_play_time:
type: timing_distribution
description: >
Total time spent playing Widevine encrypted video in milliseconds.
This metric was generated to correspond to the Legacy Telemetry
exponential histogram VIDEO_WIDEVINE_PLAY_TIME_MS.
time_unit: millisecond
bugs:
data_reviews:
notification_emails:
- media-alerts@mozilla.com
expires: never
telemetry_mirror: VIDEO_WIDEVINE_PLAY_TIME_MS
video_dropped_frames_proportion:
type: custom_distribution
description: >
Percentage of frames decoded frames dropped between starting and stopping
a video
This metric was generated to correspond to the Legacy Telemetry linear
histogram VIDEO_DROPPED_FRAMES_PROPORTION.
range_min: 1
range_max: 100
bucket_count: 50
histogram_type: linear
unit: percentage
bugs:
data_reviews:
notification_emails:
- media-alerts@mozilla.com
expires: never
telemetry_mirror: VIDEO_DROPPED_FRAMES_PROPORTION
video_dropped_frames_proportion_exponential:
type: custom_distribution
description: >
Ratio of dropped frames per total decoded frames scaled by 10,000 between
starting and stopping a video
This metric was generated to correspond to the Legacy Telemetry
exponential histogram VIDEO_DROPPED_FRAMES_PROPORTION_EXPONENTIAL.
range_min: 1
range_max: 10000
bucket_count: 100
histogram_type: exponential
bugs:
data_reviews:
notification_emails:
- media-alerts@mozilla.com
expires: never
telemetry_mirror: VIDEO_DROPPED_FRAMES_PROPORTION_EXPONENTIAL
video_dropped_decoded_frames_proportion_exponential:
type: custom_distribution
description: >
Ratio of decoder dropped frames per total decoded frames scaled by 10,000
between starting and stopping a video
This metric was generated to correspond to the Legacy Telemetry
exponential histogram VIDEO_DROPPED_DECODED_FRAMES_PROPORTION_EXPONENTIAL.
range_min: 1
range_max: 10000
bucket_count: 100
histogram_type: exponential
bugs:
data_reviews:
notification_emails:
- media-alerts@mozilla.com
expires: never
telemetry_mirror: VIDEO_DROPPED_DECODED_FRAMES_PROPORTION_EXPONENTIAL
video_dropped_sink_frames_proportion_exponential:
type: custom_distribution
description: >
Ratio of sink dropped frames per total decoded frames scaled by 10,000
between starting and stopping a video
This metric was generated to correspond to the Legacy Telemetry
exponential histogram VIDEO_DROPPED_SINK_FRAMES_PROPORTION_EXPONENTIAL.
range_min: 1
range_max: 10000
bucket_count: 100
histogram_type: exponential
bugs:
data_reviews:
notification_emails:
- media-alerts@mozilla.com
expires: never
telemetry_mirror: VIDEO_DROPPED_SINK_FRAMES_PROPORTION_EXPONENTIAL
video_dropped_compositor_frames_proportion_exponential:
type: custom_distribution
description: >
Ratio of compositor dropped frames per total decoded frames scaled by
10,000 between starting and stopping a video
This metric was generated to correspond to the Legacy Telemetry
exponential histogram
VIDEO_DROPPED_COMPOSITOR_FRAMES_PROPORTION_EXPONENTIAL.
range_min: 1
range_max: 10000
bucket_count: 100
histogram_type: exponential
bugs:
data_reviews:
notification_emails:
- media-alerts@mozilla.com
expires: never
telemetry_mirror: VIDEO_DROPPED_COMPOSITOR_FRAMES_PROPORTION_EXPONENTIAL
codec_used:
type: labeled_counter
description: >
Count of use of audio/video codecs in HTMLMediaElements and WebAudio.
Those with 'resource' prefix are approximate; report based on HTTP
ContentType or sniffing. Those with 'webaudio' prefix are for WebAudio.
This metric was generated to correspond to the Legacy Telemetry count
histogram MEDIA_CODEC_USED.
bugs:
data_reviews:
notification_emails:
- media-alerts@mozilla.com
expires: never
telemetry_mirror: h#MEDIA_CODEC_USED
mse_source_buffer_type:
type: labeled_counter
description: >
Count the actual or possible (because we don't support some of them for
now) usage amount for each media mime type used in MSE. We collect this
data in MediaSource's `AddSourceBuffer()` and `IsTypeSupported()`.
This metric was generated to correspond to the Legacy Telemetry
categorical histogram MSE_SOURCE_BUFFER_TYPE.
labels:
- VideoHevc
- VideoWebm
- AudioWebm
- VideoMp4
- AudioMp4
- VideoMp2t
- AudioMp2t
- AudioMpeg
- AudioAac
bugs:
data_reviews:
notification_emails:
- media-alerts@mozilla.com
expires: never
telemetry_mirror: h#MSE_SOURCE_BUFFER_TYPE