| <!-- |
| Copyright 2020 The Chromium Authors. All rights reserved. |
| 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 WebAudio 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 send CLs to chromium-metrics-reviews@google.com rather than to specific |
| individuals. These CLs will be automatically reassigned to a reviewer within |
| about 5 minutes. This approach helps the metrics team to load-balance incoming |
| reviews. Googlers can read more about this at go/gwsq-gerrit. |
| --> |
| |
| <histogram-configuration> |
| |
| <histograms> |
| |
| <histogram name="WebAudio.AudioBuffer.Length" units="frames" |
| expires_after="2021-01-06"> |
| <owner>rtoy@chromium.org</owner> |
| <owner>hongchan@chromium.org</owner> |
| <summary> |
| The length (in frames) requested by createBuffer(). Recorded for every call |
| to createBuffer(). Probably many (tens or hundreds) per page. |
| </summary> |
| </histogram> |
| |
| <histogram name="WebAudio.AudioBuffer.NumberOfChannels" units="units" |
| expires_after="2021-01-06"> |
| <owner>rtoy@chromium.org</owner> |
| <owner>hongchan@chromium.org</owner> |
| <summary> |
| The number of channels requested by createBuffer(). Recorded for every call |
| to createBuffer(). Probably many (tens or hundreds) per page. |
| </summary> |
| </histogram> |
| |
| <histogram name="WebAudio.AudioBuffer.SampleRate384kHz" units="Hz" |
| expires_after="2021-01-06"> |
| <owner>rtoy@chromium.org</owner> |
| <owner>hongchan@chromium.org</owner> |
| <summary> |
| The sample rate (in Hz) requested by createBuffer(). Recorded for every call |
| to createBuffer(). Probably many (tens or hundreds) per page. |
| </summary> |
| </histogram> |
| |
| <histogram name="WebAudio.AudioBuffer.SampleRateRatio384kHz" units="units" |
| expires_after="2021-01-06"> |
| <owner>rtoy@chromium.org</owner> |
| <owner>hongchan@chromium.org</owner> |
| <summary> |
| The ratio of the buffer sample rate from createBuffer() to the context |
| sample rate. This indicates if the buffer needs to be resampled. Recorded |
| for every call to createBuffer(). Probably many (tens or hundreds) per page. |
| </summary> |
| </histogram> |
| |
| <histogram name="WebAudio.AudioContext.HardwareSampleRate" units="Hz" |
| expires_after="2021-02-28"> |
| <owner>rtoy@chromium.org</owner> |
| <owner>hongchan@chromium.org</owner> |
| <summary> |
| The hardware sample rate (in Hz) used by an AudioContext. Recorded for every |
| WebAudio AudioContext that is created; probably only one or two per page. |
| </summary> |
| </histogram> |
| |
| <histogram name="WebAudio.AudioContext.MaxChannelsAvailable" units="units" |
| expires_after="2021-01-06"> |
| <owner>rtoy@chromium.org</owner> |
| <owner>hongchan@chromium.org</owner> |
| <summary> |
| The maximum number of (hardware) channels available in an AudioContext. |
| Recorded for every WebAudio AudioContext that is created; probably only one |
| or two per page. |
| </summary> |
| </histogram> |
| |
| <histogram name="WebAudio.AudioContextOptions.sampleRate" units="Hz" |
| expires_after="2021-02-16"> |
| <owner>rtoy@chromium.org</owner> |
| <owner>hongchan@chromium.org</owner> |
| <summary> |
| The sample rate requested by developer to be used as the sample rate when |
| constructing an AudioContext with an AudioContextOptions dictionary. This is |
| recorded for each AudioContext created, probably just one or two per page. |
| </summary> |
| </histogram> |
| |
| <histogram name="WebAudio.AudioContextOptions.sampleRateRatio" units="units" |
| expires_after="2021-04-18"> |
| <owner>rtoy@chromium.org</owner> |
| <owner>hongchan@chromium.org</owner> |
| <summary> |
| The ratio of the user-selected sample rate to the hardware sample rate of an |
| AudioContext. The ratio is represented as a percentage. This is recorded for |
| each AudioContext created, probably just one or two per page. |
| </summary> |
| </histogram> |
| |
| <histogram name="WebAudio.AudioDestination.CallbackBufferSize" units="units" |
| expires_after="2021-01-06"> |
| <owner>rtoy@chromium.org</owner> |
| <owner>hongchan@chromium.org</owner> |
| <summary> |
| The callback buffer size (in audio frames) for WebAudio rendering between |
| the WebAudio graph and the audio device thread. This can differ from the |
| value recommended by the audio hardware due to internal constraints in |
| WebAudio. Recorded for every WebAudio AudioContext that is created. |
| </summary> |
| </histogram> |
| |
| <histogram name="WebAudio.AudioDestination.HardwareBufferSize" units="units" |
| expires_after="2021-04-04"> |
| <owner>rtoy@chromium.org</owner> |
| <owner>hongchan@chromium.org</owner> |
| <summary> |
| The buffer size (in audio frames) for WebAudio rendering recommended by the |
| audio hardware. Recorded for every WebAudio AudioContext that is created. |
| </summary> |
| </histogram> |
| |
| <histogram name="WebAudio.Autoplay" enum="WebAudioAutoplayStatus" |
| expires_after="M87"> |
| <owner>mlamouri@google.com</owner> |
| <owner>media-dev@chromium.org</owner> |
| <owner>rtoy@chromium.org</owner> |
| <owner>hongchan@chromium.org</owner> |
| <summary> |
| The autoplay status of an AudioContext when destroyed. This include all |
| types of frames. In order to know the value only for main frames, the |
| .CrossOrigin values can be substracted. |
| </summary> |
| </histogram> |
| |
| <histogram name="WebAudio.Autoplay.CrossOrigin" enum="WebAudioAutoplayStatus" |
| expires_after="M87"> |
| <owner>mlamouri@google.com</owner> |
| <owner>media-dev@chromium.org</owner> |
| <owner>rtoy@chromium.org</owner> |
| <owner>hongchan@chromium.org</owner> |
| <summary> |
| The autoplay status of an AudioContext when destroyed in a cross-origin |
| frame. |
| </summary> |
| </histogram> |
| |
| <histogram name="WebAudio.Autoplay.UnlockType" |
| enum="WebAudioAutoplayUnlockType" expires_after="M87"> |
| <owner>mlamouri@google.com</owner> |
| <owner>media-dev@chromium.org</owner> |
| <owner>rtoy@chromium.org</owner> |
| <owner>hongchan@chromium.org</owner> |
| <summary> |
| Records how an AudioContext was unlocked (if it was). This is recorded when |
| the AudioContext is destroyed. |
| </summary> |
| </histogram> |
| |
| <histogram name="WebAudio.BiquadFilter.Type" enum="BiquadFilterType" |
| expires_after="2021-01-06"> |
| <owner>rtoy@chromium.org</owner> |
| <owner>hongchan@chromium.org</owner> |
| <summary> |
| The type of the BiquadFilterNode. Recorded each time the type is set. This |
| recorded once (to lowpass) when a biquad filter is created and also recorded |
| whenever the filter type changes due to user action or programatically. It |
| is unlikely the type will change more than once. |
| </summary> |
| </histogram> |
| |
| <histogram name="WebAudio.ConvolverNode.ImpulseResponseLength" units="ms" |
| expires_after="2021-02-18"> |
| <owner>rtoy@chromium.org</owner> |
| <owner>hongchan@chromium.org</owner> |
| <summary> |
| The duration in millisec of impulse responses for a ConvolverNode. Recorded |
| each time the impulse response is set for a ConvolverNode. |
| </summary> |
| </histogram> |
| |
| <histogram name="WebAudio.IIRFilterNode.Order" units="units" |
| expires_after="2021-01-06"> |
| <owner>rtoy@chromium.org</owner> |
| <owner>hongchan@chromium.org</owner> |
| <summary> |
| The order of the WebAudio IIRFilterNode. The order is one less than the |
| number of feedback coefficients used in the denominator of the IIRFilter |
| transfer function. Recorded each time an IIRFilter is constructed. |
| </summary> |
| </histogram> |
| |
| <histogram name="WebAudio.OfflineAudioContext.ChannelCount" units="units" |
| expires_after="2021-01-06"> |
| <owner>rtoy@chromium.org</owner> |
| <owner>hongchan@chromium.org</owner> |
| <summary> |
| The number of channels specified for the offline audio context. Recorded for |
| every offline context created. Probably only a few per page, but could be |
| potentially much more (thousands). |
| </summary> |
| </histogram> |
| |
| <histogram name="WebAudio.OfflineAudioContext.Length" units="frames" |
| expires_after="2021-03-21"> |
| <owner>rtoy@chromium.org</owner> |
| <owner>hongchan@chromium.org</owner> |
| <summary> |
| The length (in frames) specified for the offline audio context. Recorded for |
| every offline context created. Probably only a few per page, but could be |
| potentially much more (thousands). |
| </summary> |
| </histogram> |
| |
| <histogram name="WebAudio.OfflineAudioContext.SampleRate384kHz" units="Hz" |
| expires_after="2021-02-18"> |
| <owner>rtoy@chromium.org</owner> |
| <owner>hongchan@chromium.org</owner> |
| <summary> |
| The sample rate (in Hz) specified for the offline audio context. Recorded |
| for every offline context created. Probably only a few per page, but could |
| be potentially much more (thousands). |
| </summary> |
| </histogram> |
| |
| <histogram name="WebAudio.PannerNode.PanningModel" enum="PanningModelType" |
| expires_after="2021-01-06"> |
| <owner>rtoy@chromium.org</owner> |
| <owner>hongchan@chromium.org</owner> |
| <summary> |
| The panning model for the PannerNode. Recorded once with the default value |
| at creation and once again whenver it is changed. Once changed, it is |
| unlikely to be changed again. If there are any PannerNodes created at all, |
| then there is probably one for each source (AudioBufferSourceNode, |
| OscillatorNode, or other source). |
| </summary> |
| </histogram> |
| |
| <histogram name="WebAudio.PushPullFIFO.UnderflowGlitches" enum="Boolean" |
| expires_after="2021-01-06"> |
| <owner>rtoy@chromium.org</owner> |
| <owner>hongchan@chromium.org</owner> |
| <summary> |
| Captures if WebAudio caused glitches or not due to the FIFO underflow. It is |
| recorded when PushPullFIFO is destroyed. (e.g. navigating away from the |
| page.) |
| </summary> |
| </histogram> |
| |
| <histogram name="WebAudio.PushPullFIFO.UnderflowPercentage" units="%" |
| expires_after="2021-01-06"> |
| <owner>rtoy@chromium.org</owner> |
| <owner>hongchan@chromium.org</owner> |
| <summary> |
| Percentage of FIFO underflow happened due to the the missed deadline of |
| WebAudio rendering engine. It is recorded when PushPullFIFO is destroyed. |
| (e.g. navigating away from the page.) |
| </summary> |
| </histogram> |
| |
| </histograms> |
| |
| </histogram-configuration> |