| <!-- |
| Copyright 2020 The Chromium Authors |
| Use of this source code is governed by a BSD-style license that can be |
| found in the LICENSE file. |
| --> |
| |
| <!-- |
| This file is used to generate a comprehensive list of Media histograms |
| along with a detailed description for each histogram. |
| |
| For best practices on writing histogram descriptions, see |
| https://chromium.googlesource.com/chromium/src.git/+/HEAD/tools/metrics/histograms/README.md |
| |
| Please follow the instructions in the OWNERS file in this directory to find a |
| reviewer. If no OWNERS file exists, please consider signing up at |
| go/reviewing-metrics (Googlers only), as all subdirectories are expected to |
| have an OWNERS file. As a last resort you can send the CL to |
| chromium-metrics-reviews@google.com. |
| --> |
| |
| <histogram-configuration> |
| |
| <histograms> |
| |
| <variants name="AudioAggregationDuration"> |
| <variant name=".Intervals" summary="Whole intervals of 1000 callbacks"/> |
| <variant name=".Short" summary="Streams shorter than 1000 callbacks"/> |
| </variants> |
| |
| <variants name="AudioLatencyTag"> |
| <variant name="" summary="All latencies combined"/> |
| <variant name=".LatencyExactMs"/> |
| <variant name=".LatencyInteractive"/> |
| <variant name=".LatencyPlayback"/> |
| <variant name=".LatencyRtc"/> |
| <variant name=".LatencyUnknown"/> |
| </variants> |
| |
| <variants name="CastStreamingSender"> |
| <variant name="Audio"/> |
| <variant name="Remoting.Audio"/> |
| <variant name="Remoting.Video"/> |
| <variant name="Video"/> |
| </variants> |
| |
| <variants name="DbOperation"> |
| <variant name="Clear" summary="Remove all keys from the DB"/> |
| <variant name="Initialize" summary="Initialize the DB."/> |
| <variant name="Read" summary="Read an entry from the DB"/> |
| <variant name="Validate" summary="Check for DB entry corruption"/> |
| <variant name="Write" summary="Write an entry to the DB"/> |
| </variants> |
| |
| <variants name="EmeApi"> |
| <variant name="CloseSession"/> |
| <variant name="GenerateRequest"/> |
| <variant name="GetStatusForPolicy"/> |
| <variant name="LoadSession"/> |
| <variant name="RemoveSession"/> |
| <variant name="SetServerCertificate"/> |
| <variant name="UpdateSession"/> |
| </variants> |
| |
| <variants name="FileOperation"> |
| <variant name="DeleteFile"/> |
| <variant name="ReadFile"/> |
| <variant name="WriteFile"/> |
| </variants> |
| |
| <variants name="IncognitoOrNormal"> |
| <variant name="" summary="Normal or Incognito"/> |
| <variant name=".Incognito" summary="Incognito"/> |
| <variant name=".Normal" summary="Normal"/> |
| </variants> |
| |
| <variants name="KeySystem"> |
| <variant name="ClearKey" summary="Clear Key key system"/> |
| <variant name="Widevine" summary="Widevine key system"/> |
| </variants> |
| |
| <variants name="KeySystemWithRobustness"> |
| <variant name="ClearKey" summary="Clear Key key system"/> |
| <variant name="Widevine.HardwareSecure" |
| summary="Hardware secure Widevine key system"/> |
| <variant name="Widevine.SoftwareSecure" |
| summary="Software secure Widevine key system"/> |
| </variants> |
| |
| <variants name="RendererType"> |
| <variant name="MediaFoundationRenderer"/> |
| <variant name="RendererImpl"/> |
| </variants> |
| |
| <variants name="ResolveOrReject"> |
| <variant name="" summary="resolve"/> |
| <variant name=".Reject" summary="reject"/> |
| </variants> |
| |
| <!-- The names should match media::GetCodecNameForUMA(). --> |
| |
| <variants name="VideoCodec"> |
| <variant name="AV1"/> |
| <variant name="DolbyVision"/> |
| <variant name="H264"/> |
| <variant name="HEVC"/> |
| <variant name="MPEG2"/> |
| <variant name="MPEG4"/> |
| <variant name="Theora"/> |
| <variant name="VC1"/> |
| <variant name="VP8"/> |
| <variant name="VP9"/> |
| </variants> |
| |
| <histogram name="CastStreaming.Sender.Audio.NegotiatedCodec" enum="AudioCodec" |
| expires_after="2024-04-07"> |
| <owner>jophba@chromium.org</owner> |
| <owner>mfoltz@chromium.org</owner> |
| <summary> |
| Records which audio codec was negotiated during a mirroring session. |
| </summary> |
| </histogram> |
| |
| <histogram name="CastStreaming.Sender.Video.Bitrate" units="kbps" |
| expires_after="2024-02-06"> |
| <owner>jophba@chromium.org</owner> |
| <owner>mfoltz@chromium.org</owner> |
| <summary> |
| Records the currently set video bit rate during a Cast Streaming mirroring |
| session. This metric is subsampled every 500 frames. |
| </summary> |
| </histogram> |
| |
| <histogram name="CastStreaming.Sender.Video.NegotiatedCodec" enum="VideoCodec" |
| expires_after="2024-04-07"> |
| <owner>jophba@chromium.org</owner> |
| <owner>mfoltz@chromium.org</owner> |
| <summary> |
| Records which video codec was negotiated during a mirroring session. |
| </summary> |
| </histogram> |
| |
| <histogram name="CastStreaming.Sender.{CastStreamingSender}.FrameDropped" |
| enum="CastStreamingFrameDropReason" expires_after="2024-02-06"> |
| <owner>jophba@chromium.org</owner> |
| <owner>mfoltz@chromium.org</owner> |
| <summary> |
| Records the reason when an frame is dropped during a Cast Streaming session. |
| </summary> |
| <token key="CastStreamingSender" variants="CastStreamingSender"/> |
| </histogram> |
| |
| <histogram |
| name="CastStreaming.Sender.{CastStreamingSender}.PercentDroppedFrames" |
| units="%" expires_after="2024-02-06"> |
| <owner>jophba@chromium.org</owner> |
| <owner>mfoltz@chromium.org</owner> |
| <summary> |
| Records the total percentage of frames dropped for a given Cast Streaming |
| session. |
| </summary> |
| <token key="CastStreamingSender" variants="CastStreamingSender"/> |
| </histogram> |
| |
| <histogram name="Media.AImageReaderGLOwner.AcquireImageResult" |
| enum="MediaStatus" expires_after="2023-11-12"> |
| <owner>vikassoni@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Error codes to handle AImage and AImageReader api calls. This is recorded |
| when AImageReader acquireNextImage or acquireLatestImage is called and the |
| returned code is other than AMEDIA_OK. This histogram was enabled in the |
| past and became absolete on 2018-11-25. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.AImageReaderGLOwner.HasFence" enum="Boolean" |
| expires_after="2023-10-22"> |
| <owner>vasilyt@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Logs whether AImageReader provided an acquire fence in acquireNextImage or |
| acquireLatestImage. Logged once for each successfuly acquired frame. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.Android.BecomingNoisy" enum="Boolean" |
| expires_after="2023-01-15"> |
| <owner>liberato@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Android-specific metric. Occasionally, we cannot start a foreground service |
| when headphones are unplugged. This tracks how often that occurs, which is |
| one recorded boolean per "user unplugs headphones while media is |
| playing". See https://crbug.com/1245017 for more details. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.Android.GetColorSpaceError" enum="BooleanError" |
| expires_after="2023-06-25"> |
| <owner>vasilyt@chromium.org</owner> |
| <owner>liberato@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Android: Whether we successfuly got ColorSpace from MediaCodec or not. |
| Recorded each time output format changes from MediaCodec. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.Android.MediaPlayerSuccess" enum="MediaPlayerExitStatus" |
| expires_after="2023-11-12"> |
| <owner>tguilbert@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary>Android: Whether MediaPlayer exited without errors.</summary> |
| </histogram> |
| |
| <histogram name="Media.Android.MediaPlayerWatchTime" |
| enum="MediaPlayerWatchTimeType" expires_after="2024-04-25"> |
| <owner>sandersd@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Wall time of MediaPlayer playbacks. Each count represents one second of |
| media playback. Multiple MediaPlayer instances can together accumulate watch |
| time faster than real time. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.Audible.CloseNewestToExitConcurrentPlayback" |
| enum="ExitConcurrentPlaybackContents" expires_after="2023-09-15"> |
| <owner>evliu@google.com</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Records when an audible tab is closed and we now only have one audible tab |
| open. Warning: this histogram was expired from 2019-05-30 to 4-18-22; data |
| may be missing. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.Audible.ConcurrentTabsTime" units="ms" |
| expires_after="2023-09-15"> |
| <owner>evliu@google.com</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Records how long more than one tab is audible at the same time. The |
| concurrent tabs might change during this period. The time recorded starts |
| when the browser goes from one to two audbile tabs and stops when it is back |
| below two. Warning: this histogram was expired from 2020-09-05 to 4-18-22; |
| data may be missing. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.Audible.ConcurrentTabsWhenStarting" units="units" |
| expires_after="2023-09-15"> |
| <owner>evliu@google.com</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Records how many tabs were audible when a new tab started to be audible. |
| Warning: this histogram was expired from 2020-09-05 to 4-18-22; data may be |
| missing. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.Audible.MaxConcurrentTabsInSession" units="units" |
| expires_after="2023-09-15"> |
| <owner>evliu@google.com</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Records how many tabs are audible at the same time during the session. It is |
| recording the maximum audible tab count everytime it increases. In other |
| words, a session with N concurrent audible tabs will record entries from 1 |
| through N exactly once. Warning: this histogram was expired from 2020-09-05 |
| to 4-18-22; data may be missing. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.Audio.Autoplay" enum="AutoplaySource" |
| expires_after="2023-09-15"> |
| <owner>dalecurtis@chromium.org</owner> |
| <owner>evliu@google.com</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary>Records the autoplay source of audios.</summary> |
| </histogram> |
| |
| <histogram name="Media.Audio.Capture.DetectedMissingCallbacks" |
| enum="BooleanMissingCallbacks" expires_after="2023-11-12"> |
| <owner>guidou@chromium.org</owner> |
| <owner>olka@chromium.org</owner> |
| <owner>webrtc-audio-uma@google.com</owner> |
| <summary> |
| Whether missing callbacks where detected during audio capture. Logged when |
| AudioInputDevice is stopped. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.Audio.Capture.FramesProvided" units="frames" |
| expires_after="2023-10-08"> |
| <owner>guidou@chromium.org</owner> |
| <owner>olka@chromium.org</owner> |
| <owner>webrtc-audio-uma@google.com</owner> |
| <summary> |
| The number of captured audio frames that is provided by the operating system |
| in each callback. Typically, Chrome will want to use a 10 ms buffer (e.g. |
| 480 frames for a sample rate of 48 kHz), but the OS may decide to capture |
| e.g. 256 frames of audio at a time. If the desired frame size is used, the |
| emitted value is special-cased to be 0. This histogram then shows how |
| frequent it is that the desired number of frames is used and if not, the |
| number of frames used in practice. The number of frames per callback is |
| normally constant or very rarely changed throughout the lifetime of the |
| audio stream. The first value that differs from the desired value is stored |
| and logged when an audio input stream is closed. Any further differences |
| during the lifetime will be ignored. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.Audio.Capture.InputStreamDuration" units="ms" |
| expires_after="2024-05-03"> |
| <owner>olka@chromium.org</owner> |
| <owner>saza@chromium.org</owner> |
| <owner>webrtc-audio-uma@google.com</owner> |
| <summary> |
| This histogram measures the duration of every input stream, as seen from the |
| renderer. It counts from when it has been successfully started, until it is |
| stopped. Streams that fail to start are not logged. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.Audio.Capture.LowLatencyCallbackError" |
| enum="BooleanError" expires_after="2023-11-05"> |
| <owner>guidou@chromium.org</owner> |
| <owner>olka@chromium.org</owner> |
| <owner>webrtc-audio-uma@google.com</owner> |
| <summary> |
| A boolean that reflects whether or not an error was reported during audio |
| capture for a low latency stream. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Media.Audio.Capture.Mac.MicSystemPermission.FixedTime.SinceFirstFailure" |
| units="ms" expires_after="2023-11-12"> |
| <owner>toprice@chromium.org</owner> |
| <owner>video-cmi-apis@google.com</owner> |
| <owner>webrtc-audio-uma@google.com</owner> |
| <summary> |
| The time from the first microphone access failure due to blocked system |
| permission before the last browser restart to startup after browser restart. |
| Logged once at browser startup if the system permission then is allowed. |
| Warning: this histogram was expired from 2020-03-01 to 2022-03-09; data may |
| be missing. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Media.Audio.Capture.Mac.MicSystemPermission.FixedTime.SinceLastFailure" |
| units="ms" expires_after="2023-11-12"> |
| <owner>toprice@chromium.org</owner> |
| <owner>video-cmi-apis@google.com</owner> |
| <owner>webrtc-audio-uma@google.com</owner> |
| <summary> |
| The time from the last microphone access failure due to blocked system |
| permission before the last browser restart to startup after browser restart. |
| Logged once at browser startup if the system permission then is allowed. |
| Warning: this histogram was expired from 2020-03-01 to 2022-03-09; data may |
| be missing. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.Audio.Capture.Mac.MicSystemPermission.Startup" |
| enum="SystemMediaCapturePermission" expires_after="2023-11-12"> |
| <owner>toprice@chromium.org</owner> |
| <owner>video-cmi-apis@google.com</owner> |
| <owner>webrtc-audio-uma@google.com</owner> |
| <summary> |
| The Mac system permission state for microphone. Logged once at browser |
| startup. For more information on the values, see |
| https://developer.apple.com/documentation/avfoundation/avauthorizationstatus. |
| Warning: this histogram was expired from 2020-03-01 to 2022-03-09; data may |
| be missing. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Media.Audio.Capture.Mac.MicSystemPermission.StartupAfterFailure" |
| enum="SystemMediaCapturePermission" expires_after="2023-11-12"> |
| <owner>toprice@chromium.org</owner> |
| <owner>video-cmi-apis@google.com</owner> |
| <owner>webrtc-audio-uma@google.com</owner> |
| <summary> |
| The Mac system permission state for microphone. Logged once at browser |
| startup if there was a failure accessing the microphone due to blocked |
| system permission before the last browser restart. For more information on |
| the values, see |
| https://developer.apple.com/documentation/avfoundation/avauthorizationstatus. |
| Warning: this histogram was expired from 2020-03-01 to 2022-03-09; data may |
| be missing. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.Audio.Capture.Mac.MicSystemPermission.UserMedia" |
| enum="SystemMediaCapturePermission" expires_after="2023-11-12"> |
| <owner>toprice@chromium.org</owner> |
| <owner>video-cmi-apis@google.com</owner> |
| <owner>webrtc-audio-uma@google.com</owner> |
| <summary> |
| The Mac system permission state for microphone at the time of a user media |
| request. Logged when the system permission is checked. If the permission is |
| "not determined" this is logged, permission is requested, and the |
| resulting permission (from the user response) is also logged. For more |
| information on the values, see |
| https://developer.apple.com/documentation/avfoundation/avauthorizationstatus. |
| Warning: this histogram was expired from 2020-03-01 to 2022-03-09; data may |
| be missing. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.Audio.Capture.ProcessingAudioFifo.MaxUsage" |
| units="buffers" expires_after="2023-10-08"> |
| <owner>tguilbert@chromium.org</owner> |
| <owner>olka@chromium.org</owner> |
| <owner>webrtc-audio-uma@google.com</owner> |
| <summary> |
| Maximum size (in buffers) of the unprocessed data queue, reached over a |
| sampling interval (1000 callbacks). Not logged for streams received less |
| than 1000 callbacks. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.Audio.Capture.ProcessingAudioFifo.Overruns" |
| units="count" expires_after="2023-08-08"> |
| <owner>tguilbert@chromium.org</owner> |
| <owner>olka@chromium.org</owner> |
| <owner>webrtc-audio-uma@google.com</owner> |
| <summary> |
| Number of times over a sampling interval (1000 callbacks) a |
| ProcessingAudioFifo has overflowed and dropped buffers. Capped at 100 (1/10 |
| of all callbacks). Not logged for streams received less than 1000 callbacks. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.Audio.Capture.StreamCallbackError2" |
| enum="AudioCaptureDeviceError" expires_after="never"> |
| <!-- expires-never: Audio pipeline health metric. --> |
| |
| <owner>guidou@chromium.org</owner> |
| <owner>olka@chromium.org</owner> |
| <owner>webrtc-audio-uma@google.com</owner> |
| <summary> |
| When AudioInputDevice is stopped, this stat is recorded with whether an |
| error callback was ever received over IPC, and in that case whether the |
| error occurred during or after stream creation. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.Audio.Capture.Win.AbsTimestampDiffMs" units="ms" |
| expires_after="2024-05-25"> |
| <owner>henrika@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <owner>webrtc-audio-uma@google.com</owner> |
| <summary> |
| The absolute time difference in milliseconds between a default QPC-based |
| timstamp and a timestamp from TimeTicks::Now(). By default, the difference |
| will be small and correspond to the size of the audio capture buffer which |
| is about 10 milliseconds. It can however be very large on some devices, e.g. |
| when using RDP. If the diffeence is larger than 500 milliseconds, so-called |
| fake audio capture timestamps (based on TimeTicks::Now()) will be utilized. |
| This value is logged once per audio input stream session at the first audio |
| callback. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.Audio.Capture.Win.FakeTimestamps" enum="Boolean" |
| expires_after="2024-05-25"> |
| <owner>henrika@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <owner>webrtc-audio-uma@google.com</owner> |
| <summary> |
| Logs whether audio capture timestamps on Windows are fake or not. By default |
| QPC-based timestamps provided by native audio APIs are utilized. In some |
| cases the QPC-based timestamps differ a lot compared with TimeTicks::Now() |
| timestamps and this can lead to issues (see http://crbug.com/1439283). If an |
| absolute difference larger than 500 msec between these two types of |
| timestamps is detected, we fall back to using TimeTicks::Now() and these |
| timestams are called fake timestamps. We expect that usage of fake |
| timestamps will be low. This value is logged once per audio input stream |
| session at the first audio callback. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.Audio.Capture.Win.Glitches2" units="glitches" |
| expires_after="2023-11-05"> |
| <owner>olka@chromium.org</owner> |
| <owner>henrika@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <owner>webrtc-audio-uma@google.com</owner> |
| <summary> |
| The number of glitches that were detected at the OS level while an audio |
| input stream was active. A glitch in this case corresponds to a certain |
| error code from the IAudioCaptureClient::GetBuffer() API: |
| AUDCLNT_BUFFERFLAGS_DATA_DISCONTINUITY. This value is logged every 1000 OS |
| callbacks on Windows. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.Audio.Capture.Win.InitError" enum="Hresult" |
| expires_after="2023-11-12"> |
| <owner>olka@chromium.org</owner> |
| <owner>tommi@chromium.org</owner> |
| <owner>guidou@chromium.org</owner> |
| <owner>webrtc-audio-uma@google.com</owner> |
| <summary> |
| Error codes from IAudioClient::Initialize() in |
| WASAPIAudioInputStream::InitializeAudioEngine on Windows. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.Audio.Capture.Win.InitError.FormatRelated" |
| enum="AudioStreamFormatRelatedInitError" expires_after="2023-10-14"> |
| <owner>fhernqvist@google.com</owner> |
| <owner>olka@chromium.org</owner> |
| <owner>webrtc-audio-uma@google.com</owner> |
| <summary> |
| Errors from IAudioClient::Initialize() in |
| WASAPIAudioInputStream::InitializeAudioEngine on Windows that are related to |
| the audio format. Each error is split by whether format conversion was used |
| or not. Warning: this histogram was expired from 2022-10-17 to 2022-10-18; |
| data may be missing. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.Audio.Capture.Win.Open" enum="AudioStreamOpenResult" |
| expires_after="2023-11-05"> |
| <owner>gudiou@chromium.org</owner> |
| <owner>olka@chromium.org</owner> |
| <owner>webrtc-audio-uma@google.com</owner> |
| <summary> |
| Success/error cases for opening an audio input stream on Windows. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.Audio.CoreAudioDispatchOverrideInitResult" |
| enum="CoreAudioDispatchOverrideInitResult" expires_after="2023-10-01"> |
| <owner>fhernqvist@google.com</owner> |
| <owner>olka@chromium.org</owner> |
| <owner>webrtc-audio-uma@google.com</owner> |
| <summary> |
| Tracks support and initialization success/failure of the CoreAudio dispatch |
| override hotfix. Logged during initialization of AudioManagerMac. The fix is |
| not supported on macOS earlier than version 10.10. Warning: this histogram |
| was expired from 2022-10-01 to 2022-12-08; data may be missing. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.Audio.CoreAudioDispatchOverrideLookupEvent" |
| enum="CoreAudioDispatchOverrideLookupEvent" expires_after="2023-10-14"> |
| <owner>fhernqvist@google.com</owner> |
| <owner>olka@chromium.org</owner> |
| <owner>webrtc-audio-uma@google.com</owner> |
| <summary> |
| Logged whenever the CoreAudio dispatch override hotfix needs to look up the |
| calling function using dladdr(). Once ResumeIO and PauseIO have been |
| identified, no more lookups should be performed during the session. Warning: |
| this histogram was expired from 2022-10-09 to 2022-10-18; data may be |
| missing. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.Audio.CrasInputStreamNotifyStreamError" |
| units="errorcode" expires_after="2023-10-08"> |
| <owner>peah@chromium.org</owner> |
| <owner>hychao@chromium.org</owner> |
| <owner>olka@chromium.org</owner> |
| <owner>webrtc-audio-uma@google.com</owner> |
| <summary> |
| Error codes reported by the NotifyStreamError function in CrasInputStream. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.Audio.CrasInputStreamOpenSuccess" |
| enum="CrasInputStreamOpenSuccess" expires_after="2023-10-08"> |
| <owner>peah@chromium.org</owner> |
| <owner>hychao@chromium.org</owner> |
| <owner>olka@chromium.org</owner> |
| <owner>webrtc-audio-uma@google.com</owner> |
| <summary> |
| Logged at each call to CrasInputStream::Open to indicate any errors. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.Audio.CrasInputStreamStartSuccess" |
| enum="CrasInputStreamStartSuccess" expires_after="2023-10-08"> |
| <owner>peah@chromium.org</owner> |
| <owner>hychao@chromium.org</owner> |
| <owner>olka@chromium.org</owner> |
| <owner>webrtc-audio-uma@google.com</owner> |
| <summary> |
| Logged at each call to CrasInputStream::Start to indicate any errors. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.Audio.CrasUnifiedStreamNotifyStreamError" |
| units="errorcode" expires_after="2023-10-01"> |
| <owner>peah@chromium.org</owner> |
| <owner>hychao@chromium.org</owner> |
| <owner>olka@chromium.org</owner> |
| <owner>webrtc-audio-uma@google.com</owner> |
| <summary> |
| Error codes reported by the NotifyStreamError function in CrasUnifiedStream. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.Audio.CrasUnifiedStreamOpenSuccess" |
| enum="CrasUnifiedStreamOpenSuccess" expires_after="2023-10-01"> |
| <owner>peah@chromium.org</owner> |
| <owner>hychao@chromium.org</owner> |
| <owner>olka@chromium.org</owner> |
| <owner>webrtc-audio-uma@google.com</owner> |
| <summary> |
| Logged at each call to CrasUnifiedStream::Open to indicate any errors. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.Audio.CrasUnifiedStreamStartSuccess" |
| enum="CrasUnifiedStreamStartSuccess" expires_after="2023-10-01"> |
| <owner>peah@chromium.org</owner> |
| <owner>hychao@chromium.org</owner> |
| <owner>olka@chromium.org</owner> |
| <owner>webrtc-audio-uma@google.com</owner> |
| <summary> |
| Logged at each call to CrasUnifiedStream::Start to indicate any errors. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.Audio.InputStartupSuccessMac" enum="BooleanSuccess" |
| expires_after="2023-10-01"> |
| <owner>henrika@chromium.org</owner> |
| <owner>webrtc-audio-uma@google.com</owner> |
| <summary> |
| Indicates if audio capturing did start after stream startup was requested. |
| Sampled once, a few seconds after a stream has been asked to start. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.Audio.InputVolumeStartsAtZeroWin" |
| enum="BooleanVolumeZero" expires_after="2023-10-15"> |
| <owner>henrika@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <owner>webrtc-audio-uma@google.com</owner> |
| <summary> |
| Indicates if the volume level of the audio session is set to zero when the |
| input audio session starts. Sampled once when the stream starts but only on |
| Windows platforms. See http://crbug.com/1014443. Warning: this histogram was |
| expired from 2022-10-09 to 2022-12-07; data may be missing. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.Audio.Mac.AggregateDeviceCompositionPropertyIsNull" |
| enum="Boolean" expires_after="2024-03-31"> |
| <owner>agpalak@chromium.org</owner> |
| <owner>dalecurtis@chromium.org</owner> |
| <owner>webrtc-audio-uma@google.com</owner> |
| <summary> |
| Reports the number of occurences of null output dictionary when |
| AudioObjectGetPropertyData for kAudioAggregateDevicePropertyComposition is |
| called. This is equivalent to the number of crashes that were reported in |
| crbug.com/1428619. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.Audio.Output.Win.{AudioOutputMethod}Error" |
| enum="Hresult" expires_after="M117"> |
| <owner>dalecurtis@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <owner>webrtc-audio-uma@google.com</owner> |
| <summary> |
| Errors from various methods on WASAPIAudioOutputStream. Recorded upon a |
| failure being returned from a call into WASAPI. |
| </summary> |
| <token key="AudioOutputMethod"> |
| <variant name="Open"/> |
| <variant name="Render"/> |
| <variant name="Run"/> |
| <variant name="Start"/> |
| <variant name="Stop"/> |
| </token> |
| </histogram> |
| |
| <histogram name="Media.Audio.OutputDeviceAuthorizationTime" units="ms" |
| expires_after="2023-11-12"> |
| <owner>guidou@chromium.org</owner> |
| <owner>olka@chromium.org</owner> |
| <owner>webrtc-audio-uma@google.com</owner> |
| <summary> |
| Time delta between the moment output device authorization request is |
| received by the browser and the moment its processessing is finished (and |
| reply is to be sent back to the renderer if IPC is not closed yet). |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.Audio.OutputDeviceListener.Duration{Device}" units="ms" |
| expires_after="2023-10-05"> |
| <owner>olka@chromium.org</owner> |
| <owner>tguilbert@chromium.org</owner> |
| <owner>webrtc-audio-uma@google.com</owner> |
| <summary> |
| Duration of the interval when a listener listens to a specific output |
| device. Recorded when a listener chooses to listen to another output device, |
| or stops listening altogether. |
| </summary> |
| <token key="Device"> |
| <variant name=".Default" summary="Default device"/> |
| <variant name=".NonDefault" summary="Non-default device"/> |
| </token> |
| </histogram> |
| |
| <histogram name="Media.Audio.OutputDeviceMixer.MaxListenerCount{Device}" |
| units="listeners" expires_after="2023-10-05"> |
| <owner>olka@chromium.org</owner> |
| <owner>tguilbert@chromium.org</owner> |
| <owner>webrtc-audio-uma@google.com</owner> |
| <summary> |
| Maximum number of listeners receiving the reference output signal during |
| mixed playback. Recoreded when mixing stops (i.e. when all reference signal |
| listeners are gone.) |
| </summary> |
| <token key="Device"> |
| <variant name="" summary="All"/> |
| <variant name=".Default" summary="Default device mixer"/> |
| <variant name=".NonDefault" summary="Non-default device mixer"/> |
| </token> |
| </histogram> |
| |
| <histogram name="Media.Audio.OutputDeviceMixer.MaxMixedStreamCount{Device}" |
| units="streams" expires_after="2023-10-05"> |
| <owner>olka@chromium.org</owner> |
| <owner>tguilbert@chromium.org</owner> |
| <owner>webrtc-audio-uma@google.com</owner> |
| <summary> |
| Maximum number of output streams mixed simlutaniously by OutputDeviceMixer. |
| Recoreded when mixing stops (when all reference signal listeners are gone). |
| </summary> |
| <token key="Device"> |
| <variant name="" summary="All"/> |
| <variant name=".Default" summary="Default device mixer"/> |
| <variant name=".NonDefault" summary="Non-default device mixer"/> |
| </token> |
| </histogram> |
| |
| <histogram name="Media.Audio.OutputDeviceMixer.MixedPlaybackStatus" |
| enum="AudioOutputDeviceMixerMixedPlaybackStatus" expires_after="2023-10-22"> |
| <owner>olka@chromium.org</owner> |
| <owner>tguilbert@chromium.org</owner> |
| <owner>webrtc-audio-uma@google.com</owner> |
| <summary> |
| Health status of the mixed playback. Recorded when mixed playback stopped or |
| failed to start. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.Audio.OutputDeviceMixer.MixingDuration{Device}" |
| units="ms" expires_after="2023-10-05"> |
| <owner>olka@chromium.org</owner> |
| <owner>tguilbert@chromium.org</owner> |
| <owner>webrtc-audio-uma@google.com</owner> |
| <summary> |
| Duration of the interval between the moment OutputDeviceMixer started mixed |
| playback (referece playback signal is requested by at least one listener and |
| there is at least one stream managed by the mixer playing) and the moment |
| OutputDeviceMixer stopped mixed playback (there are no more listeners). It |
| may include intervals recorded by |
| Media.Audio.OutputDeviceMixer.NoopMixingDuration histogram. |
| </summary> |
| <token key="Device"> |
| <variant name="" summary="All"/> |
| <variant name=".Default" summary="Default device mixer"/> |
| <variant name=".NonDefault" summary="Non-default device mixer"/> |
| </token> |
| </histogram> |
| |
| <histogram name="Media.Audio.OutputDeviceMixer.NoopMixingDuration" units="ms" |
| expires_after="2023-10-05"> |
| <owner>olka@chromium.org</owner> |
| <owner>tguilbert@chromium.org</owner> |
| <owner>webrtc-audio-uma@google.com</owner> |
| <summary> |
| Duration of the interval when there are no output streams to mix but there |
| are reference signal listeners present, so OutputDeviceMixer renders silence |
| and feeds it to the listeners as well. Recorded when an output stream starts |
| playing (and thus playback is not empty any more) or when all listeners are |
| gone (and thus mixing stops). There may be multiple such intervals during an |
| interval recorded by Media.Audio.OutputDeviceMixer.MixingDuration. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.Audio.OutputDeviceMixer.OvertimeCount" units="count" |
| expires_after="2024-05-03"> |
| <owner>olka@chromium.org</owner> |
| <owner>saza@chromium.org</owner> |
| <owner>tguilbert@chromium.org</owner> |
| <owner>webrtc-audio-uma@google.com</owner> |
| <summary> |
| Number of times over a sampling interval (1000 callbacks) when the mixing |
| callback took longer than the playback buffer duration to finish. Capped at |
| 100 (1/10 of all callbacks). Not logged if the mixer was called less than |
| 1000 times. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Media.Audio.OutputDeviceMixer.StreamDuration.{MixingStatus}.{LatencyTag}" |
| units="ms" expires_after="2023-10-05"> |
| <owner>olka@chromium.org</owner> |
| <owner>tguilbert@chromium.org</owner> |
| <owner>webrtc-audio-uma@google.com</owner> |
| <summary> |
| Duration of the interval when an output stream managed by OutputDeviceMixer |
| is playing independently (Unmixed) or as a part of the mix (Mixed). Measured |
| between the moment the stream starts playing or its playback mode |
| (Mixed/Unmixed) changes, and the moment the stream stops playing or its |
| playback mode changes. |
| </summary> |
| <token key="MixingStatus"> |
| <variant name="Mixed" summary="Stream is played as a part of the mix"/> |
| <variant name="Unmixed" summary="Stream is played independently"/> |
| </token> |
| <token key="LatencyTag"> |
| <variant name="LatencyExactMs"/> |
| <variant name="LatencyInteractive"/> |
| <variant name="LatencyPlayback"/> |
| <variant name="LatencyRtc"/> |
| <variant name="LatencyUnknown"/> |
| </token> |
| </histogram> |
| |
| <histogram name="Media.Audio.OutputDeviceMixer.StreamStatus" |
| enum="AudioOutputDeviceMixerStreamStatus" expires_after="2023-10-05"> |
| <owner>olka@chromium.org</owner> |
| <owner>tguilbert@chromium.org</owner> |
| <owner>webrtc-audio-uma@google.com</owner> |
| <summary> |
| Health status of each output stream managed by mixer. Recorded when the |
| stream is closed. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.Audio.OutputDeviceMixerManager.StreamCreation" |
| enum="AudioOutputDeviceMixerManagerStreamCreation" |
| expires_after="2023-10-05"> |
| <owner>olka@chromium.org</owner> |
| <owner>tguilbert@chromium.org</owner> |
| <owner>webrtc-audio-uma@google.com</owner> |
| <summary> |
| A path OutputDeviceMixerManager uses to create an output stream. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.Audio.Processing.CaptureDelayMs" units="ms" |
| expires_after="2024-05-03"> |
| <owner>saza@google.com</owner> |
| <owner>olka@chromium.org</owner> |
| <owner>webrtc-audio-uma@google.com</owner> |
| <summary> |
| The time, in milliseconds, between when a block of audio is read from the |
| soundcard and when it's presented to the audio processor. Used in |
| calculating the total system delay for the audio processor. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.Audio.Processing.CaptureDelayVarianceMs" |
| units="ms squared" expires_after="2024-05-03"> |
| <owner>saza@chromium.org</owner> |
| <owner>olka@chromium.org</owner> |
| <owner>webrtc-audio-uma@google.com</owner> |
| <summary> |
| The variance of the capture delay in milliseconds (see |
| Media.Audio.Processing.CaptureDelayMs). Logged once every second and |
| calculated over the past second of data. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.Audio.Processing.RenderDelayMs" units="ms" |
| expires_after="2024-05-03"> |
| <owner>saza@chromium.org</owner> |
| <owner>olka@chromium.org</owner> |
| <owner>webrtc-audio-uma@google.com</owner> |
| <summary> |
| The time, in milliseconds, between when a block of audio is presented to the |
| audio processor and the time it's played out on the soundcard. Used in |
| calculating the total system delay for the audio processor. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.Audio.Processing.RenderDelayVarianceMs" |
| units="ms squared" expires_after="2024-05-03"> |
| <owner>saza@chromium.org</owner> |
| <owner>olka@chromium.org</owner> |
| <owner>webrtc-audio-uma@google.com</owner> |
| <summary> |
| The variance of the render delay in milliseconds (see |
| Media.Audio.Processing.RenderDelayMs). Logged once every second and |
| calculated over the past second of data. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.Audio.Processing.TotalDelayMs" units="ms" |
| expires_after="2024-05-03"> |
| <owner>saza@chromium.org</owner> |
| <owner>olka@chromium.org</owner> |
| <owner>webrtc-audio-uma@google.com</owner> |
| <summary> |
| The estimated total audio system delay presented to the audio processor. The |
| sum of the individual capture and render delays at similar points in time. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.Audio.Processing.TotalDelayVarianceMs" |
| units="ms squared" expires_after="2024-05-03"> |
| <owner>saza@chromium.org</owner> |
| <owner>olka@chromium.org</owner> |
| <owner>webrtc-audio-uma@google.com</owner> |
| <summary> |
| The variance of the total delay in milliseconds (see |
| Media.Audio.Processing.TotalDelayMs). Logged once every second and |
| calculated over the past second of data. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.Audio.RawProcessingSupportedWin" enum="BooleanSupported" |
| expires_after="2024-02-12"> |
| <owner>henrika@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <owner>webrtc-audio-uma@google.com</owner> |
| <summary> |
| Whether the capture device supports raw audio capture or not. Emitted when |
| the audio input stream is closed but only on Windows platforms. Only |
| uploaded for the case when analog AGC is enabled, i.e., for WebRTC-based |
| audio input streams. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.Audio.Render.FramesRequested" units="frames" |
| expires_after="2023-10-01"> |
| <owner>guidou@chromium.org</owner> |
| <owner>olka@chromium.org</owner> |
| <owner>webrtc-audio-uma@google.com</owner> |
| <summary> |
| The number of frames audio is actually rendered at if the number is |
| different from the desired number of frames. If the desired frame size is |
| used, this value will be 0. Typically, Chrome will want to use a 10ms buffer |
| (e.g. 480 frames for a sample rate of 48kHz), but we might have to render |
| audio 256 frames at a time. This histogram gives us an indication as to how |
| frequent that is and what buffer sizes are used in practice. This value is |
| logged when an audio output stream is stopped. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.Audio.Render.GetSourceDataTime.WebRTC" |
| units="microseconds" expires_after="2023-10-01"> |
| <owner>guidou@chromium.org</owner> |
| <owner>olka@chromium.org</owner> |
| <owner>webrtc-audio-uma@google.com</owner> |
| <summary> |
| The time spent to get audio data from the source. For WebRTC, it's the time |
| spent in WebRtcAudioRenderer::SourceCallback. Logged every function call, |
| which is every 10 ms. |
| |
| Warning: This metric may include reports from clients with low-resolution |
| clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports |
| will cause this metric to have an abnormal distribution. When considering |
| revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the |
| solution. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.Audio.Render.GetSourceDataTimeMax.WebRTC" |
| units="microseconds" expires_after="2023-11-12"> |
| <owner>guidou@chromium.org</owner> |
| <owner>olka@chromium.org</owner> |
| <owner>webrtc-audio-uma@google.com</owner> |
| <summary> |
| The maximum time spent to get audio data from the source during a session. |
| For WebRTC, it's the time spent in WebRtcAudioRenderer::SourceCallback. A |
| session is between Start() and Stop() of WebRtcAudioRenderer. |
| |
| Warning: This metric may include reports from clients with low-resolution |
| clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports |
| will cause this metric to have an abnormal distribution. When considering |
| revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the |
| solution. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.Audio.Render.OutputDeviceAuthorizationTime" units="ms" |
| expires_after="2023-08-08"> |
| <owner>olka@chromium.org</owner> |
| <owner>henrika@chromium.org</owner> |
| <owner>webrtc-audio-uma@google.com</owner> |
| <summary> |
| Similar to Media.Audio.OutputDeviceAuthorizationTime, this histogram |
| measures the time required for device authorization, but it is measured on |
| the renderer side when AudioOutputDevice calls RequestDeviceAuthorization on |
| the IO thread until it receives OnDeviceAuthorized, also on the IO thread. |
| Note that an authorization timeout will cause OnDeviceAuthorized to be |
| called, so for platforms that use a timeout, very few times will be above |
| the timeout value. Warning: this histogram was expired from 2020-04-05 to |
| 2021-06-04; data may be missing. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.Audio.Render.OutputDeviceAuthorizationTimedOut" |
| enum="BooleanTimedOut" expires_after="2023-10-22"> |
| <owner>guidou@chromium.org</owner> |
| <owner>olka@chromium.org</owner> |
| <owner>webrtc-audio-uma@google.com</owner> |
| <summary> |
| Whether audio output device timed out waiting for authorization reply from |
| the browser side. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.Audio.Render.OutputDeviceStartTime2" units="ms" |
| expires_after="2023-10-22"> |
| <owner>dalecurtis@chromium.org</owner> |
| <owner>olka@chromium.org</owner> |
| <owner>tguilbert@chromium.org</owner> |
| <owner>webrtc-audio-uma@google.com</owner> |
| <summary> |
| The time delta from an AudioOutputDevice sending its first PlayStream |
| message to it getting its first data callback. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.Audio.Render.OutputDeviceStatus" |
| enum="OutputDeviceStatus" expires_after="2023-11-05"> |
| <owner>dalecurtis@chromium.org</owner> |
| <owner>guidou@chromium.org</owner> |
| <owner>olka@chromium.org</owner> |
| <owner>webrtc-audio-uma@google.com</owner> |
| <summary> |
| Device status received in response to device authorization request. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.Audio.Render.OutputStreamDuration2" units="ms" |
| expires_after="2023-10-08"> |
| <owner>olka@chromium.org</owner> |
| <owner>tguilbert@chromium.org</owner> |
| <owner>webrtc-audio-uma@google.com</owner> |
| <summary> |
| This histogram measures the duration of every output stream, as seen from |
| the renderer. It counts from when it has been successfully started, until it |
| is stopped. Streams that fail to start are not logged. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Media.Audio.Render.SinkCache.GetOutputDeviceInfoCacheUtilization" |
| enum="GetOutputDeviceInfoCacheHit" expires_after="2023-10-01"> |
| <owner>guidou@chromium.org</owner> |
| <owner>olka@chromium.org</owner> |
| <summary> |
| Whether a cached sink was used to get audio output device information, or a |
| new sink was created for that. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.Audio.Render.StreamCallbackError2" |
| enum="AudioRenderDeviceError" expires_after="never"> |
| <!-- expires-never: Audio pipeline health metric. --> |
| |
| <owner>dalecurtis@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <owner>webrtc-audio-uma@google.com</owner> |
| <summary> |
| When AudioOutputDevice is stopped, this stat is recorded with whether an |
| error callback was ever received over IPC, and in that case whether the |
| error occurred during or after stream creation. Expired in Apr 2020 and |
| re-enabled in May 2021. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.Audio.TabAudioMuted" enum="Boolean" |
| expires_after="2023-11-12"> |
| <owner>evliu@google.com</owner> |
| <owner>chrome-media-ux@google.com</owner> |
| <summary> |
| Logged when a user clicks on the audio indicator button in the tab strip. |
| Logs true if the click mutes the tab and false if the click unmutes the tab. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.Audio.TrackAudioRenderer.DeviceStatus" |
| enum="OutputDeviceStatus" expires_after="never"> |
| <!-- expires-never: used for audio output devices monitoring. --> |
| |
| <!-- https://crbug.com/986492 --> |
| |
| <owner>olka@chromium.org</owner> |
| <owner>fhernqvist@google.com</owner> |
| <owner>webrtc-audio-uma@google.com</owner> |
| <summary> |
| Device status received during TrackAudioRenderer initialization. This is a |
| specific case of Media.Audio.Render.OutputDeviceStatus histogram. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.Audio.TrackAudioRenderer.SwitchDeviceStatus" |
| enum="OutputDeviceStatus" expires_after="never"> |
| <!-- expires-never: used for audio output devices monitoring. --> |
| |
| <!-- https://crbug.com/986492 --> |
| |
| <owner>olka@chromium.org</owner> |
| <owner>fhernqvist@chromium.org</owner> |
| <owner>webrtc-audio-uma@google.com</owner> |
| <summary> |
| Device status received by TrackAudioRenderer when switching the output |
| device. This is a specific case of Media.Audio.Render.OutputDeviceStatus |
| histogram. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.Audio.WebRTCAudioRenderer.DeviceStatus" |
| enum="OutputDeviceStatus" expires_after="never"> |
| <!-- expires-never: used for WebRTC audio output devices monitoring. --> |
| |
| <!-- https://crbug.com/986501 --> |
| |
| <owner>olka@chromium.org</owner> |
| <owner>fhrenqvist@chromium.org</owner> |
| <owner>webrtc-audio-uma@google.com</owner> |
| <summary> |
| Device status received during WebRTCAudioRenderer initialization. This is a |
| specific case of Media.Audio.Render.OutputDeviceStatus histogram. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.Audio.WebRTCAudioRenderer.SwitchDeviceStatus" |
| enum="OutputDeviceStatus" expires_after="never"> |
| <!-- expires-never: used for WebRTC audio output devices monitoring. --> |
| |
| <!-- https://crbug.com/986501 --> |
| |
| <owner>olka@chromium.org</owner> |
| <owner>fhernqvist@chromium.org</owner> |
| <owner>webrtc-audio-uma@google.com</owner> |
| <summary> |
| Device status received by WebRTCAudioRenderer when switching the output |
| device. This is a specific case of Media.Audio.Render.OutputDeviceStatus |
| histogram. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.Audio.{Type}.EarlyGlitchDetected" enum="BooleanDetected" |
| expires_after="2024-05-03"> |
| <owner>olka@chromium.org</owner> |
| <owner>saza@chromium.org</owner> |
| <owner>webrtc-audio-uma@google.com</owner> |
| <summary> |
| Whether a glitch in the capture/render audio at the OS level was detected |
| during the first 1000 OS callbacks of an active input/output stream. A |
| glitch is detected if the OS skips providing/requesting any frames of audio, |
| and is recorded when the stream ends, as long as the stream saw at least one |
| OS callback. Reported on Windows and Mac. |
| </summary> |
| <token key="Type"> |
| <variant name="Capture"/> |
| <variant name="Render"/> |
| </token> |
| </histogram> |
| |
| <histogram name="Media.Audio.{Type}.Glitches2" units="glitches" |
| expires_after="2024-05-03"> |
| <owner>olka@chromium.org</owner> |
| <owner>saza@chromium.org</owner> |
| <owner>webrtc-audio-uma@google.com</owner> |
| <summary> |
| The number of glitches that were detected at the OS level while an audio |
| input (Capture) or output (Render) stream was active. A glitch is detected |
| if the OS skips providing/requesting any frames of audio. This value is |
| aggregated over a period of 1000 OS callbacks (every 10 seconds for buffer |
| size 10 ms) and is logged at the end of each collection interval. Not |
| recorded for streams shorter than 1000 callbacks. Reported on Windows and |
| Mac. |
| </summary> |
| <token key="Type"> |
| <variant name="Capture"/> |
| <variant name="Render"/> |
| </token> |
| </histogram> |
| |
| <histogram name="Media.Audio.{Type}.LargestGlitchMs2" units="ms" |
| expires_after="2024-05-03"> |
| <owner>olka@chromium.org</owner> |
| <owner>saza@chromium.org</owner> |
| <owner>webrtc-audio-uma@google.com</owner> |
| <summary> |
| The length in milliseconds of the largest glitch that was detected at the OS |
| level by an audio input (Capture) or output (Render) stream. This value is |
| aggregated over a period of 1000 OS callbacks (every 10 seconds for buffer |
| size 10 ms) and is logged at the end of each collection interval if any |
| glitches were detected. Not recorded for streams shorter than 1000 |
| callbacks. Reported on Windows and Mac. |
| </summary> |
| <token key="Type"> |
| <variant name="Capture"/> |
| <variant name="Render"/> |
| </token> |
| </histogram> |
| |
| <histogram name="Media.Audio.{Type}.LostFramesInMs2" units="ms" |
| expires_after="2024-05-03"> |
| <owner>olka@chromium.org</owner> |
| <owner>saza@chromium.org</owner> |
| <owner>webrtc-audio-uma@google.com</owner> |
| <summary> |
| The combined length in milliseconds of input (Capture) or output (Render) |
| audio glitches detected at the OS level. This is useful to know in |
| particular for audio processing such as echo cancellation. This value is |
| aggregated over a period of 1000 OS callbacks (every 10 seconds for buffer |
| size 10 ms) and is logged at the end of each collection interval if any |
| glitches were detected. Not recorded for streams shorter than 1000 |
| callbacks. Reported on Windows and Mac. |
| </summary> |
| <token key="Type"> |
| <variant name="Capture"/> |
| <variant name="Render"/> |
| </token> |
| </histogram> |
| |
| <histogram name="Media.AudioBitsPerChannel" units="units" expires_after="M85"> |
| <owner>dalecurtis@chromium.org</owner> |
| <summary>Bits per channel of HTML5 audio sample data.</summary> |
| </histogram> |
| |
| <histogram name="Media.AudioCapturerAudioGlitches" enum="AudioGlitchResult" |
| expires_after="2023-10-15"> |
| <owner>olka@chromium.org</owner> |
| <owner>gustaf@chromium.org</owner> |
| <owner>webrtc-audio-uma@google.com</owner> |
| <summary> |
| Whether there is input audio glitches due to dropped input audio data or |
| not. Sampled when a low-latency input audio stream is destructed. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.AudioCapturerDroppedData10sIntervals" units="drops" |
| expires_after="2023-10-05"> |
| <owner>fhernqvist@google.com</owner> |
| <owner>olka@chromium.org</owner> |
| <owner>webrtc-audio-uma@google.com</owner> |
| <summary> |
| The number of input audio data blocks that were dropped at the |
| browser/renderer boundary due to for example buffer overflow in the writer |
| side buffer or in the socket. This value is aggregated over a period of 1000 |
| input data pushes (every 10 seconds for buffer size 10 ms) and is logged at |
| the end of each collection interval. Not recorded for streams with less than |
| 1000 input data pushes. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.AudioCapturerDroppedData2.{Duration}" units="permille" |
| expires_after="2023-10-05"> |
| <obsolete> |
| Deprecated in favor of Media.AudioCapturerDroppedData10sIntervals and |
| Media.AudioCapturerDroppedDataBelow10s. Data is no longer collected. |
| </obsolete> |
| <owner>olka@chromium.org</owner> |
| <owner>gustaf@chromium.org</owner> |
| <owner>webrtc-audio-uma@google.com</owner> |
| <summary> |
| The proportion of input audio data that was dropped at the browser/renderer |
| boundary due to for example buffer overflow in the writer side buffer or in |
| the socket. Reported at the destruction of low-latency audio input stream. |
| Rounded up, cropped to 1/10 of all callbacks. |
| </summary> |
| <token key="Duration"> |
| <variant name="Long" summary="Streams equal or longer than 3000 callbacks"/> |
| <variant name="Short" summary="Streams shorter than 3000 callbacks"/> |
| </token> |
| </histogram> |
| |
| <histogram name="Media.AudioCapturerDroppedDataBelow10s" units="drops" |
| expires_after="2023-10-05"> |
| <owner>fhernqvist@google.com</owner> |
| <owner>olka@chromium.org</owner> |
| <owner>webrtc-audio-uma@google.com</owner> |
| <summary> |
| The number of input audio data blocks that were dropped at the |
| browser/renderer boundary due to for example buffer overflow in the writer |
| side buffer or in the socket. This value is only logged for streams with |
| less than 1000 input data pushes (10 seconds for buffer size 10 ms). |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.AudioCapturerMissedReadDeadline10sIntervals" |
| units="misses" expires_after="2023-10-05"> |
| <owner>fhernqvist@google.com</owner> |
| <owner>olka@chromium.org</owner> |
| <owner>webrtc-audio-uma@google.com</owner> |
| <summary> |
| The number of times input audio data blocks that had to be buffered because |
| there was not room in the shared memory ring buffer on the browser/renderer |
| boundary. This happens if the reading side hasn't read data in time. This |
| value is aggregated over a period of 1000 input data pushes (every 10 |
| seconds for buffer size 10 ms) and is logged at the end of each collection |
| interval. Not recorded for streams with less than 1000 input data pushes. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.AudioCapturerMissedReadDeadline2.{Duration}" |
| units="permille" expires_after="2023-10-05"> |
| <obsolete> |
| Deprecated in favor of Media.AudioCapturerMissedReadDeadline10sIntervals and |
| Media.AudioCapturerMissedReadDeadlineBelow10s. Data is no longer collected. |
| </obsolete> |
| <owner>olka@chromium.org</owner> |
| <owner>gustaf@chromium.org</owner> |
| <owner>webrtc-audio-uma@google.com</owner> |
| <summary> |
| The proportion of input audio data blocks that had to be buffered because |
| there was not room in the shared memory ring buffer on the browser/renderer |
| boundary. This happens if the reading side hasn't read data in time. |
| Reported at the destruction of low-latency audio input stream. Rounded up, |
| cropped to 1/10 of all callbacks. |
| </summary> |
| <token key="Duration"> |
| <variant name="Long" summary="Streams equal or longer than 3000 callbacks"/> |
| <variant name="Short" summary="Streams shorter than 3000 callbacks"/> |
| </token> |
| </histogram> |
| |
| <histogram name="Media.AudioCapturerMissedReadDeadlineBelow10s" units="misses" |
| expires_after="2023-10-05"> |
| <owner>fhernqvist@google.com</owner> |
| <owner>olka@chromium.org</owner> |
| <owner>webrtc-audio-uma@google.com</owner> |
| <summary> |
| The number of times input audio data blocks that had to be buffered because |
| there was not room in the shared memory ring buffer on the browser/renderer |
| boundary. This happens if the reading side hasn't read data in time. This |
| value is only logged for streams with less than 1000 input data pushes (10 |
| seconds for buffer size 10 ms). |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.AudioCodec" enum="AudioCodec" expires_after="never"> |
| <!-- expires-never: Codec support planning metric. --> |
| |
| <owner>dalecurtis@chromium.org</owner> |
| <summary>Audio codec used in HTML5 media.</summary> |
| </histogram> |
| |
| <histogram name="Media.AudioCodecProfile.AAC" enum="AudioCodecProfile" |
| expires_after="2023-09-24"> |
| <owner>dalecurtis@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary>Audio codec profile used in HTML5 media for AAC playback.</summary> |
| </histogram> |
| |
| <histogram name="Media.AudioInputController" units="ms" expires_after="never"> |
| <!-- expires-never: Audio pipeline health metric. --> |
| |
| <owner>dalecurtis@chromium.org</owner> |
| <owner>olka@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <owner>webrtc-audio-uma@google.com</owner> |
| <summary>Measures the time taken for AudioInputController::</summary> |
| </histogram> |
| |
| <histogram name="Media.AudioInputDevice.AudioServiceDelay" units="ms" |
| expires_after="2023-11-19"> |
| <owner>fhernqvist@google.com</owner> |
| <owner>olka@chromium.org</owner> |
| <owner>webrtc-audio-uma@google.com</owner> |
| <summary> |
| The audio capture delay in the Audio Service, including the IPC and the OS. |
| Logged at every CaptureCallback::Capture() call at AudioInputDevice level. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.AudioInputDevice.AudioServiceDelayDifference{Duration}" |
| units="ms" expires_after="2023-08-01"> |
| <owner>fhernqvist@google.com</owner> |
| <owner>olka@chromium.org</owner> |
| <owner>webrtc-audio-uma@google.com</owner> |
| <summary> |
| The difference between the largest and the lowest audio capture delay |
| observed during the sample interval. This stat considers the audio capture |
| delay in the Audio Service, including the IPC and the OS. Logged at the end |
| of each 1000-callback interval for Intervals. Logged at the end of the |
| stream for Short. |
| </summary> |
| <token key="Duration" variants="AudioAggregationDuration"/> |
| </histogram> |
| |
| <histogram name="Media.AudioInputDevice.AudioServiceGlitchCount{Duration}" |
| units="glitches" expires_after="2024-02-01"> |
| <owner>fhernqvist@google.com</owner> |
| <owner>olka@chromium.org</owner> |
| <owner>webrtc-audio-uma@google.com</owner> |
| <summary> |
| The number of events causing audio capture glitches in the Audio Service, |
| including the IPC and the OS. A glitch is when capture data is dropped due |
| to a buffer overflow. Logged at the end of each 1000-callback interval for |
| Intervals. Logged at the end of the stream for Short. |
| </summary> |
| <token key="Duration" variants="AudioAggregationDuration"/> |
| </histogram> |
| |
| <histogram name="Media.AudioInputDevice.AudioServiceGlitchDuration{Duration}" |
| units="permille" expires_after="2024-02-01"> |
| <owner>fhernqvist@google.com</owner> |
| <owner>olka@chromium.org</owner> |
| <owner>webrtc-audio-uma@google.com</owner> |
| <summary> |
| The proportion of the audio capture interval that was dropped due to buffer |
| overflows in the Audio Service, including the IPC and the OS. Logged at the |
| end of each 1000-callback interval for Intervals. Logged at the end of the |
| stream for Short. |
| </summary> |
| <token key="Duration" variants="AudioAggregationDuration"/> |
| </histogram> |
| |
| <histogram name="Media.AudioOutputController.CallbackError" enum="BooleanError" |
| expires_after="2023-10-22"> |
| <owner>olka@chromium.org</owner> |
| <owner>guidou@chromium.org</owner> |
| <owner>webrtc-audio-uma@google.com</owner> |
| <summary> |
| A boolean that reflects whether or not an error was reported during audio |
| rendering, reported after a stream has stopped, if it was started. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.AudioOutputController.LifeTime" units="ms" |
| expires_after="never"> |
| <!-- expires-never: used for audio output controller monitoring. --> |
| |
| <!-- https://crbug.com/1036864 --> |
| |
| <owner>olka@chromium.org</owner> |
| <owner>guidou@chromium.org</owner> |
| <owner>webrtc-audio-uma@google.com</owner> |
| <summary> |
| Time interval from the output stream controller construction to its |
| destruction. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.AudioOutputController.ProxyStreamCreationResult" |
| enum="AudioOutputStreamCreationResult" expires_after="2023-10-22"> |
| <owner>guidou@chromium.org</owner> |
| <owner>olka@chromium.org</owner> |
| <owner>webrtc-audio-uma@google.com</owner> |
| <summary> |
| Whether an AudioOutputController succeeded in creating and opening an output |
| stream proxy after receiving a default device change event. Note: in |
| September 2021 this histogram unintentionally swapped its meaning with |
| Media.AudioOutputController.ProxyStreamCreationResultForDeviceChange. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Media.AudioOutputController.ProxyStreamCreationResultForDeviceChange" |
| enum="AudioOutputStreamCreationResult" expires_after="2023-10-22"> |
| <owner>guidou@chromium.org</owner> |
| <owner>olka@chromium.org</owner> |
| <owner>webrtc-audio-uma@google.com</owner> |
| <summary> |
| Whether an AudioOutputController succeeded in creating and opening an output |
| stream proxy. Only logged for the initial creation, subsequent re-creations |
| due to device change events are logged in the |
| Media.AudioOutputController.ProxyStreamCreationResult histogram. Note: in |
| September 2021 this histogram unintentionally swapped its meaning with |
| Media.AudioOutputController.ProxyStreamCreationResult. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.AudioOutputControllerDataNotReady" units="ms" |
| expires_after="never"> |
| <!-- expires-never: Audio pipeline health metric. --> |
| |
| <owner>dalecurtis@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <owner>webrtc-audio-uma@google.com</owner> |
| <summary> |
| Time spent waiting in AudioOutputController::WaitTillDataReady() if the data |
| was not initially available. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.AudioOutputControllerPlaybackStartupSuccess" |
| enum="BooleanSuccess" expires_after="never"> |
| <!-- expires-never: Audio pipeline health metric. --> |
| |
| <owner>dalecurtis@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <owner>webrtc-audio-uma@google.com</owner> |
| <summary> |
| Whether playback started successfully after stream startup was requested. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Media.AudioOutputDevice.AudioServiceDelayDifference{Duration}{LatencyTag}" |
| units="ms" expires_after="2023-08-01"> |
| <owner>fhernqvist@google.com</owner> |
| <owner>olka@chromium.org</owner> |
| <owner>dalecurtis@chromium.org</owner> |
| <owner>tguilbert@chromium.org</owner> |
| <owner>webrtc-audio-uma@google.com</owner> |
| <summary> |
| The difference between the largest and the lowest audio playout delay |
| observed during the sample interval. This stat considers the audio playout |
| delay in the Audio Service, including the IPC and the OS. Logged at the end |
| of each 1000-callback interval for Intervals. Logged at the end of the |
| stream for Short. |
| </summary> |
| <token key="Duration" variants="AudioAggregationDuration"/> |
| <token key="LatencyTag" variants="AudioLatencyTag"/> |
| </histogram> |
| |
| <histogram name="Media.AudioOutputDevice.AudioServiceDelay{LatencyTag}" |
| units="ms" expires_after="2024-02-01"> |
| <owner>fhernqvist@google.com</owner> |
| <owner>olka@chromium.org</owner> |
| <owner>dalecurtis@chromium.org</owner> |
| <owner>tguilbert@chromium.org</owner> |
| <owner>webrtc-audio-uma@google.com</owner> |
| <summary> |
| The audio playout delay in the Audio Service, including the IPC and the OS. |
| Logged at every RenderCallback::Render() call at AudioPlayoutDevice level. |
| </summary> |
| <token key="LatencyTag" variants="AudioLatencyTag"/> |
| </histogram> |
| |
| <histogram |
| name="Media.AudioOutputDevice.AudioServiceGlitchCount{Duration}{LatencyTag}" |
| units="glitches" expires_after="2024-02-01"> |
| <owner>fhernqvist@google.com</owner> |
| <owner>olka@chromium.org</owner> |
| <owner>dalecurtis@chromium.org</owner> |
| <owner>tguilbert@chromium.org</owner> |
| <owner>webrtc-audio-uma@google.com</owner> |
| <summary> |
| The number of events causing audio playout glitches in the Audio Service, |
| including the IPC and the OS. A glitch is an inserted silence due to an |
| underrun. Logged at the end of each 1000-callback interval for Intervals. |
| Logged at the end of the stream for Short. |
| </summary> |
| <token key="Duration" variants="AudioAggregationDuration"/> |
| <token key="LatencyTag" variants="AudioLatencyTag"/> |
| </histogram> |
| |
| <histogram |
| name="Media.AudioOutputDevice.AudioServiceGlitchDuration{Duration}{LatencyTag}" |
| units="permille" expires_after="2024-02-01"> |
| <owner>fhernqvist@google.com</owner> |
| <owner>olka@chromium.org</owner> |
| <owner>dalecurtis@chromium.org</owner> |
| <owner>tguilbert@chromium.org</owner> |
| <owner>webrtc-audio-uma@google.com</owner> |
| <summary> |
| The proportion of the audio playout interval that was silent due to |
| underruns in the Audio Service, including the IPC and the OS. Logged at the |
| end of each 1000-callback interval for Intervals. Logged at the end of the |
| stream for Short. |
| </summary> |
| <token key="Duration" variants="AudioAggregationDuration"/> |
| <token key="LatencyTag" variants="AudioLatencyTag"/> |
| </histogram> |
| |
| <histogram name="Media.AudioOutputResampler.OpenLowLatencyStream" |
| enum="AudioOutputResamplerLowLatencyOpenStreamResult" |
| expires_after="2023-10-22"> |
| <owner>olka@chromium.org</owner> |
| <owner>armax@chromium.org</owner> |
| <owner>guidou@chromium.org</owner> |
| <owner>webrtc-audio-uma@google.com</owner> |
| <summary> |
| Whether a low latency stream to be rendered through the resampler was opened |
| successfully or which type of fallback stream was used instead. In case a |
| fake fallback stream is used it means audio rendered through the resampler |
| will be muted. In case fallback fails entirely, renderer callback error will |
| be signalled. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.AudioOutputStreamProxy.StreamFormat" |
| enum="AudioOutputProxyStreamFormat" expires_after="2023-10-01"> |
| <owner>olka@chromium.org</owner> |
| <owner>tguilbert@chromium.org</owner> |
| <owner>webrtc-audio-uma@google.com</owner> |
| <summary> |
| Records format used by AudioManager to create audio output stream proxy. If |
| a fake stream is created it results in muted audio playback. Warning: this |
| histogram was expired from 2021-01-01 to 2022-01-21; data may be missing. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.AudioRendererAudioGlitches" enum="AudioGlitchResult" |
| expires_after="2023-04-16"> |
| <obsolete> |
| Deprecated in favor of Media.AudioRendererAudioGlitches2. Data is no longer |
| collected. |
| </obsolete> |
| <owner>henrika@chromium.org</owner> |
| <owner>olka@chromium.org</owner> |
| <owner>webrtc-audio-uma@google.com</owner> |
| <summary> |
| Captures if render-side audio glitches are detected or not. Sampled when a |
| low-latency output audio stream is destructed. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.AudioRendererAudioGlitches2.{LatencyTag}" |
| enum="AudioGlitchResult" expires_after="2024-02-05"> |
| <owner>dalecurtis@chromium.org</owner> |
| <owner>olka@chromium.org</owner> |
| <owner>tguilbert@chromium.org</owner> |
| <owner>fhernqvist@google.com</owner> |
| <owner>webrtc-audio-uma@google.com</owner> |
| <summary> |
| Captures if render-side audio glitches are detected or not. Sampled when a |
| low-latency output audio stream is destructed. |
| </summary> |
| <token key="LatencyTag"> |
| <variant name="" summary="All latencies combined"/> |
| <variant name="LatencyExactMs"/> |
| <variant name="LatencyInteractive"/> |
| <variant name="LatencyPlayback"/> |
| <variant name="LatencyRtc"/> |
| <variant name="LatencyUnknown"/> |
| </token> |
| </histogram> |
| |
| <histogram name="Media.AudioRendererImpl.SinkStatus" enum="OutputDeviceStatus" |
| expires_after="2023-11-02"> |
| <owner>olka@chromium.org</owner> |
| <owner>fhernqvist@google.com</owner> |
| <owner>webrtc-audio-uma@google.com</owner> |
| <summary> |
| Status of audio sink used by AudioRendererImpl. If not OK, a NullAudioSink |
| will be used for audio output instead. This is logged for every call to |
| AudioRendererImpl::Initialize, which generally occurs once per active audio |
| session (i.e., between a play and pause). If audio track changes are ever |
| enabled, it may additionally be called for every audio track change. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Media.AudioRendererMissedDeadline2{Mixing}{Duration}{LatencyTag}" |
| units="permille" expires_after="2023-02-05"> |
| <obsolete> |
| Deprecated in favor of Media.AudioRendererMissedDeadline3. Data is no longer |
| collected. |
| </obsolete> |
| <owner>dalecurtis@chromium.org</owner> |
| <owner>olka@chromium.org</owner> |
| <owner>tguilbert@chromium.org</owner> |
| <owner>webrtc-audio-uma@google.com</owner> |
| <summary> |
| Proportion of SyncReader::Read() calls where the renderer missed its |
| realtime deadline. Rounded up, clipped to 1/10 of the stream callbacks. |
| Sampled when a low-latency output audio stream is destructed. |
| </summary> |
| <token key="Mixing"> |
| <variant name="" summary="Whole stream lifetime"/> |
| <variant name=".Mixing" summary="During mixing"/> |
| </token> |
| <token key="Duration"> |
| <variant name=".Long" |
| summary="Streams equal or longer than 3000 callbacks"/> |
| <variant name=".Short" summary="Streams shorter than 3000 callbacks"/> |
| </token> |
| <token key="LatencyTag"> |
| <variant name="" summary="All latencies combined"/> |
| <variant name=".LatencyExactMs"/> |
| <variant name=".LatencyInteractive"/> |
| <variant name=".LatencyPlayback"/> |
| <variant name=".LatencyRtc"/> |
| <variant name=".LatencyUnknown"/> |
| </token> |
| </histogram> |
| |
| <histogram |
| name="Media.AudioRendererMissedDeadline3{Mixing}{Duration}{LatencyTag}" |
| units="misses" expires_after="2023-10-13"> |
| <owner>fhernqvist@google.com</owner> |
| <owner>olka@chromium.org</owner> |
| <owner>dalecurtis@chromium.org</owner> |
| <owner>tguilbert@chromium.org</owner> |
| <owner>webrtc-audio-uma@google.com</owner> |
| <summary> |
| The number of SyncReader::Read() calls where the renderer missed its |
| realtime deadline. Logged at the end of each 1000-read interval for |
| Intervals. Logged at the end of the stream for Short. |
| </summary> |
| <token key="Mixing"> |
| <variant name="" summary="Whole stream lifetime"/> |
| <variant name=".Mixing" summary="During mixing"/> |
| </token> |
| <token key="Duration"> |
| <variant name=".Intervals" summary="Whole intervals of 1000 reads"/> |
| <variant name=".Short" summary="Streams shorter than 1000 reads"/> |
| </token> |
| <token key="LatencyTag"> |
| <variant name="" summary="All latencies combined"/> |
| <variant name=".LatencyExactMs"/> |
| <variant name=".LatencyInteractive"/> |
| <variant name=".LatencyPlayback"/> |
| <variant name=".LatencyRtc"/> |
| <variant name=".LatencyUnknown"/> |
| </token> |
| </histogram> |
| |
| <histogram name="Media.AudioService.AudioManagerStartupTime" units="ms" |
| expires_after="2023-10-05"> |
| <owner>fhernqvist@google.com</owner> |
| <owner>olka@chromium.org</owner> |
| <owner>webrtc-audio-uma@google.com</owner> |
| <summary> |
| How long it take for the audio manager instance to be created by the audio |
| service, in case the audio service owns the audio manager. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.AudioSystem.GetDeviceDescription.Result" |
| enum="BooleanSuccess" expires_after="2023-11-19"> |
| <owner>toprice@chromium.org</owner> |
| <owner>olka@chromium.org</owner> |
| <summary> |
| Records whether AudioSystemToServiceAdapter::GetDeviceDescriptions calls to |
| the audio service returned successfully, or failed and retured an default |
| empty list due to an audio service crash. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.AudioThreadStatus" enum="AudioThreadStatus" |
| expires_after="never"> |
| <!-- expires-never: Audio pipeline health metric. --> |
| |
| <owner>dalecurtis@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <owner>webrtc-audio-uma@google.com</owner> |
| <summary> |
| State of the audio thread. A value of "started" is emitted once |
| the hang monitor has been initialized. If the thread is detected as hung |
| later, a value of "hung" is emitted. If the hung thread later |
| recovers a value of "recovered" is emitted. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.AVDA.FrameInformation" enum="AVDAFrameInformation" |
| expires_after="2020-09-05"> |
| <owner>liberato@chromium.org</owner> |
| <owner>videostack-eng@chromium.org</owner> |
| <summary> |
| Record a count for each frame sent to the client by AVDA, separated by what |
| type of frame it is: Non Overlay, secure overlay, etc. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.AVDA.FrameSentAsOverlay" enum="BooleanFrameAsOverlay" |
| expires_after="M86"> |
| <owner>liberato@chromium.org</owner> |
| <owner>videostack-eng@chromium.org</owner> |
| <summary> |
| Record a count for each frame sent to the client by AVDA. True counts |
| indicate that the frame was an overlay (SurfaceView). False counts are for |
| Non Overlay frames. This will be deprecated in favor of |
| Media.AVDA.FrameInformation in M63. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.BreakoutBox.Usage" enum="BreakoutBoxUsage" |
| expires_after="2023-10-22"> |
| <owner>guidou@chromium.org</owner> |
| <owner>hta@chromium.org</owner> |
| <owner>tguilbert@chromium.org</owner> |
| <summary> |
| Usage of various BreakoutBox features. Recorded when a stream is created or |
| transferred in MediaStreamTrackProcessor or MediaStreamTrackGenerator. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.Capabilities.DecodingInfo.Time.Video" units="ms" |
| expires_after="never"> |
| <!-- expires-never: performance monitoring. --> |
| |
| <owner>chcunningham@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Time spent between receiving a decodingInfo() call and resolving it. It only |
| record successful calls and ignores audio-only. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.Capabilities.DecodingInfo.Time.Video.Clear" units="ms" |
| expires_after="never"> |
| <!-- expires-never: performance monitoring. --> |
| |
| <owner>chcunningham@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Time spent between receiving a decodingInfo() call and resolving it. It only |
| record successful calls and ignores audio-only. This is a subset of |
| Media.Capabilities.DecodingInfo.RequestTime.Video that only takes into |
| account clear content. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.Capabilities.DecodingInfo.Time.Video.Encrypted" |
| units="ms" expires_after="never"> |
| <!-- expires-never: performance monitoring. --> |
| |
| <owner>chcunningham@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Time spent between receiving a decodingInfo() call and resolving it. It only |
| record successful calls and ignores audio-only. This is a subset of |
| Media.Capabilities.DecodingInfo.RequestTime.Video that only takes into |
| account encrypted content. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.ConditionalFocus.Decision" |
| enum="ConditionalFocusDecision" expires_after="2023-09-17"> |
| <owner>eladalon@chromium.org</owner> |
| <owner>toprice@chromium.org</owner> |
| <summary> |
| Records (1) explicit conditional-focus API invocations, (2) microtask-borne |
| decisions and (3) timer-triggered decisions. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.ConditionalFocus.ExplicitLateCall" units="ms" |
| expires_after="2023-07-18"> |
| <owner>eladalon@chromium.org</owner> |
| <owner>toprice@chromium.org</owner> |
| <summary> |
| Records the delay experienced by late explicit invocations of the focus() |
| API. By "late" we mean those calls which had no effect, on account |
| of arriving after the browser-side timer forced an implicit decision. (Note |
| that post-microtask explicit invocations are not recorded. They're simply an |
| application error.) |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.ConditionalFocus.ExplicitOnTimeCall" units="ms" |
| expires_after="2023-07-18"> |
| <owner>eladalon@chromium.org</owner> |
| <owner>toprice@chromium.org</owner> |
| <summary> |
| Records the delay experienced by on-time explicit invocations of the focus() |
| API. By "on-time" we mean those calls which had an effect, on |
| account of arriving before either the microtask or the browser-side timer |
| forced an implicit decision. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.ConditionalFocus.MicrotaskDelay" units="ms" |
| expires_after="2023-07-18"> |
| <owner>eladalon@chromium.org</owner> |
| <owner>toprice@chromium.org</owner> |
| <summary> |
| Track the delay distribution of invocations of the microtask. Measure this |
| independently of whether an explicit API call was made, and independently of |
| whether the browser-side timer expired. |
| </summary> |
| </histogram> |
| |
| <histogram base="true" name="Media.ConfigChangeDecoderSelectionTime" units="ms" |
| expires_after="2023-01-01"> |
| <obsolete> |
| Removed 02/2023 due to lack of further need for this data. |
| </obsolete> |
| <owner>cassew@google.com</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Duration of decoder selection during config changes, measured from first |
| call to 'DecoderSelector::SelectDecoder' to |
| 'DecoderSelector::FinalizeSelection'. The HW/SW suffix indicates the type of |
| the decoder that was ultimately selected. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.Controls.CTR" enum="MediaControlsCTREvent" |
| expires_after="2023-10-08"> |
| <owner>steimel@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Records events related to click through rate (CTR) calculation. |
| |
| The CTR can be calculated by computing "Interacted" / |
| "Displayed". "Interacted", for buttons, means that they |
| were clicked. For sliders, it will reflect any change in the internal state |
| and includes other events in addition to clicks. "Displayed" means |
| that the control element was meant to be displayed in the controls. It does |
| not mean that the user have seen the element so is not to be confused with |
| visibility. Furthermore, because the controls UI changes while loading, |
| "Displayed" is only computed when metadata are available unless |
| preloading was disabled on the element or the browser. |
| |
| Data is missing from 2020-04-05 to 2021-05-18. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.Controls.PlaybackSpeed" |
| enum="MediaControlsPlaybackSpeed" expires_after="2023-11-12"> |
| <owner>steimel@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Record the playback speed selected by the user in the list of playback |
| speeds on the media controls. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.Controls.Show.Audio" enum="MediaControlsShowReason" |
| expires_after="2023-10-22"> |
| <owner>steimel@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Record whether the default media controls of an audio element were shown and |
| why every time they could be shown. Note that audio elements that were not |
| insterted to the DOM and do not have a controls attribute are not taken into |
| account. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.Controls.Show.Video" enum="MediaControlsShowReason" |
| expires_after="2022-10-30"> |
| <owner>steimel@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Record whether the default media controls of a video element were shown and |
| why every time they could be shown. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.CrosBeamformingDeviceState" |
| enum="CrosBeamformingDeviceState" expires_after="M85"> |
| <owner>dalecurtis@chromium.org</owner> |
| <summary> |
| The state of the user selected virtual beamforming audio device on CrOS. |
| It's logged whenever the format of the audio input stream is queried, which |
| at least happens on stream startup, but could happen at other times as well. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.CrosGlobalMediaControls.PinAction" enum="BooleanPinned" |
| expires_after="2022-04-24"> |
| <owner>jazzhsue@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Record each time user pins/unpins CrOS global media controls. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.CrosGlobalMediaControls.QuickSettingUserAction" |
| enum="MediaSessionAction" expires_after="2022-04-24"> |
| <owner>jazzhsue@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| The action user clicked on the media controls in quick settings. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.CrosGlobalMediaControls.RepeatUsageInQuickSetting" |
| enum="BooleanIsRepeat" expires_after="2022-05-01"> |
| <owner>jazzhsue@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Record each time media controls' sub-menu in quick settings is opened. True |
| if it is a repeat usage. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.CrosGlobalMediaControls.RepeatUsageOnShelf" |
| enum="BooleanIsRepeat" expires_after="2022-04-24"> |
| <owner>jazzhsue@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Record each time global media controls on the shelf is opened. True if it is |
| a repeat usage. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.D3D11.DecoderLifetimeProgression" |
| enum="D3D11LifetimeProgression" expires_after="2022-09-11"> |
| <owner>liberato@chromium.org</owner> |
| <owner>tmathmeyer@chromium.org</owner> |
| <summary> |
| This enum allows us to count D3D11VideoDecoder specific crashes and |
| initialization failures. This is recorded whenever the decoder is |
| initialized or destroyed. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.D3D11.NotifyErrorStatus" enum="MediaStatusCode" |
| expires_after="2022-08-28"> |
| <owner>liberato@chromium.org</owner> |
| <owner>tmathmeyer@chromium.org</owner> |
| <summary> |
| This records the media::StatusCode that was sent to NotifyError. kOk is not |
| recorded here. It is recorded when D3D11VideoDecoder reports an error to the |
| client. For decoder failures, an additional status code may be logged by the |
| accelerator -- see Media.D3D11{H264,VP9}Status for that. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.D3D11.UnusedPictureBufferCount.MultiTexture" |
| units="instances" expires_after="2022-11-01"> |
| <owner>liberato@chromium.org</owner> |
| <owner>tmathmeyer@chromium.org</owner> |
| <summary> |
| This histogram lets us count how many PictureBuffers we've overallocated |
| when we're allocating each texture separately. This case is relatively |
| simple to optimize compared to SingleTexture. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.D3D11.UnusedPictureBufferCount.SingleTexture" |
| units="instances" expires_after="2022-11-01"> |
| <owner>liberato@chromium.org</owner> |
| <owner>tmathmeyer@chromium.org</owner> |
| <summary> |
| This histogram lets us count how many PictureBuffers we've overallocated |
| when we're allocating in contiguous blocks. This case is harder to optimize |
| than the MultiTexture variant, but it is good to know the proportion of the |
| two of them to determine usage. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.DetectedAudioCodecHash" enum="FFmpegCodecHashes" |
| expires_after="never"> |
| <!-- expires-never: Codec support planning metric. --> |
| |
| <owner>dalecurtis@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Audio codec used in HTML5 media. Reporting corrected in M51 to include all |
| detected audio codecs, not just those up to and including the first one |
| supported. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.DetectedAudioCodecHash.Local" enum="FFmpegCodecHashes" |
| expires_after="never"> |
| <!-- expires-never: Codec support planning metric. --> |
| |
| <owner>dalecurtis@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary>Audio codec used in HTML5 media for a local file playback.</summary> |
| </histogram> |
| |
| <histogram name="Media.DetectedContainer" enum="MediaContainers" |
| expires_after="never"> |
| <!-- expires-never: Codec support planning metric. --> |
| |
| <owner>dalecurtis@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Container used for HTML5 media. Views that include pre-M34 data will |
| categorize dash (38) and smooth streaming (39) in the "Other" |
| bucket. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.DetectedContainer.Local" enum="MediaContainers" |
| expires_after="never"> |
| <!-- expires-never: Codec support planning metric. --> |
| |
| <owner>dalecurtis@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary>Container used for HTML5 media for a local file playback.</summary> |
| </histogram> |
| |
| <histogram name="Media.DetectedVideoCodecHash" enum="FFmpegCodecHashes" |
| expires_after="never"> |
| <!-- expires-never: Codec support planning metric. --> |
| |
| <owner>dalecurtis@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Video codec used in HTML5 media. Reporting corrected in M51 to include all |
| detected video codecs, not just those up to and including the first one |
| supported. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.DetectedVideoCodecHash.Local" enum="FFmpegCodecHashes" |
| expires_after="never"> |
| <!-- expires-never: Codec support planning metric. --> |
| |
| <owner>dalecurtis@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary>Video codec used in HTML5 media for a local file playback.</summary> |
| </histogram> |
| |
| <histogram name="Media.DocumentPictureInPicture.CloseReason" |
| enum="DocumentPictureInPictureCloseReason" expires_after="2024-02-01"> |
| <owner>steimel@chromium.org</owner> |
| <owner>liberato@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Records the reason why a document picture-in-picture window is closed (e.g. |
| the user clicking on the Back to Tab button). Recorded on destruction of the |
| picture-in-picture window. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.DroppedFrameCount" units="units" expires_after="never"> |
| <!-- expires-never: Media pipeline health metric. --> |
| |
| <owner>dalecurtis@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Count of dropped frames between pipeline start and stop. Media pipeline |
| starts/stops when an HTML5 video is loaded/unloaded respectively in the |
| browser. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.DroppedFrameCount2.{RendererType}.{ClearOrEncrypted}" |
| units="units" expires_after="2023-09-08"> |
| <owner>dalecurtis@chromium.org</owner> |
| <owner>frankli@microsoft.com</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Monitors the DroppedFrameCount that is originated from a {RendererType} and |
| the video playback is {ClearOrEncrypted}. It is the count of dropped video |
| frames when an HTML5 video is unloaded. |
| </summary> |
| <token key="RendererType" variants="RendererType"/> |
| <token key="ClearOrEncrypted"> |
| <variant name="Clear"/> |
| <variant name="Encrypted"/> |
| </token> |
| </histogram> |
| |
| <histogram name="Media.DXVAVDA.DecoderLifetimeProgression" |
| enum="DXVALifetimeProgression" expires_after="2022-04-24"> |
| <obsolete> |
| Removed 05/2022 due to lack of further need for this data. |
| </obsolete> |
| <owner>liberato@chromium.org</owner> |
| <owner>tmathmeyer@chromium.org</owner> |
| <summary> |
| This enum allows us to count DXVAVideoDecoderWin specific crashes and |
| initialization failures. This is recorded whenever the decoder is |
| initialized or destroyed, or encounters an error. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.DXVAVDA.PictureBufferMechanism" |
| enum="PictureBufferMechanism" expires_after="2020-10-11"> |
| <owner>liberato@chromium.org</owner> |
| <owner>sandersd@chromium.org</owner> |
| <summary> |
| This enum measures how often each of the various DXVAVDA PictureBuffer |
| display mechanisms are used. Each count represents the mechanism selected at |
| the end of DXVA::Initialize; i.e., there is one count per decoder. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.DXVAVDA.UseD3D11" enum="DXVADXVersion" |
| expires_after="2022-07-03"> |
| <owner>liberato@chromium.org</owner> |
| <owner>tmathmeyer@chromium.org</owner> |
| <owner>sandersd@chromium.org</owner> |
| <summary> |
| Records how many times the DXVA VDA successfully initializes a D3D11 device |
| vs. D3D9 device. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.EME.CdmFileIO.FileSizeKBOnError" units="KB" |
| expires_after="2024-04-11"> |
| <owner>xhwang@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Size in KB of the last file successfully read by the CDM through CDM FileIO |
| before a specific error happens. This is reported only when the error |
| happens, which should be rare. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.EME.CdmFileIO.FileSizeKBOnFirstRead" units="KB" |
| expires_after="2024-04-11"> |
| <owner>xhwang@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Size in KB of the first file successfully read by the CDM through CDM |
| FileIO. This is recorded once per CDM instance. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.EME.CdmFileIO.TimeTo.{FileOperation}{IncognitoOrNormal}" |
| units="ms" expires_after="2024-04-11"> |
| <owner>jrummell@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| The actual time spent by the CDM FileIO {FileOperation} operation under |
| {IncognitoOrNormal} mode. Only recorded for successful operations. |
| </summary> |
| <token key="FileOperation" variants="FileOperation"/> |
| <token key="IncognitoOrNormal" variants="IncognitoOrNormal"/> |
| </histogram> |
| |
| <histogram name="Media.EME.CdmFileIO.{FileOperation}{IncognitoOrNormal}" |
| enum="BooleanSuccess" expires_after="2024-04-11"> |
| <owner>jrummell@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Whether a CDM FileIO {FileOperation} operation succeded or not under |
| {IncognitoOrNormal} mode. |
| </summary> |
| <token key="FileOperation" variants="FileOperation"/> |
| <token key="IncognitoOrNormal" variants="IncognitoOrNormal"/> |
| </histogram> |
| |
| <histogram name="Media.EME.CdmFileIO::OpenFile" enum="CdmStorageStatus" |
| expires_after="2024-04-11"> |
| <owner>xhwang@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| The status of file open received by MojoCdmFileIO. This is reported every |
| time the CDM tries to open a file for read or write. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.EME.CdmHostVerificationStatus" |
| enum="CdmHostVerificationStatus" expires_after="2024-04-11"> |
| <owner>xhwang@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| The status of CDM host verification. This is reported per CDM load. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.EME.CdmInterfaceVersion" enum="GenericEnum" |
| expires_after="2024-04-11"> |
| <owner>xhwang@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Chromium could support multiple versions of CDM interface. This metric |
| records the CDM interface version that the CDM created by Chromium uses. |
| This is recorded once per CDM instance. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.EME.CdmLoadErrorCode" enum="WinGetLastError" |
| expires_after="2024-04-11"> |
| <owner>xhwang@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| The error code of a library CDM load failure. Only reported on Windows. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.EME.CdmLoadResult" enum="CdmLoadResult" |
| expires_after="2024-04-11"> |
| <owner>xhwang@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary>The result from an attempt to load a library CDM.</summary> |
| </histogram> |
| |
| <histogram name="Media.EME.CdmLoadTime" units="ms" expires_after="2024-04-11"> |
| <owner>xhwang@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary>The time spent to load a library CDM.</summary> |
| </histogram> |
| |
| <histogram name="Media.EME.CrosCdmType" enum="CrosCdmType" |
| expires_after="2022-01-15"> |
| <owner>jkardatzke@chromium.org</owner> |
| <owner>cros-gfx-video@google.com</owner> |
| <summary> |
| Whether we used the platform CDM on Chrome OS that includes HW secure |
| Widevine support, or fell back to the Chrome SW CDM. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.EME.CrosPlatformCdm.SystemCode" enum="CdmSystemCode" |
| expires_after="2022-01-15"> |
| <owner>jkardatzke@chromium.org</owner> |
| <owner>cros-gfx-video@google.com</owner> |
| <summary>System code in promise rejection for ChromeOS platform CDM.</summary> |
| </histogram> |
| |
| <histogram name="Media.EME.EncryptedEvent" enum="BooleanEncryptedEvent" |
| expires_after="2024-04-11"> |
| <owner>xhwang@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Whether EME encrypted event has been fired. Every time a WebMediaPlayerImpl |
| object is created a "false" value is reported to provide a |
| baseline. Every time an encrypted event is fired, a "true" value |
| will be reported. Note that it is possible to have multiple encrypted events |
| during the lifetime of a WebMediaPlayerImpl object. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.EME.EncryptedMediaEnabled" enum="BooleanEnabled" |
| expires_after="2024-04-11"> |
| <owner>xhwang@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Whether encrypted media is enabled when requestMediaKeySystemAccess() is |
| called. User can enable and disable encrypted media in content settings. |
| Recorded when requestMediaKeySystemAccess() is called but will be reported |
| at most once per renderer process. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.EME.EncryptionScheme.Initial.Audio" |
| enum="MediaEncryptionScheme" expires_after="2024-04-11"> |
| <owner>jrummell@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| The encryption scheme used by the audio stream in an HTML5 video. Reported |
| when metadata is available if the initial config is encrypted. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.EME.EncryptionScheme.Initial.Video" |
| enum="MediaEncryptionScheme" expires_after="2024-04-11"> |
| <owner>jrummell@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| The encryption scheme used by the video stream in an HTML5 video. Reported |
| when metadata is available if the initial config is encrypted. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.EME.IsIncognito" enum="BooleanIncognito" |
| expires_after="2024-04-11"> |
| <owner>xhwang@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Whether a given WebMediaPlayer instance, with a CDM attached, is played in |
| an incognito window or in Chrome OS guest mode. Players that never started |
| playback are excluded. Recorded once at time of player destruction. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.EME.MediaCryptoAvailable" enum="BooleanAvailable" |
| expires_after="2024-04-11"> |
| <owner>xhwang@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Whether MediaCrypto is available on a MediaDrm-based CDM. Reported once per |
| MediaDrmBridge creation. In normal cases it should always be available. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.EME.MediaDrm.GetOriginIdResult" enum="GetOriginIdResult" |
| expires_after="2024-04-11"> |
| <owner>jrummell@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| The status of every attempt to obtain a pre-provisioned origin ID to be used |
| by MediaDrm. This will only be reported for applications that use |
| MediaDrmOriginIdManager. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Media.EME.MediaDrm.PreprovisionedOriginId.NonPerAppProvisioningDevice" |
| units="units" expires_after="2024-04-11"> |
| <owner>jrummell@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| The number of pre-provisioned origin IDs available shortly after startup on |
| devices that do not support per-application provisioning. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Media.EME.MediaDrm.PreprovisionedOriginId.PerAppProvisioningDevice" |
| units="units" expires_after="2024-04-11"> |
| <owner>jrummell@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| The number of pre-provisioned origin IDs available shortly after startup on |
| devices that support per-application provisioning. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.EME.MediaDrmBridge.KeySystemSupport" |
| enum="BooleanSupported" expires_after="2024-04-11"> |
| <owner>xhwang@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Whether MediaDrmBridge supports the key system. Reported once per |
| MediaDrmBridge creation. In normal cases it should always be supported. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.EME.MediaFoundationCdm.ActivateCdmFactory" |
| enum="Hresult" expires_after="2024-04-11"> |
| <owner>sangbaekpark@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| HRESULT of MediaFoundationCdmModule::ActivateCdmFactory(). This is only |
| reported when ActivateCdmFactory() fails. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.EME.MediaFoundationCdm.LoadErrorCode" |
| enum="WinGetLastError" expires_after="2024-04-11"> |
| <owner>sangbaekpark@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| The error code of a library CDM load failure. Only reported on Windows. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.EME.MediaFoundationCdm.LoadResult" enum="CdmLoadResult" |
| expires_after="2024-04-11"> |
| <owner>sangbaekpark@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| The result from an attempt to load a library MediaFoundation CDM. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.EME.MediaFoundationCdm.LoadTime" units="ms" |
| expires_after="2024-04-11"> |
| <owner>sangbaekpark@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary>The time spent to load a library MediaFoundation CDM.</summary> |
| </histogram> |
| |
| <histogram |
| name="Media.EME.MediaFoundationCdm.Widevine.HardwareSecure.FirstInitialize" |
| enum="Hresult" expires_after="2024-04-11"> |
| <owner>xhwang@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| HRESULT of the first (and only the first) MediaFoundationCdm initialization |
| in a MeidaFoundationService process when using Widevine in hardware secure |
| mode. Reported on both successes and failures. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Media.EME.MediaFoundationCdm.Widevine.HardwareSecure.Initialize" |
| enum="Hresult" expires_after="2024-04-11"> |
| <owner>xhwang@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| HRESULT of MediaFoundationCdm initialization when using Widevine in hardware |
| secure mode. Only reported on failures. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.EME.MediaFoundationCdm.Widevine.HardwareSecure.{EmeApi}" |
| enum="Hresult" expires_after="2024-04-11"> |
| <owner>xhwang@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| HRESULT of MediaFoundationCdm and MediaFoundationCdmSession operations when |
| using Widevine in hardware secure mode. |
| </summary> |
| <token key="EmeApi" variants="EmeApi"/> |
| </histogram> |
| |
| <histogram name="Media.EME.MediaFoundationService.Crash2" |
| enum="BooleanAfterPowerOrDisplayChange" expires_after="2024-04-11"> |
| <owner>xhwang@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Whether a MediaFoundationService process crash is within 5 seconds after |
| power or display change. Reported when the MediaFoundationService process |
| crashes. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Media.EME.MediaFoundationService.ErrorAfterPowerOrDisplayChange2" |
| enum="Hresult" expires_after="2024-04-11"> |
| <owner>xhwang@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| HRESULTs associated with errors happened in the MediaFoundationService |
| process within 5 seconds after power or display change. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Media.EME.MediaFoundationService.ErrorNotAfterPowerOrDisplayChange2" |
| enum="Hresult" expires_after="2024-04-11"> |
| <owner>xhwang@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| HRESULTs associated with errors happened in the MediaFoundationService |
| process NOT within 2 seconds after power or display change. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.EME.MediaFoundationService.HardwareContextReset" |
| enum="BooleanAfterPowerOrDisplayChange" expires_after="2024-04-11"> |
| <owner>xhwang@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Whether a HardwareContextReset event happened in the MediaFoundationService |
| process within 5 seconds after power or display change. Reported whenever |
| such an event happens. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.EME.MediaFoundationService.IsKeySystemSupported" |
| units="ms" expires_after="2024-04-11"> |
| <owner>xhwang@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Time for MediaFoundationService.IsKeySystemSupported() to finish. Reported |
| once per browser session lifetime. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Media.EME.MediaFoundationService.Widevine.HardwareSecure.IsTypeSupported" |
| units="ms" expires_after="2024-04-11"> |
| <owner>xhwang@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Time for IMFContentDecryptionModuleFactory::IsTypeSupported() to finish in |
| MediaFoundationService when using Widevine in hardware secure mode, which |
| are called by MediaFoundationService.IsKeySystemSupported() (called once per |
| browser session lifetime). IsKeySystemSupported() calls IsTypeSupported() |
| multiple times, for different audio/video codecs and encryption schemes. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.EME.MediaLicenseDatabaseCreateDirectoryError" |
| enum="PlatformFileError" expires_after="2024-04-11"> |
| <owner>vpasupathy@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Platform File specific errors reported while attempting to open the Media |
| License Database. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.EME.MediaLicenseDatabaseOpenQuotaError" |
| enum="QuotaError" expires_after="2024-04-11"> |
| <owner>vpasupathy@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Quota errors reported while attempting to unsuccessfully open the Media |
| License Database. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.EME.MediaLicenseDatabaseOpenSQLiteError" |
| enum="SqliteLoggedResultCode" expires_after="2024-04-11"> |
| <owner>vpasupathy@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| SQLite specific errors reported while attempting to unsuccessfully open the |
| Media License Database. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.EME.MediaLicenseDatabaseSQLiteError" |
| enum="SqliteLoggedResultCode" expires_after="2024-04-11"> |
| <owner>vpasupathy@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| SQLite specific errors reported while opening and using the Media License |
| Database. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.EME.MediaLicenseStorageHostOpenError" |
| enum="MediaLicenseStorageHostOpenError" expires_after="2024-04-11"> |
| <obsolete> |
| Deprecated in favor for Media.EME.MediaLicenseStorageHostOpenError.Incognito |
| and Media.EME.MediaLicenseStorageHostOpenError.NotIncognito in 2/2023. |
| </obsolete> |
| <owner>vpasupathy@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| General errors reported while attempting to open the MediaLicenseDatabase. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.EME.MediaLicenseStorageHostOpenError.Incognito" |
| enum="MediaLicenseStorageHostOpenError" expires_after="2024-04-11"> |
| <owner>vpasupathy@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| General errors reported while attempting to open the MediaLicenseDatabase. |
| This UMA further breaks down the UMA above by only reporting errors if the |
| media license storage host error occurs during an incognito process. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.EME.MediaLicenseStorageHostOpenError.NotIncognito" |
| enum="MediaLicenseStorageHostOpenError" expires_after="2024-04-11"> |
| <owner>vpasupathy@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| General errors reported while attempting to open the MediaLicenseDatabase. |
| This UMA further breaks down the UMA above by only reporting errors if the |
| media license storage host error occurs during a non incognito process. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.EME.MojoCdm.ConnectionError" |
| enum="BooleanConnectionError" expires_after="2024-04-11"> |
| <owner>xhwang@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Whether connection error has happened for MojoCdm. Every time a MojoCdm |
| object is created a "false" value is reported to provide a |
| baseline. Every time a mojo connection error happened, a "true" |
| value will be reported, which typically means a remote CDM process crash. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.EME.OutputProtection" enum="MediaOutputProtectionStatus" |
| expires_after="2024-04-11"> |
| <owner>xhwang@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Output protection query status and result. One query and one positive (no |
| unprotected external links) result (if any) are reported per CDM instance. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.EME.OutputProtection.PlatformCdm" |
| enum="MediaOutputProtectionStatus" expires_after="2022-01-15"> |
| <owner>jkardatzke@chromium.org</owner> |
| <owner>cros-gfx-video@google.com</owner> |
| <summary> |
| Output protection query status and result. One query and one positive (no |
| unprotected external links) result (if any) are reported per CDM instance. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.EME.RequestMediaKeySystemAccess.{KeySystem}" |
| enum="RequestMediaKeySystemAccessStatus" expires_after="2024-04-11"> |
| <owner>xhwang@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| {KeySystem} support query status and result, as reported by |
| RequestMediaKeySystemAccess. Each value will be reported at most once per |
| renderer process. |
| </summary> |
| <token key="KeySystem" variants="KeySystem"/> |
| </histogram> |
| |
| <histogram name="Media.EME.UrlProvisionFetcher.ResponseCode" |
| enum="CombinedHttpResponseAndNetErrorCode" expires_after="2024-04-11"> |
| <owner>jrummell@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| The net error or HTTP response code of provisioning requests made by |
| UrlProvisionFetcher on Android and Cast devices. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.EME.Widevine.HardwareSecure.CdmInfoStatus" |
| enum="CdmInfoStatus" expires_after="2024-04-11"> |
| <owner>xhwang@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| The CdmInfo::Status of Widevine hardware secure CDM capability. Reported at |
| most once per browser session when EME query is triggered by a website. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Media.EME.Widevine.HardwareSecure.ClearLeadSupport.{VideoCodec}" |
| enum="BooleanSupported" expires_after="2024-04-11"> |
| <owner>vpasupathy@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Record for whether clear lead content is supported by the platform for |
| hardware security. This is reported only on Windows devices, only when codec |
| is supported for hardware security, per codec, and once per browser session |
| lifetime. |
| </summary> |
| <token key="VideoCodec" variants="VideoCodec"/> |
| </histogram> |
| |
| <histogram name="Media.EME.Widevine.HardwareSecure.Pref" enum="BooleanEnabled" |
| expires_after="2024-04-11"> |
| <owner>xhwang@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Whether Media Foundation Widevine CDM is enabled or disabled based on |
| previous disabled timestamps in "Local State" pref. This is |
| reported once per browsing session around browser startup time if Media |
| Foundation Widevine CDM is enabled and available. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.EME.Widevine.HardwareSecure.Support" |
| enum="BooleanSupported" expires_after="2024-04-11"> |
| <owner>xhwang@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| When hardware secure decryption is enabled, whether Widevine hardware secure |
| decryption is actually supported by the platform (device). Reported at most |
| once per browser session when EME query is triggered by a website, and when |
| Widevine hardware secure CDM was registered. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.EME.Widevine.HardwareSecure.Support.{VideoCodec}" |
| enum="BooleanSupported" expires_after="2024-04-11"> |
| <owner>xhwang@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| When hardware secure decryption is enabled and supported by Widevine, |
| whether {VideoCodec} video codec is supported by the platform (device). |
| Reported at most once per browser session when EME query is triggered by a |
| website, and when Widevine hardware secure CDM was registered. |
| </summary> |
| <token key="VideoCodec" variants="VideoCodec"/> |
| </histogram> |
| |
| <histogram name="Media.EME.Widevine.SoftwareSecure.SystemCode" |
| enum="CdmSystemCode" expires_after="2024-04-11"> |
| <owner>xhwang@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| System code in promise rejection when using Widevine key system in software |
| secure mode. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.EME.Widevine.VideoCapability.HasEmptyRobustness" |
| enum="BooleanEmpty" expires_after="2024-04-11"> |
| <owner>xhwang@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Whether the robustness level of any video capability in the supported |
| configuration passed into requestMediaKeySystemAccess() is empty. This is |
| specific to the Widevine key system. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.EME.{KeySystem}.CreateCdm" enum="BooleanSuccess" |
| expires_after="2024-04-11"> |
| <owner>xhwang@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Whether the CDM instance is created successfully for {KeySystem}. Reported |
| each time a CDM instance creation is attempted, usually as a result of |
| Javascript call of createMediaKeys(). |
| </summary> |
| <token key="KeySystem" variants="KeySystemWithRobustness"/> |
| </histogram> |
| |
| <histogram name="Media.EME.{KeySystem}.CreateCdmTime" units="ms" |
| expires_after="2024-04-11"> |
| <owner>xhwang@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary>Time took to create the CDM instance for {KeySystem}.</summary> |
| <token key="KeySystem" variants="KeySystemWithRobustness"/> |
| </histogram> |
| |
| <histogram name="Media.EME.{KeySystem}.CreateSession.SessionType" |
| enum="EmeSessionType" expires_after="2024-04-11"> |
| <owner>xhwang@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary>EME session type passed into CreateSession.</summary> |
| <token key="KeySystem" variants="KeySystemWithRobustness"/> |
| </histogram> |
| |
| <histogram name="Media.EME.{KeySystem}.GenerateRequest.MojoCdmTimeout" |
| enum="CallbackTimeoutStatus" expires_after="2024-04-11"> |
| <owner>xhwang@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| The timeout status of MojoCdm::CreateSessionAndGenerateRequest() call. |
| </summary> |
| <token key="KeySystem" variants="KeySystemWithRobustness"/> |
| </histogram> |
| |
| <histogram name="Media.EME.{KeySystem}.InitialKeyStatusMix" |
| enum="CdmKeyStatusMix" expires_after="2024-04-11"> |
| <owner>xhwang@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Reports a summary of key statuses associated with an EME CDM session. |
| Reported once per EME CDM session on the first key statuses update. |
| </summary> |
| <token key="KeySystem" variants="KeySystemWithRobustness"/> |
| </histogram> |
| |
| <histogram name="Media.EME.{KeySystem}.KeyStatusSystemCode" |
| enum="CdmSystemCode" expires_after="2024-04-11"> |
| <owner>xhwang@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary>System code associated with key status for {KeySystem}.</summary> |
| <token key="KeySystem" variants="KeySystemWithRobustness"/> |
| </histogram> |
| |
| <histogram name="Media.EME.{KeySystem}.LibraryCdmAvailable" |
| enum="BooleanAvailable" expires_after="2024-04-11"> |
| <owner>xhwang@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Whether the CDM is available for {KeySystem} or not. In normal cases, this |
| is reported once per render process if the EME API is used. In rare cases it |
| could be reported more than once if the CDM is not available and then is |
| component updated. |
| </summary> |
| <token key="KeySystem" variants="KeySystem"/> |
| </histogram> |
| |
| <histogram name="Media.EME.{KeySystem}.TimeTo{ResolveOrReject}.{EmeApi}" |
| units="ms" expires_after="2024-04-11"> |
| <owner>xhwang@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary>The time it takes to {ResolveOrReject} a EME promise.</summary> |
| <token key="KeySystem" variants="KeySystemWithRobustness"/> |
| <token key="ResolveOrReject" variants="ResolveOrReject"/> |
| <token key="EmeApi" variants="EmeApi"/> |
| </histogram> |
| |
| <histogram name="Media.EME.{KeySystem}.{EmeApi}" enum="CdmPromiseResult" |
| expires_after="2024-04-11"> |
| <owner>xhwang@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary>Result of EME promises that were handled by Chromium code.</summary> |
| <token key="KeySystem" variants="KeySystemWithRobustness"/> |
| <token key="EmeApi" variants="EmeApi"/> |
| </histogram> |
| |
| <histogram name="Media.EME.{KeySystem}.{EmeApi}.SystemCode" |
| enum="CdmSystemCode" expires_after="2024-04-11"> |
| <owner>xhwang@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary>System code in promise rejection.</summary> |
| <token key="KeySystem" variants="KeySystemWithRobustness"/> |
| <token key="EmeApi" variants="EmeApi"/> |
| </histogram> |
| |
| <histogram name="Media.Engagement.ScoreAtPlayback" units="%" |
| expires_after="M82"> |
| <owner>beccahughes@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| The media engagement score recorded at the time of playback. It is converted |
| to a percentage so should be divided by 100 to get the actual score. It is |
| only recorded for playback that is either lacking an audio track or not |
| muted. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Media.Engagement.SignificantPlayers.PlayerNotAdded.AfterFirstTime" |
| enum="InsignificantPlaybackReason" expires_after="M82"> |
| <owner>beccahughes@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Recorded when the Media Engagement service doesn't determine a player to be |
| significant. If a player is not significant the reasons why will be |
| individually recorded to this histogram each time except for the first time |
| which is recorded to a different histogram. |
| |
| The significant state of a player is reevaluated any time the state of the |
| player changes (e.g. muted, playing/paused). If the player was not |
| considered signficiant and still is not then we will record the reasons why |
| in this histogram. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.Engagement.SignificantPlayers.PlayerNotAdded.FirstTime" |
| enum="InsignificantPlaybackReason" expires_after="M82"> |
| <owner>beccahughes@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Recorded when the Media Engagement service doesn't determine a player to be |
| significant. If a player is not significant the reasons why will be |
| individually recorded to this histogram the first time only. |
| |
| The significant state of a player is reevaluated any time the state of the |
| player changes (e.g. muted, playing/paused). If the player was not |
| considered signficiant and still is not then we will record the reasons why |
| in this histogram. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.Engagement.SignificantPlayers.PlayerRemoved" |
| enum="InsignificantPlaybackReason" expires_after="M77"> |
| <owner>beccahughes@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Recorded when the Media Engagement service no longer determines a player to |
| be significant. If a player is no longer significant, the reasons why will |
| be individually recorded to this histogram. |
| |
| The significant state of a player is re-evaluted any time the state of the |
| player changes (e.g. muted, playing/paused). If the player was previously |
| considered significant and is no longer considered that we will record the |
| reasons why in this histogram. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.FallbackToHighLatencyAudioPath" |
| enum="BooleanDidFallBack" expires_after="never"> |
| <!-- expires-never: Media pipeline health metric. --> |
| |
| <owner>dalecurtis@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <owner>webrtc-audio-uma@google.com</owner> |
| <summary> |
| Whether Chrome had to fallback to the high latency audio path or not. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.FrameReadBackCount.{RendererType}" units="frames" |
| expires_after="2023-09-08"> |
| <owner>dalecurtis@chromium.org</owner> |
| <owner>frankli@microsoft.com</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Monitors the number of video frames being read back from a {RendererType}. |
| It is the count of video frames being read back from an HTML5 video when it |
| is unloaded. |
| </summary> |
| <token key="RendererType" variants="RendererType"/> |
| </histogram> |
| |
| <histogram name="Media.GetDisplayMedia.Constraints.DisplaySurface" |
| enum="GetDisplayMediaConstraintsDisplaySurface" expires_after="2023-11-12"> |
| <owner>eladalon@chromium.org</owner> |
| <owner>fbeaufort@chromium.org</owner> |
| <summary> |
| Records whether getDisplayMedia was called with the displaySurface |
| constraint. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.GetDisplayMedia.Constraints.SelfBrowserSurface" |
| enum="GetDisplayMediaIncludeExcludeConstraint" expires_after="2023-05-07"> |
| <owner>eladalon@chromium.org</owner> |
| <owner>fbeaufort@chromium.org</owner> |
| <summary> |
| Records whether getDisplayMedia was called with the selfBrowserSurface |
| constraint. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.GetDisplayMedia.Constraints.SuppressLocalAudioPlayback" |
| enum="GetDisplayMediaBooleanConstraint" expires_after="2023-05-07"> |
| <owner>eladalon@chromium.org</owner> |
| <owner>fbeaufort@chromium.org</owner> |
| <owner>webrtc-audio-uma@google.com</owner> |
| <summary> |
| Records whether getDisplayMedia was called with the |
| suppressLocalAudioPlayback constraint. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.GetDisplayMedia.Constraints.SurfaceSwitching" |
| enum="GetDisplayMediaIncludeExcludeConstraint" expires_after="2023-05-07"> |
| <owner>eladalon@chromium.org</owner> |
| <owner>fbeaufort@chromium.org</owner> |
| <summary> |
| Records whether getDisplayMedia was called with the surfaceSwitching |
| constraint. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.GetDisplayMedia.Constraints.SystemAudio" |
| enum="GetDisplayMediaIncludeExcludeConstraint" expires_after="2023-10-15"> |
| <owner>eladalon@chromium.org</owner> |
| <owner>fbeaufort@chromium.org</owner> |
| <owner>webrtc-audio-uma@google.com</owner> |
| <summary> |
| Records whether getDisplayMedia was called with the systemAudio constraint. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.GetDisplayMedia.RequiresUserActivationResult" |
| enum="GetDisplayMediaTransientActivation" expires_after="2024-03-14"> |
| <owner>eladalon@chromium.org</owner> |
| <owner>fbeaufort@chromium.org</owner> |
| <owner>hendrich@chromium.org</owner> |
| <summary> |
| Records whether getDisplayMedia was called with a user gesture (transient |
| activation) or whether it wasn't required. The requirement is only enforced |
| once `blink::features::kGetDisplayMediaRequiresUserActivation` is enabled |
| and can be bypassed with the `ScreenCaptureWithoutGestureAllowedForOrigins` |
| policy. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.GlobalMediaControls.DeviceSelectorAvailable" |
| enum="Boolean" expires_after="2023-02-12"> |
| <owner>steimel@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Records if the Global Media Controls device selector was available. Recorded |
| once per notification either when the device selector was shown or when the |
| notification disappears. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.GlobalMediaControls.DeviceSelectorOpened" enum="Boolean" |
| expires_after="2023-10-22"> |
| <owner>steimel@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Records if the Global Media Controls device selector was opened. Recorded |
| once per notification either when the device selector was opened or when the |
| notification disappears. This histogram is only recorded if the device |
| selector was available. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.GlobalMediaControls.DismissReason" |
| enum="GlobalMediaControlsDismissReason" expires_after="2023-01-01"> |
| <owner>steimel@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Recorded each time a media session is dismissed or removed from the Global |
| Media Controls. Records the reason why it happened (e.g. user clicked the |
| dismiss button or playback stopped). |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.GlobalMediaControls.EntryPoint" |
| enum="GlobalMediaControlsEntryPoint" expires_after="2023-10-22"> |
| <owner>takumif@chromium.org</owner> |
| <owner>openscreen-eng@google.com</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Records the entry point whenever the user opens the Global Media Controls |
| UI. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.GlobalMediaControls.HasDefaultPresentationRequest" |
| enum="Boolean" expires_after="2022-11-27"> |
| <owner>takumif@chromium.org</owner> |
| <owner>openscreen-eng@google.com</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Records whether a media session is from a WebContents with a default |
| PresentationReuqest. Recorded whenever a session is instantiated in the |
| global media controls, even if the user doesn't open the UI to view it. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.GlobalMediaControls.InteractionDelayAfterPause" |
| units="ms" expires_after="2022-07-03"> |
| <owner>steimel@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Recorded each time a paused media session is interacted with (e.g. playing |
| the media or clicking on the notification to go back to the tab). Records |
| the time passed since it was last interacted with (or since when it was |
| paused if this is the first post-pause interaction). |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.GlobalMediaControls.MediaCastMode.{Action}" |
| enum="GlobalMediaControlsCastMode" expires_after="2023-09-20"> |
| <owner>muyaoxu@google.com</owner> |
| <owner>openscreen-eng@google.com</owner> |
| <summary> |
| Records the type of Media Route that users {Action} from the Global Media |
| Controls dialog. Recorded when users click on a button and this histogram |
| doesn't represent the actual number of sessions {Action}ed from the GMC |
| dialog. |
| </summary> |
| <token key="Action"> |
| <variant name="Start" summary="start"/> |
| <variant name="Stop" summary="stop"/> |
| </token> |
| </histogram> |
| |
| <histogram name="Media.GlobalMediaControls.NumberOfAvailableAudioDevices" |
| units="devices" expires_after="2022-12-04"> |
| <owner>steimel@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Recorded each time the Global Media Controls Device picker dialog is opened |
| and is populated with devices. Records the number of device options |
| displayed, possibly including the default fallback device. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.GlobalMediaControls.RepeatUsage" enum="BooleanIsRepeat" |
| expires_after="2023-09-24"> |
| <owner>steimel@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Recorded each time the Global Media Controls dialog is opened. True if this |
| was repeat usage of the dialog (e.g. if it's not the first time the dialog |
| has been opened this session). |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.GlobalMediaControls.UserActionFocus" |
| enum="BooleanFocused" expires_after="2023-10-01"> |
| <owner>steimel@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| The focused state of the WebContents associated with the MediaSession that |
| the user is interacting with via the Global Media Controls. Recorded when |
| the user presses an action on the Global Media Controls dialog (e.g. play). |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.GPU.HasEverLostContext" enum="ContextProviderPhase" |
| expires_after="M77"> |
| <owner>dcastagna@chromium.org</owner> |
| <summary> |
| Records when a context provider is acquired in media, and when it's released |
| because a context loss has been detected. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.GPU.OutputFormat" enum="OutputFormat" |
| expires_after="2023-12-01"> |
| <owner>hitawala@chromium.org</owner> |
| <owner>vasilyt@chromium.org</owner> |
| <owner>shared-image-team@google.com</owner> |
| <summary> |
| Records the format used for creating video frames with GpuMemoryBuffers. |
| Result is an enum that represents OutputFormat in |
| GpuVideoAcceleratorFactoriesImpl. Recorded once per VideoFrame creation. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.GPU.VideoDecoderType" enum="VideoDecoderType" |
| expires_after="2023-10-01"> |
| <owner>dalecurtis@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Records the VideoDecoderType used for GPU based video decoding. Recorded |
| once per GPU mojo media client creation (~once per GPU process). |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.GpuArcVideoDecodeAccelerator.InitializeResult" |
| enum="ArcVideoDecodeAcceleratorResult" expires_after="2021-02-18"> |
| <owner>andrescj@chromium.org</owner> |
| <owner>chromeos-gfx-video@google.com</owner> |
| <summary> |
| Counts of status values returned from calls to |
| GpuArcVideoDecodeAccelerator::Initialize(). |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.GpuArcVideoDecodeAccelerator.InstanceCount.All" |
| units="instances" expires_after="2023-01-22"> |
| <owner>andrescj@chromium.org</owner> |
| <owner>chromeos-gfx-video@google.com</owner> |
| <summary> |
| Counts how many GpuArcVideoDecodeAccelerator instances are alive at the time |
| a new GpuArcVideoDecodeAccelerator is created. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.GpuArcVideoDecodeAccelerator.InstanceCount.Initialized" |
| units="instances" expires_after="2023-01-22"> |
| <owner>andrescj@chromium.org</owner> |
| <owner>chromeos-gfx-video@google.com</owner> |
| <summary> |
| Counts how many GpuArcVideoDecodeAccelerator instances that have gone |
| through initialization (i.e., have an underlying |
| media::VideoDecodeAccelerator) are alive at the time a |
| GpuArcVideoDecodeAccelerator goes through initialization and successfully |
| creates its underlying media::VideoDecodeAccelerator. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.GpuMemoryBufferVideoFramePool.UnsupportedFormat" |
| enum="VideoPixelFormatUnion" expires_after="2023-10-08"> |
| <owner>magchen@chromium.org</owner> |
| <owner>mcasas@chromium.org</owner> |
| <summary> |
| GpuMemoryBufferVideoFramePool is called with an unsupported VideoFrame pixel |
| format. Emitted on VideoFrame arrival. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.GpuVideoFrameFactory.SharedContextStateResult" |
| enum="ContextResult" expires_after="2019-06-01"> |
| <owner>vikassoni@chromium.org</owner> |
| <owner>liberato@chromium.org</owner> |
| <summary> |
| The error code returned when GetSharedContextState() fails or MakeCurrent() |
| on the SharedContextState fails. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.HardwareAudioChannelCount" units="units" |
| expires_after="never"> |
| <!-- expires-never: Media platform support planning metric. --> |
| |
| <owner>dalecurtis@chromium.org</owner> |
| <owner>webrtc-audio-uma@google.com</owner> |
| <summary>Channel count of the hardware audio device.</summary> |
| </histogram> |
| |
| <histogram name="Media.HardwareAudioChannelLayout" enum="ChannelLayout" |
| expires_after="never"> |
| <!-- expires-never: Media platform support planning metric. --> |
| |
| <owner>dalecurtis@chromium.org</owner> |
| <owner>webrtc-audio-uma@google.com</owner> |
| <summary>Channel layout of the hardware audio device.</summary> |
| </histogram> |
| |
| <histogram name="Media.HardwareAudioSamplesPerSecond" enum="AudioSampleRate" |
| expires_after="never"> |
| <!-- expires-never: Media platform support planning metric. --> |
| |
| <owner>dalecurtis@chromium.org</owner> |
| <owner>webrtc-audio-uma@google.com</owner> |
| <summary>Samples per second of the hardware audio device.</summary> |
| </histogram> |
| |
| <histogram name="Media.HardwareKeyPressed" enum="MediaHardwareKeyAction" |
| expires_after="2021-08-29"> |
| <owner>steimel@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Records media key presses that are handled by the |
| HardwareKeyMediaController. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.HasAcceleratedVideoDecode.{CodecType}" |
| enum="BooleanSupported" expires_after="2023-12-01"> |
| <owner>dalecurtis@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Tracks accelerated video decoding support for a given codec. Recorded once |
| per GPU process after an attempt to use accelerated video decoding. |
| </summary> |
| <token key="CodecType"> |
| <variant name="AV1"/> |
| <variant name="H264"/> |
| <variant name="H265"/> |
| <variant name="VP9"/> |
| </token> |
| </histogram> |
| |
| <histogram name="Media.HasEverPlayed" enum="BooleanHasPlayed" |
| expires_after="never"> |
| <!-- expires-never: Media pipeline health metric. --> |
| |
| <owner>dalecurtis@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Whether a given WebMediaPlayer instance, after preload, started playback; |
| recorded once at time of player destruction. |
| </summary> |
| </histogram> |
| |
| <histogram base="true" name="Media.InitialDecoderSelectionTime" units="ms" |
| expires_after="2023-03-25"> |
| <obsolete> |
| Removed 02/2023 due to lack of further need for this data. |
| </obsolete> |
| <owner>cassew@google.com</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Duration of initial decoder selection. Measured from first call to |
| 'DecoderSelector::SelectDecoder' to 'DecoderSelector::FinalizeSelection'. |
| The HW/SW suffix indicates the type of the decoder that was ultimately |
| selected. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.InputErrorMac" enum="OSStatus_Audio" |
| expires_after="never"> |
| <!-- expires-never: essential indicator for audio input stability in Chrome --> |
| |
| <owner>olka@chromium.org</owner> |
| <owner>fhernqvist@google.com</owner> |
| <owner>henrika@hromium.org</owner> |
| <owner>webrtc-audio-uma@google.com</owner> |
| <summary> |
| Error codes that we encounter while setting up an AUAudioInputStream on Mac. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.InputStreamDuration" units="ms" expires_after="never"> |
| <!-- expires-never: essential indicator for audio input stability in Chrome --> |
| |
| <owner>henrika@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <owner>webrtc-audio-uma@google.com</owner> |
| <summary> |
| Duration in milliseconds of low-latency audio input streams. Sampled when |
| the stream is closed by the AudioInputController. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.InputStreamDurationWithoutCallback" units="ms" |
| expires_after="2023-10-22"> |
| <owner>olka@chromium.org</owner> |
| <owner>henrika@chromium.org</owner> |
| <owner>webrtc-audio-uma@google.com</owner> |
| <summary> |
| Duration in milliseconds of low-latency audio input streams which never got |
| any callbacks. Warning: this histogram was expired from 2020-10-11 to |
| 2021-06-04; data may be missing. |
| </summary> |
| </histogram> |
| |
| <histogram base="true" name="Media.Learning.BinaryThreshold.Aggregate" |
| enum="ConfusionMatrix" expires_after="2019-10-30"> |
| <!-- Name completed by histogram_suffixes |
| name="Media.Learning.BinaryThreshold" --> |
| |
| <owner>liberato@chromium.org</owner> |
| <owner>chcunningham@chromium.org</owner> |
| <summary> |
| Confusion matrix for UMA-reported regresssion tasks for media local learning |
| experiments. Each bucket is interpreted as follows: |
| |
| TrueNegative - prediction was negative, observation was negative. |
| FalseNegative - prediction was negative, observation was positive. |
| FalsePositive - prediction was positive, observation was negative. |
| TruePositive - prediction was positive, observation was positive. |
| |
| For those observations for which we could not make a prediction due to data |
| sparsity, the "no-prediction" buckets indicate whether the |
| observation was positive or negative. |
| </summary> |
| </histogram> |
| |
| <histogram base="true" name="Media.Learning.BinaryThreshold.ByFeature" |
| enum="MegaConfusionMatrix" expires_after="2019-10-30"> |
| <!-- Name completed by histogram_suffixes |
| name="Media.Learning.BinaryThreshold" --> |
| |
| <owner>liberato@chromium.org</owner> |
| <owner>chcunningham@chromium.org</owner> |
| <summary> |
| Confusion matrices, split out by the feature index used to train the model. |
| Each confusion matrix has 6 entries: |
| |
| TrueNegative - prediction was negative, observation was negative. |
| FalseNegative - prediction was negative, observation was positive. |
| FalsePositive - prediction was positive, observation was negative. |
| TruePositive - prediction was positive, observation was positive. |
| No-prediction Negative - no prediction made, observation was negative. |
| No-prediction Positive - no prediction made, observation was positive. |
| |
| The confusion matrix entry will also be labelled with a bucket number, which |
| for this histogram represents the index of the feature that was used. The |
| feature index matches |LearningTask::feature_descriptions| for the |
| appropriate task. |
| </summary> |
| </histogram> |
| |
| <histogram base="true" name="Media.Learning.BinaryThreshold.ByTrainingWeight" |
| enum="MegaConfusionMatrix" expires_after="2020-02-02"> |
| <!-- Name completed by histogram_suffixes |
| name="Media.Learning.BinaryThreshold" --> |
| |
| <owner>liberato@chromium.org</owner> |
| <owner>chcunningham@chromium.org</owner> |
| <summary> |
| Confusion matrices, split out by the total amount of training data used to |
| train the model. Each confusion matrix has 6 entries: |
| |
| TrueNegative - prediction was negative, observation was negative. |
| FalseNegative - prediction was negative, observation was positive. |
| FalsePositive - prediction was positive, observation was negative. |
| TruePositive - prediction was positive, observation was positive. |
| No-prediction Negative - no prediction made, observation was negative. |
| No-prediction Positive - no prediction made, observation was positive. |
| |
| The bucket number mentioned in the enum label indicates how much weight the |
| training set had. To convert from bucket number to an actual weight range, |
| one must know the particular settings in the corresponding LearningTask. |
| |
| Please see |LearningTask::max_reporting_weight| and |
| |LearningTask::num_reporting_weight_buckets| for the the appropriate task. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.LoadType" enum="MediaLoadType" |
| expires_after="2024-04-11"> |
| <owner>xhwang@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Load type of HTML5 media, such as URL, MediaSource and MediaStream. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.LocalRendererSinkStates" enum="LocalRendererSinkStates" |
| expires_after="2018-08-30"> |
| <owner>Please list the metric's owners. Add more owner tags as needed.</owner> |
| <summary> |
| State of the WebRtc local renderer, sampled once during the lifetime of a |
| local renderer. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.LockScreenControls.Hidden" |
| enum="LockScreenMediaControlsHideReason" expires_after="2022-05-01"> |
| <owner>steimel@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| The reason why the lock screen media controls were hidden if they were |
| previously shown. Recorded when the controls are destroyed by the lock |
| screen (e.g. unlock, switch user, shutdown). Warning: this histogram was |
| expired from 2020-01-31 to 2021-11-30; data may be missing. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.LockScreenControls.Shown" |
| enum="LockScreenMediaControlsShown" expires_after="2022-05-01"> |
| <owner>steimel@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Whether the lock screen media controls were shown and if they will not be |
| shown the reason why. Warning: this histogram was expired from 2020-01-31 to |
| 2021-11-30; data may be missing. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.LockScreenControls.UserAction" enum="MediaSessionAction" |
| expires_after="2022-05-01"> |
| <owner>steimel@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| The action (e.g. pause) that a user clicked on the lock screen media |
| controls. Warning: this histogram was expired from 2020-01-31 to 2021-11-30; |
| data may be missing. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.LowLatencyAudioCaptureStartupSuccess" |
| enum="AudioCaptureStartupResult" expires_after="2023-11-05"> |
| <owner>armax@chromium.org</owner> |
| <owner>guidou@chromium.org</owner> |
| <owner>olka@chromium.org</owner> |
| <summary> |
| Whether capture started successfully after a low-latency input stream |
| startup was requested. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.MCVD.ForwardVideoFrameTiming" units="ms" |
| expires_after="2020-10-11"> |
| <owner>liberato@chromium.org</owner> |
| <owner>sandersd@chromium.org</owner> |
| <owner>tguilbert@chromium.org</owner> |
| <summary> |
| The time between MediaCodec::dequeueOutputBuffer() and the dispatch of the |
| corresponding VideoFrame from MediaCodecVideoDecoder. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.MeanTimeBetweenRebuffers" units="ms" |
| expires_after="2023-10-01"> |
| <owner>dalecurtis@chromium.org</owner> |
| <summary> |
| The total watch time (see Media.WatchTime) of a given playback divided by |
| the number of rebuffering events that occured during that playback. Only |
| reported when rebuffering happened. Therefore, alway refer to other UMAs |
| like `Media.RebuffersCount` when checking this UMA. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.MediaDevices.EnumerateDevices.Latency" units="ms" |
| expires_after="2023-11-12"> |
| <owner>toprice@chromium.org</owner> |
| <owner>agpalak@chromium.org</owner> |
| <summary> |
| The latency of calls to the navigator.mediaDevices.enumerateDevices() API |
| which resolve, including both successes and failures. Note very long calls |
| which record a EnumerateDevices.Result of kTimedOut but do eventually |
| resolve will have their latency recorded. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.MediaDevices.EnumerateDevices.Result" |
| enum="EnumerateDevicesResult" expires_after="2023-11-12"> |
| <owner>toprice@chromium.org</owner> |
| <owner>agpalak@chromium.org</owner> |
| <summary> |
| The results of all calls to the navigator.mediaDevices.enumerateDevices() |
| API, including successful promise resolutions, error codes, or kTimedOut, if |
| the promise was still pending after 4 seconds. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.MediaDevices.GetDisplayMedia.Latency" units="ms" |
| expires_after="2023-11-19"> |
| <owner>toprice@chromium.org</owner> |
| <owner>agpalak@chromium.org</owner> |
| <owner>video-cmi-apis@google.com</owner> |
| <summary> |
| The latency of calls to the navigator.mediaDevices.GetDisplayMedia() API |
| which resolve, including both successes and failures. Note very long calls |
| which record a GetDisplayMedia.Result of kTimedOut but do eventually resolve |
| will have their latency recorded. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.MediaDevices.GetDisplayMedia.Result" |
| enum="UserMediaRequestResult" expires_after="2023-11-19"> |
| <owner>toprice@chromium.org</owner> |
| <owner>agpalak@chromium.org</owner> |
| <owner>video-cmi-apis@google.com</owner> |
| <summary> |
| The results of all calls to the navigator.mediaDevices.GetDisplayMedia() |
| API, including successful promise resolutions, error codes, or kTimedOut, if |
| the promise was still pending after 6 seconds. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.MediaDevices.GetDisplayMediaSet.Latency" units="ms" |
| expires_after="2023-05-01"> |
| <owner>simonha@google.com</owner> |
| <owner>video-cmi-apis@google.com</owner> |
| <summary> |
| The latency of calls to the navigator.mediaDevices.GetDisplayMediaSet() API |
| which resolve, including both successes and failures. Note very long calls |
| which record a GetDisplayMediaSet.Result of kTimedOut but do eventually |
| resolve will have their latency recorded. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.MediaDevices.GetDisplayMediaSet.Result" |
| enum="UserMediaRequestResult" expires_after="2023-05-01"> |
| <owner>simonha@google.com</owner> |
| <owner>video-cmi-apis@google.com</owner> |
| <summary> |
| The results of all calls to the navigator.mediaDevices.GetDisplayMediaSet() |
| API, including successful promise resolutions, error codes, or kTimedOut, if |
| the promise was still pending after 6 seconds. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.MediaDevices.GetUserMedia.Latency" units="ms" |
| expires_after="2023-11-12"> |
| <owner>toprice@chromium.org</owner> |
| <owner>agpalak@chromium.org</owner> |
| <owner>video-cmi-apis@google.com</owner> |
| <summary> |
| The latency of calls to the navigator.mediaDevices.GetUserMedia() API which |
| resolve, including both successes and failures. Note very long calls which |
| record a GetUserMedia.Result of kTimedOut but do eventually resolve will |
| have their latency recorded. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.MediaDevices.GetUserMedia.Result" |
| enum="UserMediaRequestResult" expires_after="2023-11-12"> |
| <owner>toprice@chromium.org</owner> |
| <owner>agpalak@chromium.org</owner> |
| <owner>video-cmi-apis@google.com</owner> |
| <summary> |
| The results of all calls to the navigator.mediaDevices.GetUserMedia() API, |
| including successful promise resolutions, error codes, or kTimedOut, if the |
| promise was still pending after 8 seconds. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.MediaDevicesManager.VideoDeviceEnumeration.Result" |
| enum="DeviceEnumerationResult" expires_after="2023-11-12"> |
| <owner>toprice@chromium.org</owner> |
| <owner>agpalak@chromium.org</owner> |
| <summary> |
| The success or failure code of MediaDevicesManager requests to enumerate |
| video devices (ie cameras) with the camera capture service. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.MediaDevicesManager.VideoDeviceEnumeration.Start" |
| enum="Boolean" expires_after="2024-05-01"> |
| <owner>toprice@chromium.org</owner> |
| <owner>agpalak@chromium.org</owner> |
| <owner>video-cmi-apis@google.com</owner> |
| <summary> |
| Count of MediaDevicesManager starting enumerating video devices (ie cameras) |
| with the camera capture service, including enumerations which never |
| finished. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.MediaElement.ContentTypeParseable" |
| enum="ContentTypeParseableResult" expires_after="2022-07-03"> |
| <obsolete> |
| Removed 07/2022 due to lack of further need for this data. |
| </obsolete> |
| <owner>jrummell@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Whether the content type provided to HTMLMediaElement would parse with |
| ParsedContentType or not. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.MediaFoundation.VideoColorSpace.PrimaryID" |
| enum="VideoColorSpace.PrimaryID" expires_after="2023-08-27"> |
| <owner>dalecurtis@chromium.org</owner> |
| <owner>macrabil@microsoft.com</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Recorded when the VideoColorSpace VideoPrimaries value is passed to |
| MediaFoundation for HDR content. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.MediaFoundation.VideoColorSpace.TransferID" |
| enum="VideoColorSpace.TransferID" expires_after="2023-08-02"> |
| <owner>dalecurtis@chromium.org</owner> |
| <owner>wicarr@microsoft.com</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Recorded when the VideoColorSpace TransferFunction value is passed to |
| MediaFoundation for HDR content. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.MediaFoundationRenderer.CreateMediaEngineError" |
| enum="Hresult" expires_after="2024-04-11"> |
| <owner>xhwang@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Recorded when the MediaFoundationRenderer::CreateMediaEngine() fails. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.MediaFoundationRenderer.ErrorReason" |
| enum="MediaFoundationRendererErrorReason" expires_after="2024-04-11"> |
| <owner>xhwang@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Recorded when the MediaFoundationRenderer or MediaFoundationRendererClient |
| hits an error. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.MediaFoundationRenderer.FailedToSetDCompMode" |
| enum="Hresult" expires_after="2024-04-11"> |
| <owner>xhwang@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Recorded when the MediaFoundationRenderer hits an error when trying to set |
| direct composition mode. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Media.MediaFoundationRenderer.InvalidHwdrmState.HasReportedPlaying" |
| enum="Boolean" expires_after="2024-04-11"> |
| <owner>xhwang@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Whether or not playback has started when DRM_E_TEE_INVALID_HWDRM_STATE |
| happens in MediaFoundationRenderer. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Media.MediaFoundationRenderer.InvalidHwdrmState.VideoFrameDecoded" |
| units="frames" expires_after="2024-04-11"> |
| <owner>xhwang@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| The number of video frames decoded when DRM_E_TEE_INVALID_HWDRM_STATE |
| happens in MediaFoundationRenderer. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.MediaFoundationRenderer.PlaybackError" enum="Hresult" |
| expires_after="2024-04-11"> |
| <owner>xhwang@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Recorded when the MediaFoundationRenderer hits a playback error. Some errors |
| are part of the normal user flow (e.g. sleep/resume) and are not a bug. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.MediaKeysListener.RegisterHotKeyResult" |
| enum="BooleanSuccess" expires_after="M82"> |
| <owner>steimel@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Whether or not the MediaKeysListener was able to successfully register a hot |
| key. Failure typically indicates that the hotkey was already registered by a |
| different application. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.MediaRecorder.Codec" enum="MediaRecorderCodec" |
| expires_after="2023-10-08"> |
| <owner>clarissagarvey@chromium.org</owner> |
| <owner>mcasas@chromium.org</owner> |
| <summary> |
| The codec and hardware/software variant used by MediaRecorder, recorded once |
| when the VideoTrackRecorder initializes the encoder. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.MediaRecorder.VEAUsed" enum="MediaRecorderVEAUsed" |
| expires_after="M95"> |
| <owner>mcasas@chromium.org</owner> |
| <owner>wtlee@chromium.org</owner> |
| <summary>Whether HW video encode is used in MediaRecorder.</summary> |
| </histogram> |
| |
| <histogram name="Media.MediaStreamManager.DesktopVideoDeviceUpdate" |
| enum="MediaStreamRequestResult2" expires_after="2023-07-16"> |
| <owner>eladalon@chromium.org</owner> |
| <owner>tovep@chromium.org</owner> |
| <summary> |
| Records media stream request responses for desktop-video capture |
| media-device-update requests. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.MediaStreamManager.DisplayVideoDeviceUpdate" |
| enum="MediaStreamRequestResult2" expires_after="2023-09-17"> |
| <owner>eladalon@chromium.org</owner> |
| <owner>tovep@chromium.org</owner> |
| <summary> |
| Records media stream request responses for display-video capture |
| media-device-update requests. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.MicrophoneMuted" enum="MicrophoneMuteResult" |
| expires_after="2023-11-12"> |
| <owner>henrika@chromium.org</owner> |
| <owner>webrtc-audio@google.com</owner> |
| <summary> |
| Heuristically detects if the user has muted the microphone or not. Measured |
| approximately four times per minute while an audio input stream is active. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.Midi.SendReceiveUsage" enum="MidiSendReceiveUsage" |
| expires_after="2023-12-01"> |
| <owner>hongchan@chromium.org</owner> |
| <owner>mjwilson@chromium.org</owner> |
| <owner>src/third_party/blink/renderer/modules/webaudio/OWNERS</owner> |
| <summary> |
| Reports whether any data was sent or received by a MidiManager. Recorded |
| once per MidiManager instantiation, upon destruction. MidiManager is |
| instantiated when the first Web MIDI client starts a session, and destroyed |
| when the last client ends the session. |
| |
| Warning: this histogram was expired from M86 to M91; data may be missing. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.Midi.SysExMessageSizeUpTo1MB" units="bytes" |
| expires_after="2023-12-01"> |
| <owner>hongchan@chromium.org</owner> |
| <owner>mjwilson@chromium.org</owner> |
| <owner>src/third_party/blink/renderer/modules/webaudio/OWNERS</owner> |
| <summary> |
| Reports sysex message size. |
| |
| Warning: this histogram was expired from M86 to M91; data may be missing. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.Midi.Usage" enum="MidiUsage" expires_after="2023-12-01"> |
| <owner>hongchan@chromium.org</owner> |
| <owner>mjwilson@chromium.org</owner> |
| <owner>src/third_party/blink/renderer/modules/webaudio/OWNERS</owner> |
| <summary> |
| The MidiManager instance use count, but this is not intended to understand |
| the real API usage because this can be counted by feature scanning scripts |
| that are often used for footprinting. You may want to track SendReceiveUsage |
| to monitor only instances that actually send or receive MIDI messages. |
| |
| Warning: this histogram was expired from M86 to M91; data may be missing. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.MojoVideoDecoder.ActiveInstances" units="units" |
| expires_after="2023-11-12"> |
| <owner>sandersd@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Records the number of active MojoVideoDecoderService instances that are |
| alive each time an instance becomes active. An instance is active if |
| Decode() has been called at least once. This provides an estimate of the |
| concurrent hardware resource requirements. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.MojoVideoDecoder.Decode" units="ms" |
| expires_after="never"> |
| <!-- expires-never: used by ChromeOS test infrastructure --> |
| |
| <owner>mcasas@chromium.org</owner> |
| <owner>chromeos-gfx@chromium.org</owner> |
| <summary> |
| Delay between a DecodeBuffer (and encoded chunk) input and a decoded |
| VideoFrame being produced by the remote MojoVideoDecoder. Output once per |
| successful decode. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.MojoVideoDecoder.InitialPlaybackErrorCodecCounter" |
| units="instances" expires_after="2021-10-25"> |
| <owner>eugene@chromium.org</owner> |
| <owner>liberato@chromium.org</owner> |
| <summary> |
| Total number of instances of MojoVideoDecoder used by a page (i.e. render |
| frame) when an instance of MojoVideoDecoder encountered a decoding error or |
| a crash during the first 150 frames of a video stream. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.MojoVideoDecoder.InitialPlaybackSuccessCodecCounter" |
| units="instances" expires_after="2021-10-25"> |
| <owner>eugene@chromium.org</owner> |
| <owner>liberato@chromium.org</owner> |
| <summary> |
| Total number of instances of MojoVideoDecoder used by a page (i.e. render |
| frame) when an instance of MojoVideoDecoder successfuly decode the first 150 |
| frames of a video stream. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.MojoVideoEncodeAccelerator.InputStorageType" |
| enum="VideoFrameStorageType" expires_after="2023-08-30"> |
| <owner>hiroh@chromium.org</owner> |
| <owner>mcasas@chromium.org</owner> |
| <summary> |
| The storage type of media::VideoFrame passed to MojoVideoEncodeAccelerator |
| for encoding. The histogram is recorded every frame encode request. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.MSE.AudioCodec" enum="MSECodec" expires_after="never"> |
| <!-- expires-never: Codec support planning metric. --> |
| |
| <owner>wolenetz@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Audio codec used in Media Source Extensions playback. Set when MediaSource |
| addSourceBuffer() is successfully called during playback. Also set twice |
| during a successful SourceBuffer changeType() operation. See issue 535738 |
| for reworking MSE codec histograms to record on each successfully parsed |
| initialization segment (possibly filtered to record only when actual new |
| codec configurations are parsed). |
| </summary> |
| </histogram> |
| |
| <histogram base="true" name="Media.MSE.CodecChangeTime" units="ms" |
| expires_after="2023-07-02"> |
| <obsolete> |
| Removed 02/2023 due to lack of further need for this data. |
| </obsolete> |
| <owner>wolenetz@chromium.org</owner> |
| <owner>sandersd@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Duration of config changes that include codec changes, measured from before |
| decoder flush until after the first output frame is returned. The HW/SW |
| suffix indicates the type of the decoder that was ultimately selected. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.MSE.DemuxerDestructionTime" units="ms" |
| expires_after="2020-10-11"> |
| <owner>wolenetz@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Amount of time taken to destroy one ChunkDemuxer object, not including |
| initial background task scheduling delay. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.MSE.DetectedShakaPackagerInMp4" enum="BooleanDetected" |
| expires_after="2022-06-19"> |
| <obsolete> |
| Removed 02/2022 due to lack of further need for this data. |
| </obsolete> |
| <owner>dalecurtis@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Tracks if ShakaPackager metadata was detected in the MP4 'moov' atom during |
| MSE based media playback. Recorded for every 'moov' atom, which is expected |
| once per asset. Multiple assets may be played within the same MSE session. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.MSE.ExecutionContext" enum="MediaSourceExecutionContext" |
| expires_after="2020-10-11"> |
| <owner>wolenetz@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| For each MediaSource instance, records the type of thread that created the |
| instance. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.MSE.Mp4ConsecutiveEmptySamples" units="samples" |
| expires_after="2023-07-02"> |
| <obsolete> |
| Removed Jan 2023, no further data needed. |
| </obsolete> |
| <owner>wolenetz@chromium.org</owner> |
| <owner>sandersd@chromium.org</owner> |
| <summary> |
| Reports the number of consecutive empty samples in a sequence within a track |
| run. There can be zero or more such sequences in a track run, and each |
| sequence is reported separately. This metric is expected to inform a |
| heuristic to realistically bound the parsing complexity of track runs that |
| may contain empty samples. See https://crbug.com/907268. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.MSE.Mp4EmptySamplesInTRun" units="samples" |
| expires_after="2022-04-17"> |
| <obsolete> |
| Removed Jan 2023, no further data needed. |
| </obsolete> |
| <owner>wolenetz@chromium.org</owner> |
| <owner>sandersd@chromium.org</owner> |
| <summary> |
| Reports the number of empty samples within a track run. This metric is |
| expected to inform a heuristic to realistically bound the parsing complexity |
| of track runs that may contain empty samples. See https://crbug.com/907268. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.MSE.Mp4SampleSize" units="bytes" |
| expires_after="2023-07-02"> |
| <obsolete> |
| Removed Jan 2023, no further data needed. |
| </obsolete> |
| <owner>wolenetz@chromium.org</owner> |
| <owner>sandersd@chromium.org</owner> |
| <summary> |
| Reports the size of each sample parsed. This metric is expected to inform a |
| heuristic to realistically bound the parsing complexity of track runs that |
| may contain empty or huge samples. See https://crbug.com/907268. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.MSE.Mp4TrunSampleCount" units="samples" |
| expires_after="2023-07-02"> |
| <obsolete> |
| Removed Jan 2023, no further data needed. |
| </obsolete> |
| <owner>wolenetz@chromium.org</owner> |
| <owner>sandersd@chromium.org</owner> |
| <summary> |
| Reports the number of samples in each track run. This metric is expected to |
| inform a heuristic to realistically bound the parsing complexity of track |
| runs that may contain huge numbers of samples. See https://crbug.com/907268. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.MSE.VideoCodec" enum="MSECodec" expires_after="never"> |
| <!-- expires-never: Codec support planning metric. --> |
| |
| <owner>wolenetz@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Video codec used in Media Source Extensions playback. Set when MediaSource |
| addSourceBuffer() is successfully called during playback. Also set twice |
| during a successful SourceBuffer changeType() operation. See issue 535738 |
| for reworking MSE codec histograms to record on each successfully parsed |
| initialization segment (possibly filtered to record only when actual new |
| codec configurations are parsed). |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.MSE.VideoCodec.MP4" enum="MSECodec" |
| expires_after="never"> |
| <!-- expires-never: Codec and container support planning metric. --> |
| |
| <owner>wolenetz@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Video codec used in Media Source Extensions playback if the media container |
| is MP4. Set when MediaSource addSourceBuffer() is successfully called during |
| playback. Also set twice during a successful SourceBuffer changeType() |
| operation. See issue 535738 for reworking MSE codec histograms to record on |
| each successfully parsed initialization segment (possibly filtered to record |
| only when actual new codec configurations are parsed). |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.MSE.VideoCodec.WebM" enum="MSECodec" |
| expires_after="never"> |
| <!-- expires-never: Codec and container support planning metric. --> |
| |
| <owner>wolenetz@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Video codec used in Media Source Extensions playback if the media container |
| is WebM. Set when MediaSource addSourceBuffer() is successfully called |
| during playback. Also set twice during a successful SourceBuffer |
| changeType() operation. See issue 535738 for reworking MSE codec histograms |
| to record on each successfully parsed initialization segment (possibly |
| filtered to record only when actual new codec configurations are parsed). |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.Notification.ArtworkPresent" enum="Boolean" |
| expires_after="2021-10-25"> |
| <owner>beccahughes@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Whether the media notification (including ones for Cast sessions) is |
| displaying artwork. This is recorded when the artwork is updated by the |
| underlying media session. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.Notification.Cast.ArtworkPresent" enum="Boolean" |
| expires_after="2023-07-09"> |
| <owner>takumif@chromium.org</owner> |
| <owner>openscreen-eng@google.com</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Whether the Cast media notification is displaying artwork. This is recorded |
| a few seconds after a notification is shown for the first time, which is |
| different from when Media.Notification.ArtworkPresent is recorded. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.Notification.Cast.Count" units="count" |
| expires_after="2023-11-12"> |
| <owner>takumif@chromium.org</owner> |
| <owner>openscreen-eng@google.com</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| The number of Cast media notifications that are currently being displayed. |
| This is recorded when a media notification starts being displayed. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.Notification.Cast.MetadataPresent" |
| enum="MediaNotificationMetadata" expires_after="2023-07-09"> |
| <owner>takumif@chromium.org</owner> |
| <owner>openscreen-eng@google.com</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Whether the Cast media notification is displaying certain types of metadata. |
| This is recorded a few seconds after a notification is shown for the first |
| time, which is different from when Media.Notification.MetadataPresent is |
| recorded. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.Notification.Cast.StartStop" |
| enum="GlobalMediaControlsCastActionAndEntryPoint" |
| expires_after="2023-11-12"> |
| <owner>takumif@chromium.org</owner> |
| <owner>openscreen-eng@google.com</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Recorded when the user starts or stops a Cast session. Records the action |
| and how the Global Media Controls UI was opened. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.Notification.Cast.UserAction" enum="MediaSessionAction" |
| expires_after="2023-11-12"> |
| <owner>takumif@chromium.org</owner> |
| <owner>openscreen-eng@google.com</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Records the type of the action (e.g. pause) whenever the user makes an |
| action on a Cast media notification. Starting and stopping casting is |
| recorded in Media.Notification.Cast.StartStop. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.Notification.Click" enum="MediaNotificationClickSource" |
| expires_after="2020-06-07"> |
| <owner>mlamouri@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| The type of media notification the user clicked to go back to Chrome. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.Notification.Count" units="count" |
| expires_after="2023-11-12"> |
| <owner>beccahughes@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| The number of media notifications that are currently being displayed |
| (including ones for Cast sessions). This is recorded when a media |
| notification starts being displayed. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.Notification.MetadataPresent" |
| enum="MediaNotificationMetadata" expires_after="2021-10-25"> |
| <owner>beccahughes@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Whether the media notification (including ones for Cast sessions) is |
| displaying certain types of metadata. This is recorded when the metadata is |
| updated by the underlying media session. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.Notification.Source" enum="MediaNotificationSource" |
| expires_after="2023-09-10"> |
| <owner>beccahughes@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| The source of the underlying media session (e.g. ARC, web, Cast) that |
| displayed the media notification. This is recorded when a notification is |
| available to be shown. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.Notification.UserAction" enum="MediaSessionAction" |
| expires_after="2023-11-12"> |
| <owner>beccahughes@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| The action (e.g. pause) that a user clicked on a media notification |
| (including ones for Cast sessions). |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.OutputStreamDuration" units="ms" |
| expires_after="2023-11-12"> |
| <owner>guidou@chromium.org</owner> |
| <owner>olka@chromium.org</owner> |
| <owner>webrtc-audio-uma@google.com</owner> |
| <summary> |
| Duration of an audio output stream. Measured in AudioOutputController from |
| when a stream is started until it is stopped. A stream is stopped when it is |
| paused, closed (i.e. destructed), or when a device change event causes it to |
| be restarted. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.PeakWebMediaPlayerCount" units="players" |
| expires_after="M100"> |
| <obsolete> |
| Removed 04/2022 due to lack of further need for this data. |
| </obsolete> |
| <owner>dalecurtis@google.com</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Records the peak number of WebMediaPlayer objects per RenderFrame upon |
| RenderFrame destruction (both cleanly and via render process termination). |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.PepperVideoDecoder.HardwareAccelerationBehavior" |
| enum="PepperVideoDecoderHardwareAccelerationBehavior" expires_after="never"> |
| <!-- expires-never: used by ChromeOS test infrastructure --> |
| |
| <owner>pmolinalopez@chromium.org</owner> |
| <owner>chromeos-gfx-video@google.com</owner> |
| <summary> |
| The hardware/software decoding behavior used for a PPB_VideoDecoder API |
| instance. This UMA is recorded when the PepperVideoDecoderHost is destroyed. |
| </summary> |
| </histogram> |
| |
| <histogram base="true" name="Media.PepperVideoDecoderOutputPictureCount" |
| enum="MediaVideoHeight" expires_after="2020-12-31"> |
| <owner>sandersd@chromium.org</owner> |
| <owner>dalecurtis@chromium.org</owner> |
| <summary> |
| Counts every output picture emitted to a PPAPI client, categorized by size |
| and decoder type. Flash will only use platform decoders, but NaCl clients |
| can use either decoder type. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.PipelineStatus.AudioVideo.{VideoCodec}.{Pipeline}" |
| enum="PipelineStatus" expires_after="never"> |
| <!-- expires-never: Media pipeline health metric. --> |
| |
| <owner>dalecurtis@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Status of the media pipeline at the end of its lifecycle for audio-video |
| streams with {VideoCodec} video codec using {Pipeline}. |
| </summary> |
| <token key="VideoCodec" variants="VideoCodec"/> |
| <token key="Pipeline"> |
| <variant name="DDS.HW" |
| summary="RendererImpl with hardware decoder and |
| DecryptingDemuxerStream"/> |
| <variant name="DDS.SW" |
| summary="RendererImpl with software decoder and |
| DecryptingDemuxerStream"/> |
| <variant name="DVD" summary="RendererImpl with DecryptingVideoDecoder"/> |
| <variant name="HW" summary="RendererImpl with hardware decoder"/> |
| <variant name="MediaFoundationRenderer"/> |
| <variant name="SW" summary="RendererImpl with software decoder"/> |
| <variant name="UnknownRenderer" summary="an unknown Renderer"/> |
| </token> |
| </histogram> |
| |
| <histogram name="Media.PipelineStatus.Start" enum="PipelineStatus" |
| expires_after="2023-10-09"> |
| <owner>xhwang@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Status of the media pipeline starting process (including demuxer and |
| renderer initialization). If the media pipeline is destroyed during the |
| starting process nothing will be reported, but this should relatively rare. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.PipelineStatus.{StreamType}" enum="PipelineStatus" |
| expires_after="never"> |
| <!-- expires-never: Media pipeline health metric. --> |
| |
| <owner>dalecurtis@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Status of the media pipeline at the end of its lifecycle for {StreamType} |
| streams. |
| </summary> |
| <token key="StreamType"> |
| <variant name="AudioOnly" summary="audio-only"/> |
| <variant name="Unsupported" summary="unsupported"/> |
| <variant name="VideoOnly" summary="video-only"/> |
| </token> |
| </histogram> |
| |
| <histogram name="Media.PlatformVideoDecoding.ChromaSampling" |
| enum="VideoChromaSampling" expires_after="2023-02-08"> |
| <owner>tmathmeyer@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Video chroma sub-sampling format requested for decoding through platform |
| decoders. This collection happens regardless of whether the platform decoder |
| supports non-420 video format decoding or not. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.PlatformVideoDecoding.Decode" units="ms" |
| expires_after="never"> |
| <!-- expires-never: used by ChromeOS test infrastructure --> |
| |
| <owner>mcasas@chromium.org</owner> |
| <owner>chromeos-gfx@chromium.org</owner> |
| <summary> |
| Time for the platform-specific (set of) video decode acceleration command(s) |
| to be executed. Output once per decode request submit. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.PlaybackPower.BatteryDelta" |
| enum="MediaPlaybackPowerTypes" expires_after="2020-07-31"> |
| <owner>liberato@chromium.org</owner> |
| <owner>videostack-eng@chromium.org</owner> |
| <summary> |
| Total battery (0-100 percent) consumed by playback. When divided by |
| Media.PlaybackPower.ElapsedTime, this provides the average rate of battery |
| drain for that category of playback. Units are (total) percent. This is |
| recorded when an entire percent (or more) is consumed during playback. Since |
| devices have different battery sizes, methods of measuring battery, and |
| different power consumption rates, it's a good idea to filter by a specific |
| device type and OS version before trying to interpret these results. The |
| magnitude of these numbers, alone, is also likely hard to use, for this |
| reason. Instead, consider comparing A/B experiments to see if they get |
| larger or smaller. Playbacks under one msec are ignored. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.PlaybackPower.ElapsedTime" |
| enum="MediaPlaybackPowerTypes" expires_after="2020-07-31"> |
| <owner>liberato@chromium.org</owner> |
| <owner>videostack-eng@chromium.org</owner> |
| <summary> |
| Total time, in msec, elapsed while consuming the battery described by |
| Media.PlaybackPower.BatteryDelta. See that histogram for details. Recorded |
| when one or more percent of battery is consumed during playback. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.ProgressEventTimerState" |
| enum="HTMLMediaElement_ProgressEventTimerState" expires_after="2021-08-01"> |
| <owner>fdoray@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Records the state of an HTMLMediaElement when its "progress event" |
| timer fires. Used to determine how often the timer causes unnecessary wake |
| ups, to prioritize crbug.com/1143317 and measure the impact of eventual |
| fixes. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.RebuffersCount" units="rebuffers" expires_after="never"> |
| <!-- expires-never: Media pipeline health metric. --> |
| |
| <owner>dalecurtis@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Indicates the number of rebuffers a given watch time session had. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.RegionCapture.CropTo.Latency" units="ms" |
| expires_after="2024-01-15"> |
| <owner>eladalon@chromium.org</owner> |
| <owner>jophba@chromium.org</owner> |
| <owner>mfoltz@chromium.org</owner> |
| <summary> |
| Duration in milliseconds of the time it takes for a |
| BrowserCaptureMediaStreamTrack.cropTo() call to resolve(either successfully |
| or with an error). Note a call which never resolves won't be counted in this |
| metric. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.RegionCapture.CropTo.Result" enum="CropToResult" |
| expires_after="2024-01-15"> |
| <owner>eladalon@chromium.org</owner> |
| <owner>jophba@chromium.org</owner> |
| <owner>mfoltz@chromium.org</owner> |
| <summary> |
| Tracks the result of calls to BrowserCaptureMediaStreamTrack.cropTo(). |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.RegionCapture.ProduceCropTarget.Function.Result" |
| enum="ProduceCropTargetFunctionResult" expires_after="2024-01-15"> |
| <owner>eladalon@chromium.org</owner> |
| <owner>jophba@chromium.org</owner> |
| <owner>mfoltz@chromium.org</owner> |
| <summary> |
| Tracks the result of calls to MediaDevices.produceCropTarget(). |
| Specifically, this histogram tracks whether a new Promise was produced, and |
| if not, why not. Another histogram tracks the result of new Promises, i.e. |
| whether they were resolved or rejected. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.RegionCapture.ProduceCropTarget.Promise.Result" |
| enum="ProduceCropTargetPromiseResult" expires_after="2024-01-15"> |
| <owner>eladalon@chromium.org</owner> |
| <owner>jophba@chromium.org</owner> |
| <owner>mfoltz@chromium.org</owner> |
| <summary> |
| When ProduceCropTarget() is called for the first time on a given |
| HTMLElement, a new Promise is produced. This histogram tracks the result of |
| this Promise - whether it was resolved or rejected. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.Remoting.AudioBitrate" units="kbps" |
| expires_after="2023-11-12"> |
| <owner>jophba@chromium.org</owner> |
| <owner>openscreen-eng@google.com</owner> |
| <summary> |
| Measured audio content transfer bitrate while remoting content. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.Remoting.AudioChannelLayout" enum="ChannelLayout" |
| expires_after="2023-09-12"> |
| <owner>jophba@chromium.org</owner> |
| <owner>openscreen-eng@google.com</owner> |
| <summary>Audio channel layout used while remoting content.</summary> |
| </histogram> |
| |
| <histogram name="Media.Remoting.AudioCodec" enum="AudioCodec" |
| expires_after="2023-11-12"> |
| <owner>jophba@chromium.org</owner> |
| <owner>openscreen-eng@google.com</owner> |
| <summary>Audio codec used while remoting content.</summary> |
| </histogram> |
| |
| <histogram name="Media.Remoting.AudioSamplesPerSecond" enum="AudioSampleRate" |
| expires_after="2023-09-12"> |
| <owner>jophba@chromium.org</owner> |
| <owner>openscreen-eng@google.com</owner> |
| <summary>Audio sampling rate while remoting audio content.</summary> |
| </histogram> |
| |
| <histogram name="Media.Remoting.AudioSamplesPerSecondUnexpected" units="Hz" |
| expires_after="2023-09-12"> |
| <owner>jophba@chromium.org</owner> |
| <owner>openscreen-eng@google.com</owner> |
| <summary> |
| Audio sampling rate while remoting audio content (atypical values, in Hz). |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.Remoting.Compatibility" enum="RemotingCompatibility" |
| expires_after="2023-11-12"> |
| <owner>takumif@chromium.org</owner> |
| <owner>openscreen-eng@google.com</owner> |
| <summary> |
| Whether the given media is compatible with media remoting. Recorded whenever |
| the conditions are met to start remoting (e.g. the media element is the |
| dominant page content and is not paused). |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.Remoting.RemotePlaybackEnabledByPage" |
| enum="BooleanEnabled" expires_after="2023-11-12"> |
| <owner>jophba@chromium.org</owner> |
| <owner>openscreen-eng@google.com</owner> |
| <summary> |
| Tracks whether a web page allows content to be remoted. Recorded when the |
| media player finishes loading and when the site changes this attribute |
| afterwards. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.Remoting.SessionDuration" units="ms" |
| expires_after="2023-11-12"> |
| <owner>jophba@chromium.org</owner> |
| <owner>openscreen-eng@google.com</owner> |
| <summary>Measures the duration of each remoting session.</summary> |
| </histogram> |
| |
| <histogram name="Media.Remoting.SessionStartFailedReason" |
| enum="RemotingStartFailReason" expires_after="2023-12-01"> |
| <owner>muyaoxu@google.com</owner> |
| <owner>openscreen-eng@google.com</owner> |
| <summary>Tracks the reason that a session failed to start.</summary> |
| </histogram> |
| |
| <histogram name="Media.Remoting.SessionStartTrigger" |
| enum="RemotingStartTrigger" expires_after="2023-11-12"> |
| <owner>jophba@chromium.org</owner> |
| <owner>openscreen-eng@google.com</owner> |
| <summary>Tracks the trigger for starting a remoting session.</summary> |
| </histogram> |
| |
| <histogram name="Media.Remoting.SessionStopTrigger" enum="RemotingStopTrigger" |
| expires_after="2023-11-12"> |
| <owner>jophba@chromium.org</owner> |
| <owner>openscreen-eng@google.com</owner> |
| <summary>Tracks the trigger for stopping a remoting session.</summary> |
| </histogram> |
| |
| <histogram name="Media.Remoting.ShortSessionDuration" units="ms" |
| expires_after="2023-11-12"> |
| <owner>jophba@chromium.org</owner> |
| <owner>openscreen-eng@google.com</owner> |
| <summary> |
| Measures the duration of each remoting session shorter than 15 seconds. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.Remoting.TimeUntilFirstPlayout" units="ms" |
| expires_after="2023-11-12"> |
| <owner>jophba@chromium.org</owner> |
| <owner>openscreen-eng@google.com</owner> |
| <summary> |
| Measures how long, from the start of a remoting session, until content began |
| playing out on the remote device. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.Remoting.TimeUntilRemoteInitialized" units="ms" |
| expires_after="2023-11-12"> |
| <owner>jophba@chromium.org</owner> |
| <owner>openscreen-eng@google.com</owner> |
| <summary> |
| Measures how long, from the start of a remoting session, until a message was |
| received from the remote device indicating initialization succeeded. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.Remoting.TrackConfiguration" |
| enum="RemotingTrackConfiguration" expires_after="2023-09-12"> |
| <owner>jophba@chromium.org</owner> |
| <owner>openscreen-eng@google.com</owner> |
| <summary>Tracks whether audio or video or both are remoted.</summary> |
| </histogram> |
| |
| <histogram name="Media.Remoting.VideoAspectRatio" units="%" |
| expires_after="2023-09-12"> |
| <owner>jophba@chromium.org</owner> |
| <owner>openscreen-eng@google.com</owner> |
| <summary>Aspect ratio of video while remoting content.</summary> |
| </histogram> |
| |
| <histogram name="Media.Remoting.VideoBitrate" units="kbps" |
| expires_after="2023-11-12"> |
| <owner>jophba@chromium.org</owner> |
| <owner>openscreen-eng@google.com</owner> |
| <summary> |
| Measured video content transfer bitrate while remoting content. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.Remoting.VideoCodec" enum="VideoCodec" |
| expires_after="2023-09-12"> |
| <owner>jophba@chromium.org</owner> |
| <owner>openscreen-eng@google.com</owner> |
| <summary>Video codec used while remoting content.</summary> |
| </histogram> |
| |
| <histogram name="Media.Remoting.VideoCodecProfile" enum="VideoCodecProfile" |
| expires_after="2023-11-12"> |
| <owner>jophba@chromium.org</owner> |
| <owner>openscreen-eng@google.com</owner> |
| <summary>Video codec profile used while remoting content.</summary> |
| </histogram> |
| |
| <histogram name="Media.Remoting.VideoNaturalWidth" units="pixels" |
| expires_after="2023-09-12"> |
| <owner>jophba@chromium.org</owner> |
| <owner>openscreen-eng@google.com</owner> |
| <summary>Video width while remoting content.</summary> |
| </histogram> |
| |
| <histogram name="Media.Remoting.VideoPixelRateSupport" |
| enum="RemotingVideoPixelRateSupport" expires_after="2023-11-12"> |
| <owner>takumif@chromium.org</owner> |
| <owner>openscreen-eng@google.com</owner> |
| <summary> |
| Pixels-per-second in a video and whether the receiver supports its playback. |
| Recorded whenever we are about to start media remoting a video. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.RtcLowLatencyVideoRenderer.AverageQueueLengthX10" |
| units="frames" expires_after="2023-10-22"> |
| <owner>kron@chromium.org</owner> |
| <owner>webrtc-video@google.com</owner> |
| <summary> |
| 10 times the average queue length when Render() is called in the RTC |
| low-latency video renderer. Repeatedly measured with a period of 100 s for |
| as long as the stream is active. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.RtcLowLatencyVideoRenderer.DrainedFramesPermille" |
| units="permille" expires_after="2023-10-22"> |
| <owner>kron@chromium.org</owner> |
| <owner>webrtc-video@google.com</owner> |
| <summary> |
| Per mille of frames drained in the RTC low-latency video renderer. |
| Repeatedly measured with a period of 100 s for as long as the stream is |
| active. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.RtcLowLatencyVideoRenderer.DroppedFramesPermille" |
| units="permille" expires_after="2023-10-22"> |
| <owner>kron@chromium.org</owner> |
| <owner>webrtc-video@google.com</owner> |
| <summary> |
| Per mille of frames dropped in the RTC low-latency video renderer. |
| Repeatedly measured with a period of 100 s for as long as the stream is |
| active. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.RtcLowLatencyVideoRenderer.EnterDrainModeCount" |
| units="count" expires_after="2023-10-22"> |
| <owner>kron@chromium.org</owner> |
| <owner>webrtc-video@google.com</owner> |
| <summary> |
| Number of times drain mode is entered. Repeatedly measured with a period of |
| 100 s for as long as the stream is active. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.RtcLowLatencyVideoRenderer.MaxQueueLength" |
| units="frames" expires_after="2023-05-27"> |
| <owner>kron@chromium.org</owner> |
| <owner>webrtc-video@google.com</owner> |
| <summary> |
| The maximum queue length that is observed when Render() is called in the RTC |
| low-latency video renderer. Repeatedly measured with a period of 100 s for |
| as long as the stream is active. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.RtcLowLatencyVideoRenderer.MaxSizeDropQueueCount" |
| units="count" expires_after="2023-10-01"> |
| <owner>kron@chromium.org</owner> |
| <owner>webrtc-video@google.com</owner> |
| <summary> |
| Number of times the maximum queue size is exceeded and the entire queue is |
| dropped. Repeatedly measured with a period of 100 s for as long as the |
| stream is active. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.RtcLowLatencyVideoRenderer.NoNewFrameToRenderPermille" |
| units="permille" expires_after="2023-10-22"> |
| <owner>kron@chromium.org</owner> |
| <owner>webrtc-video@google.com</owner> |
| <summary> |
| Per mille of render times where the queue is empty and there is no new frame |
| to render. Repeatedly measured with a period of 100 s for as long as the |
| stream is active. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.RtcLowLatencyVideoRenderer.ReduceSteadyStateCount" |
| units="count" expires_after="2023-10-22"> |
| <owner>kron@chromium.org</owner> |
| <owner>webrtc-video@google.com</owner> |
| <summary> |
| Number of times the reduce steady state queue feature is activated. |
| Repeatedly measured with a period of 100 s for as long as the stream is |
| active. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.RtcLowLatencyVideoRenderer.TotalFrames" units="frames" |
| expires_after="2023-10-22"> |
| <owner>kron@chromium.org</owner> |
| <owner>webrtc-video@google.com</owner> |
| <summary> |
| Total number of frames enqueued to the RTC low-latency video renderer. |
| Repeatedly measured with a period of 100 s for as long as the stream is |
| active. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.RtcLowLatencyVideoRenderer.TryToRenderFrameCount" |
| units="count" expires_after="2023-10-22"> |
| <owner>kron@chromium.org</owner> |
| <owner>webrtc-video@google.com</owner> |
| <summary> |
| Number of times we try to render a new frame. Repeatedly measured with a |
| period of 100 s for as long as the stream is active. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.RTCVideoDecoderError" enum="MediaStatusCode" |
| expires_after="2024-04-20"> |
| <owner>posciak@chromium.org</owner> |
| <owner>liberato@chromium.org</owner> |
| <owner>webrtc-video@google.com</owner> |
| <summary> |
| Counts of video decode errors reported to RTCVideoDecoder, recorded when an |
| error is reportd to RTCVideoDecoder. Also used for DecoderStream. Expired in |
| M83 and re-added in M92. Warning: this histogram was expired between |
| 2023-04-16 to 2023-04-20; data may be missing. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.RTCVideoDecoderFallbackReason.{Codecs}" |
| enum="RTCVideoDecoderFallbackReason" expires_after="2023-10-10"> |
| <owner>kron@chromium.org</owner> |
| <owner>webrtc-video@google.com</owner> |
| <summary> |
| The reason for fallback to software decoding for the codec {Codecs}. |
| Reported when a fallback to software decoding occurs. |
| </summary> |
| <token key="Codecs"> |
| <variant name="H264" summary=""/> |
| <variant name="Other" summary=""/> |
| <variant name="Vp8" summary=""/> |
| <variant name="Vp9" summary=""/> |
| </token> |
| </histogram> |
| |
| <histogram name="Media.RTCVideoDecoderFirstFrameLatencyMs" units="ms" |
| expires_after="2022-06-05"> |
| <owner>liberato@chromium.org</owner> |
| <owner>webrtc-video@google.com</owner> |
| <summary> |
| Time from decoder creation until the first frame is decoded. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.RTCVideoDecoderInitDecodeSuccess" enum="BooleanSuccess" |
| expires_after="never"> |
| <!-- expires-never: WebRTC health metric. --> |
| |
| <owner>mcasas@chromium.org</owner> |
| <owner>sprang@chromium.org</owner> |
| <owner>chromeos-gfx@chromium.org</owner> |
| <summary> |
| Indicates whether we were successful in initializing hardware video decoder |
| for use in the RTC pipeline. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.RTCVideoDecoderInitializationLatencyMs" units="ms" |
| expires_after="2023-10-10"> |
| <owner>kron@chromium.org</owner> |
| <owner>webrtc-video@google.com</owner> |
| <summary> |
| Initialization latency of the hardware video decoder that is used in the RTC |
| pipeline. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.RTCVideoDecoderMaxInFlightDecodes" units="frames" |
| expires_after="2024-04-20"> |
| <owner>liberato@chromium.org</owner> |
| <owner>webrtc-video@google.com</owner> |
| <summary> |
| Max number of frames sent for video decode via the DecoderStream adapter, |
| that have not also returned a decoded video frame. The metric is emitted |
| once per RTCVideoDecoderStreamAdapter instance, as the max observed value |
| over that instance's lifetime. Warning: this histogram was expired between |
| 2022-08-14 to 2023-04-20; data may be missing. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.RTCVideoDecoderProfile" enum="VideoCodecProfile" |
| expires_after="never"> |
| <!-- expires-never: Codec and container support planning metric. --> |
| |
| <owner>mcasas@chromium.org</owner> |
| <owner>sprang@chromium.org</owner> |
| <owner>chromeos-gfx@chromium.org</owner> |
| <summary>Video codec profile used in RTC video decoder.</summary> |
| </histogram> |
| |
| <histogram name="Media.RTCVideoDecoderReinitializationLatencyMs" units="ms" |
| expires_after="2023-10-10"> |
| <owner>kron@chromium.org</owner> |
| <owner>webrtc-video@google.com</owner> |
| <summary> |
| Reinitialization latency of the hardware video decoder that is used in the |
| RTC pipeline. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.RTCVideoDecoderStream.Error.OnFrameReady" |
| enum="MediaStatusCode" expires_after="2021-08-15"> |
| <owner>liberato@chromium.org</owner> |
| <owner>webrtc-video@google.com</owner> |
| <summary> |
| This records the media::StatusCode from the RTCVideoDecoderStreamAdapter. It |
| is emitted when the adapter encounters an error during decoding. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.RTCVideoEncoderInitEncodeSuccess" enum="BooleanSuccess" |
| expires_after="never"> |
| <!-- expires-never: WebRTC health metric. --> |
| |
| <owner>mcasas@chromium.org</owner> |
| <owner>sprang@chromium.org</owner> |
| <owner>chromeos-gfx@chromium.org</owner> |
| <summary> |
| Indicates whether we were successful in initializing hardware video encoder |
| for use in the RTC pipeline. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.RTCVideoEncoderProfile" enum="VideoCodecProfile" |
| expires_after="never"> |
| <!-- expires-never: Codec and container support planning metric. --> |
| |
| <owner>mcasas@chromium.org</owner> |
| <owner>sprang@chromium.org</owner> |
| <owner>chromeos-gfx@chromium.org</owner> |
| <summary>Video codec profile used in RTC video encoder.</summary> |
| </histogram> |
| |
| <histogram name="Media.RTCVideoEncoderStatus.{Codecs}" enum="EncoderStatus" |
| expires_after="never"> |
| <!-- expires-never: Codec and container support planning metric. --> |
| |
| <owner>hiroh@chromium.org</owner> |
| <owner>mcasas@chromium.org</owner> |
| <owner>sprang@chromium.org</owner> |
| <owner>chromeos-gfx@chromium.org</owner> |
| <summary> |
| Records if the {Codecs} encoder was torn down because the stream ended, or |
| if it was due to an encoder error. Recorded once when shutting down an |
| accelerated (or out of process) video encoder. |
| </summary> |
| <token key="Codecs"> |
| <variant name="AV1" summary=""/> |
| <variant name="H264" summary=""/> |
| <variant name="Other" summary=""/> |
| <variant name="VP8" summary=""/> |
| <variant name="VP9" summary=""/> |
| </token> |
| </histogram> |
| |
| <histogram name="Media.RTCVideoEncoderTimestampMatchSuccess" |
| enum="BooleanSuccess" expires_after="M77"> |
| <owner>emircan@chromium.org</owner> |
| <summary> |
| Indicates whether we were successful in preserving timestamps in hardware |
| video encoder session. It is tracked during the session and logged after it |
| ends. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.Session.ActiveTime" units="ms" |
| expires_after="2023-01-22"> |
| <owner>steimel@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Time during which a media session has been active, in other words, the time |
| between an activation and deactivation, without counting time while it was |
| suspended. If a session is activated after being deactivated, there will be |
| two entries. For example, if a user plays a song but is interrupted by a |
| phone call, it will only account for the song playing time. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.Session.Pause" enum="MediaSessionActionSource" |
| expires_after="2021-12-05"> |
| <owner>steimel@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| The number of times the user paused playback of a media session using other |
| means than the pause button on the page. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.Session.Play" enum="MediaSessionActionSource" |
| expires_after="2023-10-22"> |
| <owner>steimel@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| The number of times the user started playback of a media session using other |
| means than the play button on the page. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.Session.Stop" enum="MediaSessionActionSource" |
| expires_after="2022-02-06"> |
| <owner>steimel@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| The number of times the user stopped a media session using other means than |
| the pause button on the page. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.Session.Suspended" enum="MediaSessionSuspendedSource" |
| expires_after="2022-02-06"> |
| <owner>steimel@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| The number of times a media session is suspended and why it has been |
| suspended. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.SRC.VideoCodec.MP4" enum="VideoCodec" |
| expires_after="never"> |
| <!-- expires-never: Codec and container support planning metric. --> |
| |
| <owner>dalecurtis@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Video codec used in plain src= (not MSE) HTML5 media if the media container |
| is MP4. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.SRC.VideoCodec.WebM" enum="VideoCodec" |
| expires_after="never"> |
| <!-- expires-never: Codec and container support planning metric. --> |
| |
| <owner>dalecurtis@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Video codec used in plain src= (not MSE) HTML5 media if the media container |
| is WebM. |
| </summary> |
| </histogram> |
| |
| <histogram base="true" name="Media.TimeToFirstFrame" units="ms" |
| expires_after="never"> |
| <!-- expires-never: Media pipeline health metric. --> |
| |
| <owner>dalecurtis@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Time in milliseconds from when WebMediaPlayerImpl starts loading until the |
| first video frame has been shown. |
| </summary> |
| </histogram> |
| |
| <histogram base="true" name="Media.TimeToMetadata" units="ms" |
| expires_after="never"> |
| <!-- expires-never: Media pipeline health metric. --> |
| |
| <owner>dalecurtis@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Time in milliseconds from when WebMediaPlayerImpl starts loading until |
| metadata is known. |
| </summary> |
| </histogram> |
| |
| <histogram base="true" name="Media.TimeToPlayReady" units="ms" |
| expires_after="never"> |
| <!-- expires-never: Media pipeline health metric. --> |
| |
| <owner>dalecurtis@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Time in milliseconds from when WebMediaPlayer starts loading until it has |
| buffered enough to start playback. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.TotalMBytes" units="MB" expires_after="M85"> |
| <owner>hajimehoshi@chromium.org</owner> |
| <owner>kouhei@chromium.org</owner> |
| <owner>scherkus@chromium.org</owner> |
| <summary>Size of HTML5 media (when known), in MB.</summary> |
| </histogram> |
| |
| <histogram name="Media.Ui.GetDisplayMedia.BasicFlow.UserInteraction" |
| enum="MediaUiGetDisplayMediaBasicFlowUserInteraction" |
| expires_after="2023-11-12"> |
| <owner>eladalon@chromium.org</owner> |
| <owner>fbeaufort@chromium.org</owner> |
| <summary> |
| Records the result of the user's interaction with the media picker dialog |
| which is displayed following a call to getDisplayMedia that results in the |
| basic flow (preferCurrentTab either unspecified or is false). |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.Ui.GetDisplayMedia.DisplayCapturePolicyResult" |
| enum="DisplayCapturePolicyResult" expires_after="2023-11-12"> |
| <owner>eladalon@chromium.org</owner> |
| <owner>guidou@chromium.org</owner> |
| <summary> |
| Records whether the display-capture permission policy allows/disallows this |
| call to getDisplayMedia. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.Ui.GetDisplayMedia.PreferCurrentTabFlow.UserInteraction" |
| enum="MediaUiGetDisplayMediaPreferCurrentTabFlowUserInteraction" |
| expires_after="2023-11-12"> |
| <owner>eladalon@chromium.org</owner> |
| <owner>fbeaufort@chromium.org</owner> |
| <summary> |
| Records the result of the user's interaction with the media picker dialog |
| which is displayed following a call to getDisplayMedia where |
| preferCurrentTab was specified. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.Ui.GetDisplayMedia.{Flow}.DialogDuration" units="ms" |
| expires_after="2024-05-29"> |
| <owner>tovep@chromium.org</owner> |
| <owner>eladalon@chromium.org</owner> |
| <summary> |
| The time-duration the DesktopMediaPickerDialog is opened when |
| getDisplayMedia is called with the preferCurrentTab constraint either set to |
| true (PreferCurrentTabFlow) or unspecified/false (BasicFlow). The duration |
| is recorded each time the dialog is closed. |
| </summary> |
| <token key="Flow"> |
| <variant name="BasicFlow"/> |
| <variant name="PreferCurrentTabFlow"/> |
| </token> |
| </histogram> |
| |
| <histogram base="true" name="Media.UnderflowDuration2" units="ms" |
| expires_after="never"> |
| <!-- expires-never: Media pipeline health metric. --> |
| |
| <!-- Name completed by histogram_suffixes name="WebMediaPlayerImplTypes" --> |
| |
| <owner>dalecurtis@chromium.org</owner> |
| <summary> |
| The amount of time taken to leave the underflow state (i.e. resume playback) |
| for playbacks. This doesn't report initial zero samples, which was |
| previously used to compensate for playbacks that don't rebuffer. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.URLScheme2" enum="URLSchemeForHistogram" |
| expires_after="never"> |
| <!-- expires-never: Codec support planning metric. --> |
| |
| <owner>dalecurtis@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| URL scheme used with HTML5 media; only recorded for src=URL playbacks and |
| not for Media Source Extensions playbacks. Each URL provides one sample. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.VaapiLinux.SupportedVideoDecoder" |
| enum="VideoDecoderType" expires_after="2022-02-28"> |
| <owner>tmathmeyer@chromium.org</owner> |
| <owner>videostack-eng@google.com</owner> |
| <summary> |
| Records the usage of VaapiVideoDecoder VaapiVideoDecodeAccelerator based on |
| vulkan support and Vaapi driver version on linux. This is recorded on GPU |
| process startup when hardware accelerated video decoding support is checked. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.VaapiVideoDecoder.DecodeError" enum="BooleanError" |
| expires_after="2023-10-22"> |
| <owner>mcasas@chromium.org</owner> |
| <owner>chromeos-gfx@chromium.org</owner> |
| <summary> |
| The codec-specific delegate in VaapiVideoDecoder has returned an error from |
| Decode(). This could be a parse error, or a VA error itself. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.VaapiVideoDecoder.VaapiWrapperCreationSuccess" |
| enum="BooleanSuccess" expires_after="2023-10-08"> |
| <owner>mcasas@chromium.org</owner> |
| <owner>chromeos-gfx-video@google.com</owner> |
| <summary> |
| Whether the creation of VaapiWrapper succeeded or not inside |
| VaapiVideoDecoder. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.VaapiWrapper.VADisplayStateInitializeSuccess" |
| enum="BooleanSuccess" expires_after="2024-04-20"> |
| <owner>mcasas@chromium.org</owner> |
| <owner>chromeos-gfx-video@google.com</owner> |
| <summary> |
| Whether the call to VaapiWrapper's VADisplayState::Initialize() succeeded or |
| not. Warning: this histogram was expired between 2023-02-12 to 2023-04-20; |
| data may be missing. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.VAJDA.ResponseToClient" |
| enum="MjpegDecodeAcceleratorErrorCode" expires_after="2022-01-07"> |
| <owner>andrescj@chromium.org</owner> |
| <owner>chromeos-gfx@chromium.org</owner> |
| <summary> |
| The response given to the client by VaapiJpegDecodeAccelerator for a decode |
| request. This is recorded when the decode succeeds or fails. The recorded |
| value corresponds to a MjpegDecodeAccelerator::Error. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.VAJEA.EncoderResult" enum="VAJEAEncoderResult" |
| expires_after="M95"> |
| <owner>wtlee@chromium.org</owner> |
| <owner>chromeos-gfx@chromium.org</owner> |
| <summary> |
| Result codes reported by jpeg encode using VA-API hardware jpeg encoder. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.VAVDA.VaapiWrapperCreationSuccess" enum="BooleanSuccess" |
| expires_after="2023-02-12"> |
| <owner>mcasas@chromium.org</owner> |
| <owner>chromeos-gfx-video@google.com</owner> |
| <summary> |
| Whether the creation of VaapiWrapper succeeded or not inside VaVDA. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.Video.Autoplay" enum="AutoplaySource" |
| expires_after="2023-11-12"> |
| <owner>dalecurtis@chromium.org</owner> |
| <owner>evliu@google.com</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Records the autoplay source of videos. This includes |
| Media.Video.Autoplay.Muted. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.Video.Autoplay.Muted.PlayMethod.BecomesVisible" |
| enum="Boolean" expires_after="2024-01-30"> |
| <owner>dalecurtis@chromium.org</owner> |
| <owner>evliu@google.com</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Records muted video started playing with play() become visible at some |
| point. The UMA for false is not complete since it is recorded in a |
| destructor which is garbage-collected. Please subtract |
| Media.Video.Autoplay.Muted "play() method" count with the true |
| count of this histogram to obtain the real false count. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.Video.Autoplay.Muted.PlayMethod.OffscreenDuration" |
| units="ms" expires_after="2024-01-30"> |
| <owner>dalecurtis@chromium.org</owner> |
| <owner>evliu@google.com</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Records the offscreen playing duration of a muted video autoplaying from |
| play() method. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.Video.Autoplay.Muted.UnmuteAction" enum="BooleanSuccess" |
| expires_after="2023-09-03"> |
| <owner>dalecurtis@chromium.org</owner> |
| <owner>evliu@google.com</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Status of the unmute action on a video that autoplayed because it was muted. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Media.Video.Capture.Mac.CameraSystemPermission.FixedTime.SinceFirstFailure" |
| units="ms" expires_after="2023-07-01"> |
| <owner>toprice@chromium.org</owner> |
| <owner>video-cmi-apis@google.com</owner> |
| <summary> |
| The time from the first camera access failure due to blocked system |
| permission before the last browser restart to startup after browser restart. |
| Logged once at browser startup if the system permission then is allowed. |
| Warning: this histogram was expired from 2020-03-01 to 2022-03-09; data may |
| be missing. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Media.Video.Capture.Mac.CameraSystemPermission.FixedTime.SinceLastFailure" |
| units="ms" expires_after="2023-07-01"> |
| <owner>toprice@chromium.org</owner> |
| <owner>video-cmi-apis@google.com</owner> |
| <summary> |
| The time from the last camera access failure due to blocked system |
| permission before the last browser restart to startup after browser restart. |
| Logged once at browser startup if the system permission then is allowed. |
| Warning: this histogram was expired from 2020-03-01 to 2022-03-09; data may |
| be missing. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.Video.Capture.Mac.CameraSystemPermission.Startup" |
| enum="SystemMediaCapturePermission" expires_after="2023-09-24"> |
| <owner>toprice@chromium.org</owner> |
| <owner>video-cmi-apis@google.com</owner> |
| <summary> |
| The Mac system permission state for camera. Logged once at browser startup. |
| For more information on the values, see |
| https://developer.apple.com/documentation/avfoundation/avauthorizationstatus. |
| Warning: this histogram was expired from 2020-03-01 to 2022-03-09; data may |
| be missing. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Media.Video.Capture.Mac.CameraSystemPermission.StartupAfterFailure" |
| enum="SystemMediaCapturePermission" expires_after="2023-07-01"> |
| <owner>toprice@chromium.org</owner> |
| <owner>video-cmi-apis@google.com</owner> |
| <summary> |
| The Mac system permission state for camera. Logged once at browser startup |
| if there was a failure accessing the camera due to blocked system permission |
| before the last browser restart. For more information on the values, see |
| https://developer.apple.com/documentation/avfoundation/avauthorizationstatus. |
| Warning: this histogram was expired from 2020-03-01 to 2022-03-09; data may |
| be missing. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.Video.Capture.Mac.CameraSystemPermission.UserMedia" |
| enum="SystemMediaCapturePermission" expires_after="2023-11-12"> |
| <owner>toprice@chromium.org</owner> |
| <owner>video-cmi-apis@google.com</owner> |
| <summary> |
| The Mac system permission state for camera at the time of a user media |
| request. Logged when the system permission is checked. If the permission is |
| "not determined" this is logged, permission is requested, and the |
| resulting permission (from the user response) is also logged. For more |
| information on the values, see |
| https://developer.apple.com/documentation/avfoundation/avauthorizationstatus. |
| Warning: this histogram was expired from 2020-03-01 to 2022-03-09; data may |
| be missing. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.Video.Capture.Mac.ScreenCaptureSystemPermission" |
| enum="BooleanAllowed" expires_after="2023-10-08"> |
| <owner>bur@chromium.org</owner> |
| <owner>mark@chromium.org</owner> |
| <summary> |
| The Mac system permission state for screen capture. Logged once at browser |
| startup and when attempting to screen capture. Requires macOS 10.15+. |
| Samples will not be collected on earlier macOS versions. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.Video.Roughness" units="ms" expires_after="2023-11-12"> |
| <owner>eugene@chromium.org</owner> |
| <owner>videostack-eng@chromium.org</owner> |
| <summary> |
| Video playback roughness for a 100s interval. Suffixed by the framerate. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.VideoCapture.AspectRatio" units="%" expires_after="M120"> |
| <owner>mcasas@chromium.org</owner> |
| <owner>jophba@chromium.org</owner> |
| <summary> |
| Video Capture Device captured aspect ratio, as a rounded integer multiplied |
| by 100. The collection is made in the VideoCaptureController upon reception |
| of the first frame. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.VideoCapture.BlacklistedDevice" |
| enum="BlacklistedVideoCaptureDeviceNames" expires_after="M82"> |
| <owner>mcasas@chromium.org</owner> |
| <summary> |
| Counts appearances of Blacklisted Video Capture devices during enumeration. |
| This collection happens during first enumeration in the appropriate |
| platforms' VideoCaptureDeviceFactory. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.VideoCapture.DelayUntilFirstFrame" units="ms" |
| expires_after="2023-11-05"> |
| <owner>armax@chromium.org</owner> |
| <owner>video-cmi-mpp@google.com</owner> |
| <summary> |
| Time it takes from the moment that a VideoCaptureController is requested to |
| start to the moment the first video frame arrives at |
| VideoCaptureController::OnFrameReadyInBuffer(). |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.VideoCapture.Device.Opened.ByModelId" units="usb_id" |
| expires_after="2024-05-23"> |
| <owner>atadres@chromium.org</owner> |
| <summary> |
| This metric records an unsigned interger value that corresponds to the USB |
| ID (vendor + device ID) of the webcam that is currently in use by the user. |
| The USB ID is originally a 32-bit hexadecimal number (formatted as |
| XXXX:XXXX) that then is converted to an unsigned integer for metrics |
| purposes. In case of a unknown/invalid USB ID, 0 is logged. This is done |
| when the CreateDevice method is called on the corresponding |
| VideoCaptureDeviceFactory class based on the operating system. For example, |
| on MacOS, this happens when VideoCaptureDeviceFactoryMac::CreateDevice is |
| called. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.VideoCapture.Device.SupportedPixelFormat" |
| enum="VideoPixelFormatUnion" expires_after="2023-03-19"> |
| <owner>eshr@google.com</owner> |
| <owner>handellm@google.com</owner> |
| <summary> |
| Counts each pixel format an enumerated video capture device supports. This |
| is recorded during the first device enumeration per Capture process launch. |
| (This is usually once per launch of Chrome unless the Capture process |
| crashes.) |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.VideoCapture.Device.SupportedResolution" |
| enum="VideoResolutionDesignation" expires_after="M120"> |
| <owner>eshr@google.com</owner> |
| <owner>handellm@google.com</owner> |
| <owner>jophba@chromium.org</owner> |
| <summary> |
| Counts each resolution supported by an enumerated video capture device. |
| These are categorized by designation (eg. QVGA, HD, 4KUHD, etc) instead of |
| pixel count. This is recorded during the first device enumeration per |
| Capture process launch. (This is usually once per launch of Chrome unless |
| the Capture process crashes.) |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.VideoCapture.Error" enum="VideoCaptureError" |
| expires_after="2023-11-05"> |
| <owner>mcasas@chromium.org</owner> |
| <owner>guidou@chromium.org</owner> |
| <owner>armax@chromium.org</owner> |
| <summary> |
| Breaks down the events counted in Media.VideoCaptureManager.Event bucket |
| "Stopping video capture due to error" by the origin of the error. |
| This allows narrowing down what is causing errors. An event for this |
| histogram is emitted once for each time a client disconnects from a video |
| capture session because the session has reported an error. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.VideoCapture.FrameDrop" |
| enum="VideoCaptureFrameDropReason" expires_after="M120"> |
| <owner>mcasas@chromium.org</owner> |
| <owner>guidou@chromium.org</owner> |
| <owner>armax@chromium.org</owner> |
| <owner>jophba@chromium.org</owner> |
| <summary> |
| An event for this histogram is emitted once for each time a video frame is |
| dropped on the way from a capture source, e.g. a webcam, to a corresponding |
| media::VideoCaptureController instance running in the Browser process. If |
| more than |
| |VideoCaptureController::max_consecutive_frame_drop_for_same_reason_count()| |
| frames are dropped consecutively for the same reason, no more events for the |
| same reason will be counted for that session until either a frame is |
| delivered successfully or the reason for the frame dropping changes. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.VideoCapture.FrameRate" units="fps" expires_after="M120"> |
| <owner>mcasas@chromium.org</owner> |
| <owner>guidou@chromium.org</owner> |
| <owner>armax@chromium.org</owner> |
| <owner>handellm@chromium.org</owner> |
| <owner>jophba@chromium.org</owner> |
| <summary> |
| Video Capture Device frame rate requested by VideoCaptureManager on |
| AllocateAndStart(). The collection is made in the VideoCaptureController |
| upon reception of the first frame. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.VideoCapture.GetDeviceInfosResult" |
| enum="GetDeviceInfosResult" expires_after="M118"> |
| <owner>orphis@chromium.org</owner> |
| <owner>toprice@chromium.org</owner> |
| <summary> |
| Used to track the resolution of |
| ServiceVideoCaptureProvider::GetDeviceInfosAsync() and if a retry has been |
| used to get to the current result. See http://crbug.com/1379392. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.VideoCapture.Height" units="pixels" expires_after="M120"> |
| <owner>mcasas@chromium.org</owner> |
| <owner>handellm@chromium.org</owner> |
| <owner>jophba@chromium.org</owner> |
| <summary> |
| Video Capture Device captured frame height in pixels. The collection is made |
| in the VideoCaptureController upon reception of the first frame. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.VideoCapture.Mac.Device.CapturedIOSurface" |
| enum="Boolean" expires_after="2023-03-19"> |
| <owner>eshr@google.com</owner> |
| <owner>handellm@google.com</owner> |
| <summary> |
| A count of how often the capture device delivers an IOSurface to the capture |
| pipeline. This is recorded once per opening of the camera, when the first |
| video frame is captured. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Media.VideoCapture.Mac.Device.CapturedWithRequestedPixelFormat" |
| enum="Boolean" expires_after="2023-03-19"> |
| <owner>eshr@google.com</owner> |
| <owner>handellm@google.com</owner> |
| <summary> |
| A boolean count of how often the requested pixel format is the one that was |
| actually captured. This is recorded once per opening of the camera, when the |
| first video frame is captured. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.VideoCapture.Mac.Device.CapturedWithRequestedResolution" |
| enum="ResolutionComparison" expires_after="2023-04-23"> |
| <owner>eshr@google.com</owner> |
| <owner>handellm@google.com</owner> |
| <summary> |
| An enumeration count of whether or not the requested resolution equals the |
| captured resolution, detailing which dimensions differ in the enum. This is |
| recorded once per opening of the camera, when the first video frame is |
| captured. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.VideoCapture.Mac.Device.RequestedPixelFormat" |
| enum="VideoPixelFormatUnion" expires_after="2023-03-05"> |
| <owner>eshr@google.com</owner> |
| <owner>handellm@google.com</owner> |
| <summary> |
| Counts the pixel formats requested by the VideoCaptureDevice on Mac. This is |
| recorded when the first video frame is captured. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.VideoCapture.MacBook.AttemptCountWhenNoCamera" |
| units="attempts" expires_after="2020-03-15"> |
| <owner>chfremer@chromium.org</owner> |
| <summary> |
| Indicates how many times Chrome has asked AVFoundation to enumerate devices |
| since the process start when zero devices are returned. This event is only |
| emitted for the first time that zero devices are returned since the process |
| start. This is used in the context of investigating http://crbug.com/582931. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.VideoCapture.MacBook.HardwareVersionWhenNoCamera" |
| enum="MacBookVersions" expires_after="M82"> |
| <owner>perkj@chromium.org</owner> |
| <summary> |
| MacBook hardware version used when Chrome cannot enumerate a video device. |
| This is used for tracking http://crbug.com/582931. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.VideoCapture.MacBook.NumberOfDevices" units="devices" |
| expires_after="M82"> |
| <owner>perkj@chromium.org</owner> |
| <summary> |
| Number of video capture devices detected by Chrome during device |
| enumeration. Zero devices indicate a problem since all MacBooks should have |
| a built-in camera. This is used for tracking http://crbug.com/582931. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.VideoCapture.MaxFrameDropExceeded" |
| enum="VideoCaptureFrameDropReason" expires_after="M77"> |
| <owner>chfremer@chromium.org</owner> |
| <summary> |
| An event for this histogram is emitted when a video capture session drops |
| more than |
| |VideoCaptureController::max_consecutive_frame_drop_for_same_reason_count()| |
| consecutive video frames for the same reason. After this event is emitted |
| once, no additional events are emitted for consecutively dropped frames for |
| the same reason until the count is reset by either a frame being delivered |
| successfully or a frame being dropped for a different reason. See also |
| Media.VideoCapture.FrameDrop. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.VideoCapture.NumberOfClients" units="units" |
| expires_after="2021-12-12"> |
| <owner>fbeaufort@chromium.org</owner> |
| <owner>guidou@chromium.org</owner> |
| <summary> |
| Number of times a video capture device is accessed simultaneously. Recorded |
| when video capturing starts. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.VideoCapture.ScaleOverride" units="units" |
| expires_after="M120"> |
| <owner>jophba@chromium.org</owner> |
| <owner>klausw@chromium.org</owner> |
| <summary> |
| The scalar multiplier used for adjusting the content size during tab capture |
| to align with the requested capture size, multiplied by 100. Recorded when |
| capture of a web contents is started, the content size of the capture |
| changes, and when capture stops. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.VideoCapture.ScaleOverrideChangeCount" units="units" |
| expires_after="M120"> |
| <owner>jophba@chromium.org</owner> |
| <owner>klausw@chromium.org</owner> |
| <summary> |
| The number of times the scale override changed in a single capture session. |
| Recorded when capture of a web contents is stopped. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.VideoCapture.Start" enum="Boolean" |
| expires_after="2023-11-05"> |
| <owner>toprice@chromium.org</owner> |
| <owner>guidou@chromium.org</owner> |
| <summary> |
| Counts the start attempts for video capture, to be compared with the |
| StartOutcome enum histogram. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.VideoCapture.StartErrorCode" enum="VideoCaptureError" |
| expires_after="2023-11-19"> |
| <owner>toprice@chromium.org</owner> |
| <owner>video-cmi-apis@google.com</owner> |
| <summary> |
| Counts detailed outcomes of first starting video capture, as a breakdown of |
| Media.VideoCapture.StartOutcome based on the error codes which caused |
| failures, or kNone if we started successfully. Can also be viewed as the |
| subset of reports to Media.VideoCapture.Error which occur before |
| VideoCaptureImpl first transitions to STARTED. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.VideoCapture.StartOutcome" |
| enum="VideoCaptureStartOutcome" expires_after="2023-11-05"> |
| <owner>toprice@chromium.org</owner> |
| <owner>guidou@chromium.org</owner> |
| <summary> |
| Counts the times Starting video capture results in success or failure (due |
| to eg timeouts etc). |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.VideoCapture.Width" units="pixels" expires_after="M120"> |
| <owner>mcasas@chromium.org</owner> |
| <owner>handellm@chromium.org</owner> |
| <owner>jophba@chromium.org</owner> |
| <summary> |
| Video Capture Device captured frame width in pixels. The collection is made |
| in the VideoCaptureController upon reception of the first frame. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.VideoCapture.Win.D3DDeviceRemovedReason" enum="Hresult" |
| expires_after="2024-05-10"> |
| <owner>ilnik@chromium.org</owner> |
| <owner>video-cmi-mpp@chromium.org</owner> |
| <summary> |
| Error codes received by VideoCaptureDeviceMFWin when checking for D3D11 |
| device removal reason. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.VideoCapture.Win.Device.CapturePixelFormat" |
| enum="VideoPixelFormatUnion" expires_after="2024-03-19"> |
| <owner>ilnik@google.com</owner> |
| <owner>video-cmi-mpp@google.com</owner> |
| <summary> |
| Counts the pixel formats produced by the VideoCaptureDevice on Windows. This |
| is recorded when the camera is opened. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.VideoCapture.Win.Device.InternalPixelFormat" |
| enum="VideoPixelFormatUnion" expires_after="2024-06-04"> |
| <owner>ilnik@google.com</owner> |
| <owner>video-cmi-mpp@google.com</owner> |
| <summary> |
| Counts the pixel formats used internaly by Windows VideoCaptureEngine. This |
| is recorded when the camera is opened. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.VideoCapture.Win.Device.IsSharedTexture" enum="Boolean" |
| expires_after="2023-10-01"> |
| <owner>ilnik@google.com</owner> |
| <owner>video-cmi-mpp@google.com</owner> |
| <summary> |
| Determine what proportion of frames might actually benefit from zero-copy on |
| Windows. This is recorded when the camera is opened and we get the texture |
| from IMFCaptureEngine. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.VideoCapture.Win.Device.RequestedPixelFormat" |
| enum="VideoPixelFormatUnion" expires_after="2024-03-19"> |
| <owner>ilnik@google.com</owner> |
| <owner>video-cmi-mpp@google.com</owner> |
| <summary> |
| Counts the pixel formats requested by the consumer on Windows. This is |
| recorded when the camera is opened. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.VideoCapture.Win.DeviceFactory.CaptureApi" |
| enum="VideoCaptureApi" expires_after="2023-10-08"> |
| <owner>ilnik@google.com</owner> |
| <owner>handellm@google.com</owner> |
| <owner>video-performance-team@google.com</owner> |
| <summary> |
| The Capture API that is used on Windows. This is recorded when the camera is |
| opened. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.VideoCapture.Win.ErrorEvent" enum="Hresult" |
| expires_after="2023-11-05"> |
| <owner>toprice@chromium.org</owner> |
| <owner>hta@chromium.org</owner> |
| <summary> |
| Error codes received by VideoCaptureDeviceMFWin on Windows which caused a |
| kWinMediaFoundationGetMediaEventStatusFailed error, ending video capture. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.VideoCapture.Windows.BackendUsed" |
| enum="VideoCaptureWinBackendUsed" expires_after="M77"> |
| <owner>chfremer@chromium.org</owner> |
| <summary> |
| Indicates which video capture backend is used on Windows. A count is |
| recorded each time a new VideoCaptureDeviceFactoryWin instance is created. |
| </summary> |
| </histogram> |
| |
| <histogram base="true" name="Media.VideoCapture.Windows.ImageCaptureOutcome" |
| enum="ImageCaptureOutcome" expires_after="M85"> |
| <owner>chfremer@chromium.org</owner> |
| <summary> |
| Counts number of times taking a still image on Windows fails/succeeds. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Media.VideoCapture.Windows.NumberOfRetriesNeededForMFGetAvailableDeviceMediaType" |
| units="retries" expires_after="M85"> |
| <owner>chfremer@chromium.org</owner> |
| <summary> |
| Counts how many retries are needed for calls to MediaFoundation function |
| GetAvailableDeviceMediaType before getting a result different from |
| MF_E_INVALIDREQUEST or giving up. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Media.VideoCapture.Windows.NumberOfRetriesNeededForMFGetDeviceStreamCategory" |
| units="retries" expires_after="2023-03-26"> |
| <owner>guidou@chromium.org</owner> |
| <owner>webrtc-dev@chromium.org</owner> |
| <summary> |
| Counts how many retries are needed for calls to MediaFoundation function |
| GetDeviceStreamCategory before getting a result different from |
| MF_E_INVALIDREQUEST or giving up. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Media.VideoCapture.Windows.NumberOfRetriesNeededForMFGetDeviceStreamCount" |
| units="retries" expires_after="2022-02-01"> |
| <owner>guidou@chromium.org</owner> |
| <owner>webrtc-dev@chromium.org</owner> |
| <summary> |
| Counts how many retries are needed for calls to MediaFoundation function |
| GetDeviceStreamCount before getting a result different from |
| MF_E_INVALIDREQUEST or giving up. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.VideoCaptureGpuJpegDecoder.InitDecodeSuccess" |
| enum="BooleanSuccess" expires_after="M77"> |
| <owner>henryhsu@chromium.org</owner> |
| <summary> |
| Indicates whether we were successful in initializing hardware jpeg decoder |
| for attempts to VideoCaptureGpuJpegDecoder::Initialize(). |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.VideoCaptureManager" units="ms" expires_after="M85"> |
| <owner>mcasas@chromium.org</owner> |
| <summary>Measures the time taken for VideoCaptureManager::</summary> |
| </histogram> |
| |
| <histogram name="Media.VideoCaptureManager.DesktopCaptureImplementationAndType" |
| enum="DesktopCaptureImplementationAndType" expires_after="2024-01-23"> |
| <owner>handellm@chromium.org</owner> |
| <owner>ccameron@chromium.org</owner> |
| <summary> |
| Indicates which desktop capture implementation and DesktopID::Type was used |
| for a desktop capture session. Recorded on instantiation of the desktop |
| capturer. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.VideoCaptureManager.DeviceSessionLockDuration" |
| units="ms" expires_after="2023-04-23"> |
| <obsolete> |
| Removed 04/2023. No longer needed. |
| </obsolete> |
| <owner>dalecurtis@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Records the length of time the screen was locked while a device capture |
| session is active. An entry is recorded upon screen unlock or upon closure |
| of all active device capture sessions. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.VideoCaptureManager.DeviceSessionWasLocked" |
| enum="Boolean" expires_after="2023-04-23"> |
| <obsolete> |
| Removed 04/2023. No longer needed. |
| </obsolete> |
| <owner>dalecurtis@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Indicates if a device capture session encountered a screen lock during its |
| lifetime. An entry is recorded once upon session closure. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Media.VideoCaptureService.DurationFromLastConnectToClosingConnectionAfterCapture" |
| units="ms" expires_after="M78"> |
| <owner>chfremer@chromium.org</owner> |
| <summary> |
| Measures the duration from the time the Browser connected to the video |
| capture service to the time it closed the connection. Entries are only |
| logged if the service was used for creating an actual capture session as |
| opposed to enumerating devices only. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Media.VideoCaptureService.DurationFromLastConnectToClosingConnectionAfterEnumerationOnly" |
| units="ms" expires_after="M78"> |
| <owner>chfremer@chromium.org</owner> |
| <summary> |
| Measures the duration from the time the Browser connected to the video |
| capture service to the time it closed the connection. Entries are only |
| logged if the service was used for enumerating devices only, but not for |
| creating an actual capture session. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Media.VideoCaptureService.DurationFromLastConnectToConnectionLost" |
| units="ms" expires_after="M78"> |
| <owner>chfremer@chromium.org</owner> |
| <summary> |
| Measures the duration from the time the Browser connected to the video |
| capture service to the time the connection was lost. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.VideoCaptureService.DurationUntilReconnectAfterCapture" |
| units="ms" expires_after="M77"> |
| <owner>chfremer@chromium.org</owner> |
| <summary> |
| Measures the duration from the time the Browser last closed or lost |
| connection to the video capture service to the time it reconnects. This |
| duration only gets logged for reconnects after usage of the service for |
| capture (as opposed to enumeration-only usage). |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Media.VideoCaptureService.DurationUntilReconnectAfterEnumerationOnly" |
| units="ms" expires_after="M78"> |
| <owner>chfremer@chromium.org</owner> |
| <summary> |
| Measures the duration from the time the Browser last closed or lost |
| connection to the video capture service to the time it reconnects. This |
| duration only gets logged for reconnects after enumeration-only usage of the |
| service. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.VideoCaptureService.Event" |
| enum="VideoCaptureServiceEvent" expires_after="M82"> |
| <owner>chfremer@chromium.org</owner> |
| <summary> |
| Counts video capture service events, such as startup, shutdown, and |
| connection lost. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.VideoCodec" enum="VideoCodec" expires_after="never"> |
| <!-- expires-never: Codec support planning metric. --> |
| |
| <owner>dalecurtis@chromium.org</owner> |
| <summary>Video codec used in HTML5 media.</summary> |
| </histogram> |
| |
| <histogram name="Media.VideoDecoderFallback.{VideoCodec}" |
| enum="BooleanDidFallBack" expires_after="never"> |
| <!-- expires-never: Media pipeline health metric. --> |
| |
| <owner>dalecurtis@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Whether Chrome had to fall back to a secondary video decoder with |
| {VideoCodec} video codec after the primary decoder failed reinitialization. |
| </summary> |
| <token key="VideoCodec" variants="VideoCodec"/> |
| </histogram> |
| |
| <histogram name="Media.VideoDecodeStatsDB.OpSuccess.{DbOperation}" |
| enum="BooleanSuccess" expires_after="never"> |
| <!-- expires-never: MediaCapabilities DB health metric. --> |
| |
| <owner>chcunningham@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Indicates whether we were successful performing the operation to |
| {DbOperation}. Recorded once the operation completes. |
| </summary> |
| <token key="DbOperation" variants="DbOperation"/> |
| </histogram> |
| |
| <histogram name="Media.VideoDecodeStatsDB.OpTiming.{DbOperation}" |
| units="microseconds" expires_after="never"> |
| <!-- expires-never: MediaCapabilities DB health metric. --> |
| |
| <owner>chcunningham@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Indicates duration of time performing the operation to {DbOperation}. |
| Recorded once the operation completes or times out. Reported for all users |
| regardless of clock resolution. |
| </summary> |
| <token key="DbOperation" variants="DbOperation"/> |
| </histogram> |
| |
| <histogram name="Media.VideoFrameSubmitter" units="ms" expires_after="never"> |
| <!-- expires-never: used by ChromeOS test infrastructure --> |
| |
| <owner>mcasas@chromium.org</owner> |
| <owner>chromeos-gfx@chromium.org</owner> |
| <summary> |
| Delay between a VideoFrame being decoded and it being consumed by the OS |
| presentation API (on ChromeOS, this includes the display controller too). |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.VideoFrameSubmitter.PreSubmitBuffering" units="ms" |
| expires_after="never"> |
| <!-- expires-never: used by ChromeOS test infrastructure --> |
| |
| <owner>mcasas@chromium.org</owner> |
| <owner>chromeos-gfx@chromium.org</owner> |
| <summary> |
| Delay between a VideoFrame being decoded and it being handed over to the |
| CompositorFrameSink, essentially capturing the buffering in the Renderer. |
| This value is strictly included in Media.VideoFrameSubmitter |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.VideoHeight.Initial.{PlaybackType}" units="pixels" |
| expires_after="2024-04-11"> |
| <owner>xhwang@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| The height of the first video frame in an HTML5 video for {PlaybackType} |
| playbacks. Reported when the first video frame is available. |
| </summary> |
| <token key="PlaybackType"> |
| <variant name="All" summary="all"/> |
| <variant name="EME"/> |
| <variant name="MSE"/> |
| <variant name="SRC"/> |
| </token> |
| </histogram> |
| |
| <histogram name="Media.VideoPersistence.AttemptResult" |
| enum="VideoPersistenceAttemptResult" expires_after="2021-09-19"> |
| <owner>peconn@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Every time a video persistence session could be triggered, it records the |
| result of the attempt. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.VideoPersistence.ControlsType" |
| enum="VideoPersistenceControlsType" expires_after="2021-09-19"> |
| <owner>peconn@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Record the type of controls a persisted video is using. This is recorded |
| every time a video enters persistence mode |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.VideoPersistence.Duration" units="ms" |
| expires_after="M93"> |
| <owner>peconn@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Records the length during which a video was in a persistent state. It is |
| recorded once per video persistence session. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.VideoPersistence.EndReason" |
| enum="VideoPersistenceEndReason" expires_after="2021-09-19"> |
| <owner>peconn@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Records the reason why a video persistence session has ended. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.VideoRenderer.CadenceChanges" units="changes" |
| expires_after="never"> |
| <!-- expires-never: Media pipeline health metric. --> |
| |
| <owner>dalecurtis@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Indicates how many cadence changes have occurred during playback, a zero |
| value is emitted at the beginning of playback. Subsequent values are emitted |
| during video rendering for each cadence change (up to a maximum of 10). |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.VideoRenderer.LowDelay" enum="Boolean" |
| expires_after="2022-09-11"> |
| <obsolete> |
| Removed 09/2022. No longer needed. |
| </obsolete> |
| <owner>xhwang@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Indicates whether video is rendering in low delay mode. It's recorded when a |
| video starts playing. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.VTVDA.HardwareAccelerated" |
| enum="BooleanHardwareAccelerated" expires_after="2023-10-01"> |
| <owner>sandersd@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Whether a VTDecompressionSession is internally using hardware accelerated |
| decoding. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.VTVDA.SessionFailureReason" |
| enum="VTVDASessionFailureType" expires_after="2023-10-15"> |
| <owner>sandersd@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Count of VTVDA session failure reasons. Successful initializations are |
| counted as a special failure type. Since only successfully initialized |
| session can fail, failures rates are computed as a simple ratio. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.WatchTime" units="ms" expires_after="2023-10-08"> |
| <owner>dalecurtis@chromium.org</owner> |
| <summary> |
| Watch time is defined as the amount of elapsed media time for audio+video |
| media aggregated per player instance. A minimum of 7 seconds of unmuted, |
| foreground media must be watched to start watch time monitoring. Watch time |
| is checked on a regular basis and reported to UMA upon one of the stop |
| events mentioned below or at player destruction if none occur prior. |
| |
| Any one of paused, hidden, or muted is sufficient to stop watch time metric |
| reports. Each of these has a hysteresis where if the state change is undone |
| within some time, the watch time will be counted as uninterrupted. |
| |
| Power events (on/off battery power) have a similar hysteresis, but unlike |
| the aforementioned properties, will not stop metric collection. |
| |
| Each seek event will result in a new watch time metric being started and the |
| old metric finalized as accurately as possible. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.WebMediaPlayerImpl.HLS.HasAccessControl" enum="Boolean" |
| expires_after="2023-08-08"> |
| <owner>cassew@chromium.org</owner> |
| <owner>tguilbert@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| When an HLS manifest is found during loading (on Android only), and the |
| response is CORS cross-origin, this histogram records whether the response |
| included an Access-Control-Allow-Origin header. Such requests are likely to |
| be supported by fetch() if the mode is correctly configured. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.WebMediaPlayerImpl.HLS.IsCorsCrossOrigin" enum="Boolean" |
| expires_after="2023-08-08"> |
| <owner>cassew@chromium.org</owner> |
| <owner>tguilbert@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| When an HLS manifest is found during loading (on Android only), records |
| whether the request was CORS cross-origin. These are cases that could not be |
| implemented using fetch(). Note: subresources referenced by the manifest are |
| not considered; they may have different origins or CORS configurations. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.WebMediaPlayerImpl.HLS.IsMixedContent" enum="Boolean" |
| expires_after="2023-10-08"> |
| <owner>cassew@chromium.org</owner> |
| <owner>tguilbert@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| When an HLS manifest is found during loading (on Android only), records |
| whether the request would be mixed content. These are cases that could not |
| be implemented using fetch(). Note: subresources referenced by the manifest |
| are not considered; they may have different origins. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.WebMediaPlayerImpl.HLS{Variant}.MimeType" |
| enum="MimeTypeOfHlsManifest" expires_after="2023-08-08"> |
| <owner>cassew@chromium.org</owner> |
| <owner>lukasza@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| When an HLS manifest is found during loading (on Android only), {Variant} |
| then this histogram records the MIME type of the response. |
| |
| This metric should help assess the web compatibility risk of strict MIME |
| type enforcement, as discussed in |
| https://github.com/annevk/orb/issues/29#issuecomment-967432934 |
| </summary> |
| <token key="Variant"> |
| <variant name="" summary=""/> |
| <variant name=".CorsCrossOrigin" |
| summary="and the response is cross-origin/opaque,"/> |
| </token> |
| </histogram> |
| |
| <histogram name="Media.WebMediaPlayerImpl.WatchTime" |
| enum="WebMediaPlayerWatchTimeType" expires_after="2021-08-01"> |
| <obsolete> |
| Removed 09/2022. |
| </obsolete> |
| <owner>sandersd@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Wall time of WebMediaPlayer playbacks. Each count represents one second of |
| media playback. Multiple WebMediaPlayer instances can together accumulate |
| watch time faster than real time. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Media.WebmMuxer.DidAdjustTimestamp.{StreamTypesRecorded}.{Domain}" |
| enum="Boolean" expires_after="2023-06-26"> |
| <owner>handellm@google.com</owner> |
| <owner>video-performance-team@google.com</owner> |
| <summary> |
| Boolean indicating if {Domain} stream timestamps had to be corrected during |
| a muxing session with {StreamTypesRecorded} present. Reported on muxer |
| destructor. |
| </summary> |
| <token key="StreamTypesRecorded"> |
| <variant name="AudioOnly"/> |
| <variant name="AudioVideo"/> |
| <variant name="VideoOnly"/> |
| </token> |
| <token key="Domain"> |
| <variant name="Audio"/> |
| <variant name="Muxer"/> |
| <variant name="Video"/> |
| </token> |
| </histogram> |
| |
| <histogram name="Media.WebrtcVideoPerfHistory.GetPerfInfoCodecProfile" |
| enum="VideoCodecProfile" expires_after="2024-02-01"> |
| <owner>kron@chromium.org</owner> |
| <owner>webrtc-video@google.com</owner> |
| <summary> |
| The video codec profile that was used when calling GetPerfInfo. Recorded for |
| each call to GetPerfInfo if certain sanity checks pass. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.WebrtcVideoPerfHistory.SavePerfRecordCodecProfile" |
| enum="VideoCodecProfile" expires_after="2024-02-01"> |
| <owner>kron@chromium.org</owner> |
| <owner>webrtc-video@google.com</owner> |
| <summary> |
| The video codec profile that was provided to SavePerfRecord. Recorded for |
| each call to SavePerfRecord if certain sanity checks pass. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.WebrtcVideoPerfHistory.SmoothPrediction.{Operation}" |
| units="custom" expires_after="2024-02-01"> |
| <owner>kron@chromium.org</owner> |
| <owner>webrtc-video@google.com</owner> |
| <summary> |
| Tracks how the smoothness prediction value was determined (smooth by |
| default, smooth from data, not smooth from data, implicitly smooth, smooth |
| override, or implicitly not smooth) multiplexed with the configuration |
| (codec, pixels, hardware_accelerated). See the code for details. This gives |
| a sparse histogram that is best interpreted using a script for |
| demultiplexing. The value is reported each time either encodingInfo() or |
| decodingInfo() are called and requests a smoothness prediction from |
| WebrtcVideoPerfHistory. |
| </summary> |
| <token key="Operation"> |
| <variant name="Decode"/> |
| <variant name="Encode"/> |
| </token> |
| </histogram> |
| |
| <histogram |
| name="Media.WebrtcVideoPerfHistory.SmoothVolatility.{Operation}.{Framerate}" |
| enum="SmoothVolatility" expires_after="2024-02-01"> |
| <owner>kron@chromium.org</owner> |
| <owner>webrtc-video@google.com</owner> |
| <summary> |
| Tracks the volatilty of the smoothness predictions after updates to the |
| database, that is, if the smoothness prediction changes or stays at the same |
| value. Recorded after each update to the WebRTC MediaCapabilities database |
| if there was an existing record for the corresponding configuration. |
| </summary> |
| <token key="Operation"> |
| <variant name="Decode"/> |
| <variant name="Encode"/> |
| </token> |
| <token key="Framerate"> |
| <variant name="30fps"/> |
| <variant name="60fps"/> |
| </token> |
| </histogram> |
| |
| <histogram name="Media.WebrtcVideoStatsDB.OpSuccess.{DbOperation}" |
| enum="BooleanSuccess" expires_after="never"> |
| <!-- expires-never: WebRTC MediaCapabilities DB health metric. --> |
| |
| <owner>kron@chromium.org</owner> |
| <owner>webrtc-video@google.com</owner> |
| <summary> |
| Indicates whether we were successful performing the operation to |
| {DbOperation}. Recorded once the operation completes. |
| </summary> |
| <token key="DbOperation" variants="DbOperation"/> |
| </histogram> |
| |
| <histogram name="Media.WebrtcVideoStatsDB.OpTiming.{DbOperation}" |
| units="microseconds" expires_after="never"> |
| <!-- expires-never: WebRTC MediaCapabilities DB health metric. --> |
| |
| <owner>kron@chromium.org</owner> |
| <owner>webrtc-video@google.com</owner> |
| <summary> |
| Indicates duration of time performing the operation to {DbOperation}. |
| Recorded once the operation completes or times out. Reported for all users |
| regardless of clock resolution. |
| </summary> |
| <token key="DbOperation" variants="DbOperation"/> |
| </histogram> |
| |
| <histogram name="Media.YouTube.TimeToBufferAv" units="ms" expires_after="M85"> |
| <owner>Please list the metric's owners. Add more owner tags as needed.</owner> |
| <summary> |
| Time needed to pre-buffer A/V data before the actual playback for the |
| YouTube application. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.YouTube.TimeToBufferAvAfterUnderrun" units="ms" |
| expires_after="M85"> |
| <owner>Please list the metric's owners. Add more owner tags as needed.</owner> |
| <summary> |
| Time needed to buffer A/V data after an underrun for the YouTube |
| application. |
| </summary> |
| </histogram> |
| |
| <histogram name="Media.{VaapiClientName}.VAAPIError" enum="VaapiFunctions" |
| expires_after="2024-05-16"> |
| <owner>mcasas@chromium.org</owner> |
| <owner>chromeos-gfx-video@chromium.org</owner> |
| <summary> |
| Error codes reported by libva (via VaapiWrapper) while being used from the |
| specified client name. {VaapiClientName} |
| </summary> |
| <token key="VaapiClientName"> |
| <variant name="VaapiImageDecodeAcceleratorWorker" summary=""/> |
| <variant name="VaapiImageProcessorBackend" summary=""/> |
| <variant name="VaapiJpegEncodeAccelerator" summary=""/> |
| <variant name="VaapiJpegEncodeAccelerator.Vpp" summary=""/> |
| <variant name="VaapiMjpegDecodeAccelerator" summary=""/> |
| <variant name="VaapiMjpegDecodeAccelerator.Vpp" summary=""/> |
| <variant name="VaapiVideoDecodeAccelerator" summary=""/> |
| <variant name="VaapiVideoDecodeAccelerator.Vpp" summary=""/> |
| <variant name="VaapiVideoDecoder" summary=""/> |
| <variant name="VaapiVideoEncodeAccelerator" summary=""/> |
| <variant name="VaapiVideoEncodeAccelerator.Vpp" summary=""/> |
| </token> |
| </histogram> |
| |
| <histogram name="MediaGalleries.ScanCancelTime" units="ms" expires_after="M85"> |
| <owner>vandebo@chromium.org</owner> |
| <summary>If a media scan was cancelled, the duration (in ms) it ran.</summary> |
| </histogram> |
| |
| <histogram name="MediaGalleries.ScanDirectoriesFound" units="units" |
| expires_after="M85"> |
| <owner>vandebo@chromium.org</owner> |
| <summary> |
| The number of directories with media files found during a scan. |
| </summary> |
| </histogram> |
| |
| <histogram name="MediaGalleries.ScanFinishedTime" units="ms" |
| expires_after="M85"> |
| <owner>vandebo@chromium.org</owner> |
| <summary> |
| Duration in milliseconds taken to do a media scan that ran to completion. |
| </summary> |
| </histogram> |
| |
| <histogram name="MediaGalleries.ScanGalleriesGranted" units="%" |
| expires_after="M85"> |
| <owner>vandebo@chromium.org</owner> |
| <summary> |
| The percentage of galleries accepted (not deselected) from the scan result |
| dialog. |
| </summary> |
| </histogram> |
| |
| <histogram name="MediaGalleries.ScanGalleriesPopulated" units="units" |
| expires_after="M85"> |
| <owner>vandebo@chromium.org</owner> |
| <summary> |
| The number of galleries added or updated in preferences after a scan. |
| </summary> |
| </histogram> |
| |
| <histogram name="MediaGalleries.Usage" enum="MediaGalleriesUsageType" |
| expires_after="M77"> |
| <owner>vandebo@chromium.org</owner> |
| <summary>Various usage counts for media galleries.</summary> |
| </histogram> |
| |
| <histogram name="MediaLauncherActivity.LaunchResult" enum="BooleanSuccess" |
| expires_after="2021-06-19"> |
| <owner>steimel@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| True if the MediaLauncherActivity was successfully able to open the file. |
| Recorded when the MediaLauncherActivity starts the CustomTabActivity. |
| </summary> |
| </histogram> |
| |
| <histogram name="MediaLauncherActivity.MediaType" |
| enum="MediaLauncherActivityMediaType" expires_after="2021-03-28"> |
| <owner>steimel@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| The type of media that a user is opening via the MediaLauncherActivity. |
| </summary> |
| </histogram> |
| |
| <histogram base="true" name="MediaRouter.Cast.App.Availability" units="ms" |
| expires_after="2024-05-01"> |
| <!-- Name completed by histogram_suffixes name="MediaRouterSuccess" --> |
| |
| <owner>takumif@chromium.org</owner> |
| <owner>mfoltz@chromium.org</owner> |
| <owner>openscreen-eng@google.com</owner> |
| <summary> |
| Round trip time for a Cast app availability request. Can be suffixed with |
| Success or Failure. |
| </summary> |
| </histogram> |
| |
| <histogram name="MediaRouter.Cast.Channel.ConnectResult" enum="BooleanSuccess" |
| expires_after="2023-11-12"> |
| <owner>mfoltz@chromium.org</owner> |
| <owner>openscreen-eng@google.com</owner> |
| <summary> |
| Whether opening Cast channel succeeds or not. Recorded when all opening |
| channel attempts (including retry attempts) finish. |
| </summary> |
| </histogram> |
| |
| <histogram name="MediaRouter.Cast.Channel.Error" |
| enum="MediaRouterCastChannelError" expires_after="2023-11-12"> |
| <owner>mfoltz@chromium.org</owner> |
| <owner>openscreen-eng@google.com</owner> |
| <summary> |
| Errors encountered on a Cast channel. Recorded when a Cast channel fails to |
| open, or when an opened channel fails to respond to keepalive ping request |
| and times out. |
| </summary> |
| </histogram> |
| |
| <histogram name="MediaRouter.Cast.DeviceNameLength" units="characters" |
| expires_after="2022-05-01"> |
| <owner>takumif@chromium.org</owner> |
| <owner>openscreen-eng@google.com</owner> |
| <summary> |
| Records the length of the friendly name of a Cast device when we succeed to |
| open a Cast channel to it. |
| </summary> |
| </histogram> |
| |
| <histogram name="MediaRouter.Cast.Discovery.ConnectedDevicesCount" |
| units="devices" expires_after="2023-08-27"> |
| <owner>mfoltz@chromium.org</owner> |
| <owner>openscreen-eng@google.com</owner> |
| <summary> |
| The number of connected Cast devices. Recorded when browser finishes |
| discovering Cast devices. Recording happens roughly once per hour. |
| </summary> |
| </histogram> |
| |
| <histogram name="MediaRouter.Cast.Discovery.KnownDevicesCount" units="devices" |
| expires_after="2023-08-08"> |
| <owner>mfoltz@chromium.org</owner> |
| <owner>openscreen-eng@google.com</owner> |
| <summary> |
| The number of known Cast devices. Recorded when browser finishes discovering |
| Cast devices. Recording happens roughly once per hour. |
| </summary> |
| </histogram> |
| |
| <histogram name="MediaRouter.Cast.Discovery.SinkSource" |
| enum="MediaRouterCastSinkSource" expires_after="2023-08-13"> |
| <owner>btolsch@chromium.org</owner> |
| <owner>openscreen-eng@google.com</owner> |
| <summary>The source of discovery for a newly-created Cast sink.</summary> |
| </histogram> |
| |
| <histogram name="MediaRouter.Cast.Feedback.Event" |
| enum="MediaRouterCastFeedbackEvent" expires_after="2022-05-01"> |
| <owner>jrw@google.com</owner> |
| <owner>openscreen-eng@google.com</owner> |
| <summary>Events related to the WebUI Cast feedback dialog.</summary> |
| </histogram> |
| |
| <histogram name="MediaRouter.Cast.LaunchSessionRequest.SupportedAppTypes" |
| enum="ReceiverAppTypeSet" expires_after="2023-09-03"> |
| <owner>muyaoxu@google.com</owner> |
| <owner>openscreen-eng@google.com</owner> |
| <summary> |
| The types of apps supported by the sender page. Recorded when requesting the |
| receiver to launch a new session. |
| </summary> |
| </histogram> |
| |
| <histogram name="MediaRouter.Cast.LaunchSessionResponse.AppType" |
| enum="MediaRouterResponseReceiverAppType" expires_after="2023-10-01"> |
| <owner>muyaoxu@google.com</owner> |
| <owner>openscreen-eng@google.com</owner> |
| <summary> |
| The type of app that the receiver device choose to launch. Recorded when |
| receiving a receiver status response to the launch request. |
| </summary> |
| </histogram> |
| |
| <histogram name="MediaRouter.Cast.Mdns.Channel.Open_Failure" units="ms" |
| expires_after="2023-09-03"> |
| <owner>mfoltz@chromium.org</owner> |
| <owner>openscreen-eng@google.com</owner> |
| <summary> |
| Duration in milliseconds taken to fail to open a cast channel. Recorded when |
| one opening channel attempt fails. |
| </summary> |
| </histogram> |
| |
| <histogram name="MediaRouter.Cast.Mdns.Channel.Open_Success" units="ms" |
| expires_after="2023-09-03"> |
| <owner>mfoltz@chromium.org</owner> |
| <owner>openscreen-eng@google.com</owner> |
| <summary> |
| Duration in milliseconds taken to successfully open a cast channel. Recorded |
| when one opening channel attempt succeeds. |
| </summary> |
| </histogram> |
| |
| <histogram name="MediaRouter.Cast.PendingUserAuthLatency" units="s" |
| expires_after="2023-08-20"> |
| <owner>ahmedmoussa@google.com</owner> |
| <owner>takumif@chromium.org</owner> |
| <owner>openscreen-eng@google.com</owner> |
| <summary> |
| In some scenarios casting doesn't start until the user approves it on the |
| receiver side. This histogram records the time it takes between requesting |
| to start casting and receiving a response from the receiver that it is now |
| waiting for user approval. |
| </summary> |
| </histogram> |
| |
| <histogram name="MediaRouter.Cast.UserPromptWhenLaunchingCast" |
| enum="MediaRouterUserPromptWhenLaunchingCast" expires_after="2023-08-20"> |
| <owner>ahmedmoussa@google.com</owner> |
| <owner>takumif@chromium.org</owner> |
| <owner>openscreen-eng@google.com</owner> |
| <summary> |
| This histogram is recorded whenever the user attempts to start casting and a |
| receiver-side prompt is shown, and when the user disapproves it. The other |
| two cases, when the user approves it or when it times out, are not recorded. |
| As both these cases can be received without a prompt before it and this |
| should not be recorded. |
| </summary> |
| </histogram> |
| |
| <histogram name="MediaRouter.CastStreaming.Audio.PlaybackOnReceiver" |
| enum="Boolean" expires_after="2023-11-12"> |
| <owner>takumif@chromium.org</owner> |
| <owner>muyaoxu@google.com</owner> |
| <owner>openscreen-eng@google.com</owner> |
| <summary> |
| Records whether audio is played on the receiver device. If not, then on the |
| sender side. Recorded when a new site-initiated mirroring session is |
| started. |
| </summary> |
| </histogram> |
| |
| <histogram name="MediaRouter.CastStreaming.Session.Launch" units="ms" |
| expires_after="2023-10-08"> |
| <owner>takumif@chromium.org</owner> |
| <owner>openscreen-eng@google.com</owner> |
| <summary>Total time to launch a Cast Streaming mirror session.</summary> |
| </histogram> |
| |
| <histogram name="MediaRouter.CastStreaming.Session.Length" units="ms" |
| expires_after="2023-10-08"> |
| <owner>takumif@chromium.org</owner> |
| <owner>openscreen-eng@google.com</owner> |
| <summary> |
| Total length of a Cast Streaming mirror session of any type, including the |
| time spent in media remoting. |
| </summary> |
| </histogram> |
| |
| <histogram name="MediaRouter.CastStreaming.Session.Length.AccessCode" |
| units="ms" expires_after="2023-11-12"> |
| <owner>bzielinski@google.com</owner> |
| <owner>cros-edu-eng@google.com</owner> |
| <summary> |
| Total length of a Cast Streaming mirror session of any type, when the cast |
| sink was discovered via access code. |
| </summary> |
| </histogram> |
| |
| <histogram name="MediaRouter.CastStreaming.Session.Length.File" units="ms" |
| expires_after="2022-07-01"> |
| <obsolete> |
| Removed 04/2022 as local file casting is no longer done via the Cast UI. |
| </obsolete> |
| <owner>takumif@chromium.org</owner> |
| <owner>openscreen-eng@google.com</owner> |
| <summary>Total length of a Cast Streaming File mirror session.</summary> |
| </histogram> |
| |
| <histogram name="MediaRouter.CastStreaming.Session.Length.OffscreenTab" |
| units="ms" expires_after="2024-05-01"> |
| <owner>takumif@chromium.org</owner> |
| <owner>openscreen-eng@google.com</owner> |
| <summary> |
| Total length of a Cast Streaming Offscreen Tab mirror session. |
| </summary> |
| </histogram> |
| |
| <histogram name="MediaRouter.CastStreaming.Session.Length.Screen" units="ms" |
| expires_after="2024-05-01"> |
| <owner>takumif@chromium.org</owner> |
| <owner>openscreen-eng@google.com</owner> |
| <summary>Total length of a Cast Streaming Screen mirror session.</summary> |
| </histogram> |
| |
| <histogram name="MediaRouter.CastStreaming.Session.Length.Tab" units="ms" |
| expires_after="2024-05-01"> |
| <owner>takumif@chromium.org</owner> |
| <owner>openscreen-eng@google.com</owner> |
| <summary> |
| Total length of a Cast Streaming mirror session of type Tab and NOT of types |
| offscreen tab or local file. This includes the time spent in media remoting. |
| </summary> |
| </histogram> |
| |
| <histogram name="MediaRouter.CastStreaming.Start.Failure.AccessCodeManualEntry" |
| enum="MirroringServiceErrorType" expires_after="2023-07-01"> |
| <owner>bzielinski@google.com</owner> |
| <owner>cros-edu-eng@google.com</owner> |
| <summary> |
| Whenever a Cast Streaming session to a device discovered by access code |
| manual entry fails to start, record the error associated with the event. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="MediaRouter.CastStreaming.Start.Failure.AccessCodeRememberedDevice" |
| enum="MirroringServiceErrorType" expires_after="2023-07-01"> |
| <owner>bzielinski@google.com</owner> |
| <owner>cros-edu-eng@google.com</owner> |
| <summary> |
| Whenever a Cast Streaming session to a device discovered by access code and |
| remembered via caching fails to start, record the error associated with the |
| event. |
| </summary> |
| </histogram> |
| |
| <histogram name="MediaRouter.CastStreaming.Start.Failure.Native" |
| enum="MirroringServiceErrorType" expires_after="2023-11-12"> |
| <owner>takumif@chromium.org</owner> |
| <owner>openscreen-eng@google.com</owner> |
| <summary> |
| Whenever a Cast Streaming session fails to start, record the error |
| associated with the event. This is recorded only for the native Cast MRP. |
| See MediaRouter.CastStreaming.Start.Failure for the extension MRP. |
| </summary> |
| </histogram> |
| |
| <histogram name="MediaRouter.CastStreaming.Start.Success" enum="MirrorType" |
| expires_after="2023-11-12"> |
| <owner>takumif@chromium.org</owner> |
| <owner>openscreen-eng@google.com</owner> |
| <summary> |
| Whenever a Cast Streaming session is successfully started, record if it was |
| for a Tab or Desktop mirroring session. |
| </summary> |
| </histogram> |
| |
| <histogram name="MediaRouter.CastStreaming.Start.Success.AccessCodeManualEntry" |
| enum="MirrorType" expires_after="2023-11-12"> |
| <owner>bzielinski@google.com</owner> |
| <owner>cros-edu-eng@google.com</owner> |
| <summary> |
| Whenever a Cast Streaming session is successfully started, when the device |
| was discovered by access code maual entry, record if it was for a Tab or |
| Desktop mirroring session. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="MediaRouter.CastStreaming.Start.Success.AccessCodeRememberedDevice" |
| enum="MirrorType" expires_after="2023-08-20"> |
| <owner>bzielinski@google.com</owner> |
| <owner>cros-edu-eng@google.com</owner> |
| <summary> |
| Whenever a Cast Streaming session is successfully started, when the device |
| was discovered by access code remembered device caching, record if it was |
| for a Tab or Desktop mirroring session. |
| </summary> |
| </histogram> |
| |
| <histogram name="MediaRouter.Dial.AvailableDevicesCount" units="devices" |
| expires_after="2023-09-03"> |
| <owner>mfoltz@chromium.org</owner> |
| <owner>takumif@chromium.org</owner> |
| <owner>openscreen-eng@google.com</owner> |
| <summary> |
| The number of available DIAL devices. Recorded when browser finishes |
| discovering DIAL devices. Recording happens roughly once per hour. |
| </summary> |
| </histogram> |
| |
| <histogram name="MediaRouter.Dial.CreateRoute" |
| enum="MediaRouterDialCreateRouteResult" expires_after="2023-11-12"> |
| <owner>takumif@chromium.org</owner> |
| <owner>mfoltz@chromium.org</owner> |
| <owner>openscreen-eng@google.com</owner> |
| <summary> |
| The result of a DIAL CreateRoute request. Recorded when the user requests to |
| create a media route to a DIAL device. |
| </summary> |
| </histogram> |
| |
| <histogram name="MediaRouter.Dial.DeviceDescriptionParsingResult" |
| enum="MediaRouterDeviceDescriptionParsingResult" expires_after="2024-04-16"> |
| <owner>takumif@chromium.org</owner> |
| <owner>mfoltz@chromium.org</owner> |
| <owner>openscreen-eng@google.com</owner> |
| <summary> |
| Result from parsing DIAL device description XML text. Recorded when utility |
| process returns a DIAL device description object to the DIAL Media Route |
| Provider. |
| </summary> |
| </histogram> |
| |
| <histogram name="MediaRouter.Dial.FetchAppInfo" |
| enum="MediaRouterDialFetchAppInfoResult" expires_after="2023-10-22"> |
| <owner>takumif@chromium.org</owner> |
| <owner>mfoltz@chromium.org</owner> |
| <owner>openscreen-eng@google.com</owner> |
| <summary> |
| The result of a DIAL app info request. Recorded when an app info request is |
| issued to a DIAL device. |
| </summary> |
| </histogram> |
| |
| <histogram name="MediaRouter.Dial.KnownDevicesCount" units="devices" |
| expires_after="2023-09-10"> |
| <owner>takumif@chromium.org</owner> |
| <owner>mfoltz@chromium.org</owner> |
| <owner>openscreen-eng@google.com</owner> |
| <summary> |
| The number of known DIAL devices. Recorded when browser finishes discovering |
| DIAL devices. Recording happens roughly once per hour. |
| </summary> |
| </histogram> |
| |
| <histogram name="MediaRouter.Dial.ParsingError" |
| enum="MediaRouterDialParsingError" expires_after="2023-04-05"> |
| <obsolete> |
| Replaced by MediaRouter.Dial.DeviceDescriptionParsingResult. |
| </obsolete> |
| <owner>takumif@chromium.org</owner> |
| <owner>mfoltz@chromium.org</owner> |
| <owner>openscreen-eng@google.com</owner> |
| <summary> |
| Error encountered while parsing DIAL device description XML text. Recorded |
| when utility process returns an invalid DIAL device description object to |
| browser. |
| </summary> |
| </histogram> |
| |
| <histogram name="MediaRouter.Icon.Click.Location" |
| enum="MediaRouterDialogActivationLocation" expires_after="2024-04-30"> |
| <owner>takumif@chromium.org</owner> |
| <owner>openscreen-eng@google.com</owner> |
| <summary>Location the user clicked to open the Media Router dialog.</summary> |
| </histogram> |
| |
| <histogram name="MediaRouter.MirroringService.SessionError" |
| enum="MirroringServiceErrorType" expires_after="2023-11-12"> |
| <owner>takumif@chromium.org</owner> |
| <owner>openscreen-eng@google.com</owner> |
| <summary> |
| Records errors encountered by the Mirroring Service. If an error occurs |
| while media remoting, the service attempts to revert to mirroring. Otherwise |
| mirroring is terminated. |
| </summary> |
| </histogram> |
| |
| <histogram name="MediaRouter.PresentationRequest.AvailabilityUrlType" |
| enum="PresentationUrlType" expires_after="2023-11-19"> |
| <owner>takumif@chromium.org</owner> |
| <owner>mfoltz@chromium.org</owner> |
| <owner>openscreen-eng@google.com</owner> |
| <summary> |
| The type of Presentation URL used in a PresentationRequest by a web page. |
| </summary> |
| </histogram> |
| |
| <histogram name="MediaRouter.PresentationRequest.UrlBySink" |
| enum="PresentationUrlBySink" expires_after="2023-07-18"> |
| <owner>mfoltz@chromium.org</owner> |
| <owner>openscreen-eng@google.com</owner> |
| <summary> |
| Logged when the Media Router starts a presentation according to the type of |
| presentation URL and the type of media sink. |
| </summary> |
| </histogram> |
| |
| <histogram name="MediaRouter.Provider.CreateRoute.Result" |
| enum="MediaRouteProviderResult" expires_after="2023-10-22"> |
| <!-- Name completed by histogram_suffixes name="MediaRouteProvider" --> |
| |
| <owner>takumif@chromium.org</owner> |
| <owner>mfoltz@chromium.org</owner> |
| <owner>openscreen-eng@google.com</owner> |
| <summary> |
| Result of a request to a MediaRouteProvider to create a route. |
| CreateRoute.Result (without a suffix) is recorded for the extension or an |
| unknown MRP. |
| </summary> |
| </histogram> |
| |
| <histogram name="MediaRouter.Provider.JoinRoute.Result" |
| enum="MediaRouteProviderResult" expires_after="2024-06-04"> |
| <!-- Name completed by histogram_suffixes name="MediaRouteProvider" --> |
| |
| <owner>takumif@chromium.org</owner> |
| <owner>mfoltz@chromium.org</owner> |
| <owner>openscreen-eng@google.com</owner> |
| <summary> |
| Result of a request to a MediaRouteProvider to join a route. |
| JoinRoute.Result (without a suffix) is recorded for the extension or an |
| unknown MRP. |
| </summary> |
| </histogram> |
| |
| <histogram name="MediaRouter.Provider.TerminateRoute.Result" |
| enum="MediaRouteProviderResult" expires_after="2024-05-01"> |
| <!-- Name completed by histogram_suffixes name="MediaRouteProvider" --> |
| |
| <owner>takumif@chromium.org</owner> |
| <owner>mfoltz@chromium.org</owner> |
| <owner>openscreen-eng@google.com</owner> |
| <summary> |
| Result of a request to a MediaRouteProvider to terminate a route. |
| TerminateRoute.Result (without a suffix) is recorded for the extension or an |
| unknown MRP. |
| </summary> |
| </histogram> |
| |
| <histogram name="MediaRouter.RemotePlayback.SessionLoadTime" units="ms" |
| expires_after="2023-12-01"> |
| <owner>muyaoxu@chromium.org</owner> |
| <owner>openscreen-eng@google.com</owner> |
| <summary> |
| Measures how long, from the start of a streaming session, until it switches |
| to Remoting for Remote Playback sessions. The start time is measured when |
| the streaming session has started and the end time is measured when the |
| remoting starts. The metric is recorded when both the start time and end |
| time are measured and duration time is calculated. |
| </summary> |
| </histogram> |
| |
| <histogram name="MediaRouter.RemotePlayback.SessionStartsBeforeTimeout" |
| enum="Boolean" expires_after="2023-12-01"> |
| <owner>muyaoxu@chromium.org</owner> |
| <owner>openscreen-eng@google.com</owner> |
| <summary> |
| Whether Remoting starts before it timeouts for Remote Playback sessions. |
| Recorded when the timeout callback is fired and when Remoting starts. |
| </summary> |
| </histogram> |
| |
| <histogram name="MediaRouter.RemotePlayback.SinkCapability.SupportedAudioCodec" |
| enum="AudioCodec" expires_after="2023-12-01"> |
| <owner>muyaoxu@google.com</owner> |
| <owner>openscreen-eng@google.com</owner> |
| <summary> |
| Recorded when a Cast sink is discovered for a Remote Playback MediaSource |
| and this sink supports the MediaSource's AudioCodec. It is not recorded if |
| the model is not known to support Remoting, in which case the sink's audio |
| capability is unknown. |
| </summary> |
| </histogram> |
| |
| <histogram name="MediaRouter.RemotePlayback.SinkCapability.SupportedVideoCodec" |
| enum="VideoCodec" expires_after="2023-12-01"> |
| <owner>muyaoxu@google.com</owner> |
| <owner>openscreen-eng@google.com</owner> |
| <summary> |
| Recorded when a Cast sink is discovered for a Remote Playback MediaSource |
| and this sink supports the MediaSource's VideoCodec. It is not recorded if |
| the model is not known to support Remoting, in which case the sink's video |
| capability is unknown. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="MediaRouter.RemotePlayback.SinkCapability.UnsupportedAudioCodec" |
| enum="AudioCodec" expires_after="2023-12-01"> |
| <owner>muyaoxu@google.com</owner> |
| <owner>openscreen-eng@google.com</owner> |
| <summary> |
| Recorded when a Cast sink is discovered for a Remote Playback MediaSource |
| and this sink does not support the MediaSource's AudioCodec. It is not |
| recorded if the model is not known to support Remoting, in which case the |
| sink's audio capability is unknown. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="MediaRouter.RemotePlayback.SinkCapability.UnsupportedVideoCodec" |
| enum="VideoCodec" expires_after="2023-12-01"> |
| <owner>muyaoxu@google.com</owner> |
| <owner>openscreen-eng@google.com</owner> |
| <summary> |
| Recorded when a Cast sink is discovered for a Remote Playback MediaSource |
| and this sink does not support the MediaSource's VideoCodec. It is not |
| recorded if the model is not known to support Remoting, in which case the |
| sink's video capability is unknown. |
| </summary> |
| </histogram> |
| |
| <histogram name="MediaRouter.RemotePlayback.SinkModelCompatibility" |
| enum="Boolean" expires_after="2023-12-01"> |
| <owner>muyaoxu@google.com</owner> |
| <owner>openscreen-eng@google.com</owner> |
| <summary> |
| Records whether the discovered sink is known to support Media Remoting. It |
| is recorded when media sink query results are sent to the |
| CastMediaRouteProvider. |
| </summary> |
| </histogram> |
| |
| <histogram name="MediaRouter.Sink.SelectedType" enum="MediaSinkType" |
| expires_after="2023-11-12"> |
| <owner>takumif@chromium.org</owner> |
| <owner>openscreen-eng@google.com</owner> |
| <summary> |
| The type of the Media Sink that media is being cast to. Recorded each time |
| the user selects a Media Sink to start casting. Recorded for all the UI |
| entry points. |
| </summary> |
| </histogram> |
| |
| <histogram name="MediaRouter.Sink.SelectedType.{Ui}" enum="MediaSinkType" |
| expires_after="2024-05-03"> |
| <owner>takumif@chromium.org</owner> |
| <owner>openscreen-eng@google.com</owner> |
| <summary> |
| The type of the Media Sink that media is being cast to. Recorded each time |
| the user selects a Media Sink to start casting from {Ui}. |
| </summary> |
| <token key="Ui"> |
| <variant name="CastHarmony"/> |
| <variant name="GlobalMediaControls"/> |
| </token> |
| </histogram> |
| |
| <histogram name="MediaRouter.Source.CastingSource" |
| enum="MediaRouterSourceTypes" expires_after="2023-11-12"> |
| <owner>takumif@chromium.org</owner> |
| <owner>openscreen-eng@google.com</owner> |
| <summary> |
| The source of a Media Router session. This is recorded to keep track of what |
| kind of media is being streamed. |
| </summary> |
| </histogram> |
| |
| <histogram name="MediaRouter.Ui.Action.CloseLatency" units="ms" |
| expires_after="2023-11-12"> |
| <owner>takumif@chromium.org</owner> |
| <owner>openscreen-eng@google.com</owner> |
| <summary> |
| Duration in milliseconds taken from the user opening the Media Router dialog |
| to the user closing the dialog. This is only recorded if closing the dialog |
| is the first action the user takes. |
| </summary> |
| </histogram> |
| |
| <histogram name="MediaRouter.Ui.Action.StartLocal.Latency" units="ms" |
| expires_after="2023-11-12"> |
| <owner>takumif@chromium.org</owner> |
| <owner>openscreen-eng@google.com</owner> |
| <summary> |
| Duration in milliseconds taken from the Media Router dialog showing the sink |
| list and being populated with at least one device to the user selecting a |
| device immediately after to create a new route. |
| </summary> |
| </histogram> |
| |
| <histogram name="MediaRouter.Ui.Action.StartLocalPosition" |
| enum="MediaRouterSinkPositionLabel" expires_after="2023-11-12"> |
| <owner>takumif@chromium.org</owner> |
| <owner>openscreen-eng@google.com</owner> |
| <summary>The index of the sink that was selected in the sink list.</summary> |
| </histogram> |
| |
| <histogram name="MediaRouter.Ui.Action.StopRoute" enum="MediaRouteType" |
| expires_after="2023-11-12"> |
| <owner>takumif@chromium.org</owner> |
| <owner>openscreen-eng@google.com</owner> |
| <summary>The number of times a user stops different types of routes.</summary> |
| </histogram> |
| |
| <histogram name="MediaRouter.Ui.Android.DialogAction" |
| enum="MediaRouterAndroidDialogAction" expires_after="2024-05-01"> |
| <owner>muyaoxu@google.com</owner> |
| <owner>openscreen-eng@google.com</owner> |
| <summary> |
| A Mediarouter dialog can be two types: (1) A route controller dialog where |
| users can stop casting. (2) A device picker where users can select a device |
| and cast to it. This histogram records when users interact with the dialog |
| (start or stop casting). |
| </summary> |
| </histogram> |
| |
| <histogram name="MediaRouter.Ui.Android.DialogType" |
| enum="MediaRouterAndroidDialogType" expires_after="2024-05-01"> |
| <owner>muyaoxu@google.com</owner> |
| <owner>openscreen-eng@google.com</owner> |
| <summary> |
| A MediaRouter dialog is opened when users click on the Cast buttons supplied |
| by the Cast SDK or the default HTML media player. This histogram records the |
| type of the dialog when the dialog is created. |
| </summary> |
| </histogram> |
| |
| <histogram name="MediaRouter.Ui.Device.Count" units="units" |
| expires_after="2023-10-22"> |
| <owner>takumif@chromium.org</owner> |
| <owner>openscreen-eng@google.com</owner> |
| <summary> |
| Counts the number of devices known and populated to the Media Router dialog |
| (or the Global Media Controls' device picker) three seconds after the dialog |
| loads. Always expected to be non-negative. This includes data recorded from |
| Clank, which uses Android's MediaRouter framework. |
| </summary> |
| </histogram> |
| |
| <histogram name="MediaRouter.Ui.Dialog.ActivationLocationAndCastMode" |
| enum="MediaRouterDialogActivationLocationAndCastMode" |
| expires_after="2023-11-12"> |
| <owner>takumif@chromium.org</owner> |
| <owner>openscreen-eng@google.com</owner> |
| <summary> |
| This records how the Cast dialog was opened and what Cast mode was used |
| whenever a Cast session starts. |
| </summary> |
| </histogram> |
| |
| <histogram name="MediaRouter.Ui.Dialog.IconStateAtOpen" |
| enum="MediaRouterIconState" expires_after="2023-11-12"> |
| <owner>takumif@chromium.org</owner> |
| <owner>openscreen-eng@google.com</owner> |
| <summary> |
| Whether the Cast toolbar icon is in its ephemeral state (shown only when the |
| feature is active), or is pinned to the toolbar by user pref / admin policy. |
| </summary> |
| </histogram> |
| |
| <histogram name="MediaRouter.Ui.Dialog.LoadedWithData" units="ms" |
| expires_after="2024-05-03"> |
| <owner>takumif@chromium.org</owner> |
| <owner>openscreen-eng@google.com</owner> |
| <summary> |
| Duration in milliseconds taken from the user click to open the Media Router |
| dialog to initializing the dialog with data. |
| </summary> |
| </histogram> |
| |
| <histogram name="MediaRouter.Ui.Dialog.Paint" units="ms" |
| expires_after="2023-11-12"> |
| <owner>takumif@chromium.org</owner> |
| <owner>openscreen-eng@google.com</owner> |
| <summary> |
| Duration in milliseconds taken from a user click to open the Media Router |
| dialog to the initial paint. |
| </summary> |
| </histogram> |
| |
| <histogram name="MediaRouter.Ui.FirstAction" enum="MediaRouterUserAction" |
| expires_after="2023-07-09"> |
| <owner>takumif@chromium.org</owner> |
| <owner>openscreen-eng@google.com</owner> |
| <summary> |
| The first action taken by the user after opening the Media Router dialog. |
| </summary> |
| </histogram> |
| |
| <histogram name="MediaRouter.Ui.IconStateAtInit" enum="MediaRouterIconState" |
| expires_after="2023-07-09"> |
| <owner>takumif@chromium.org</owner> |
| <owner>openscreen-eng@google.com</owner> |
| <summary> |
| Whether the Cast toolbar icon is in its ephemeral state (shown only when the |
| feature is active), or is pinned to the toolbar by user pref / admin policy. |
| Recorded whenever the browser is initialized for a regular (not incognito or |
| guest) profile. |
| </summary> |
| </histogram> |
| |
| <histogram name="MediaRouter.WiredDisplay.AvailableDevicesCount" units="units" |
| expires_after="2023-08-20"> |
| <owner>takumif@chromium.org</owner> |
| <owner>openscreen-eng@google.com</owner> |
| <summary> |
| The number of Media Sinks available for Casting a Presentation API URL to |
| local screens. Recorded at most once an hour, when the Wired Display Media |
| Route Provider reports an update on the sink count. |
| </summary> |
| </histogram> |
| |
| </histograms> |
| |
| </histogram-configuration> |