| <!-- |
| Copyright 2023 The Cobalt Authors. All Rights Reserved. |
| |
| Licensed under the Apache License, Version 2.0 (the "License"); |
| you may not use this file except in compliance with the License. |
| You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| --> |
| |
| <!-- |
| This file is used to generate a comprehensive list of Cobalt histograms |
| along with a detailed description for each histogram. See go/cobalt-telemetry |
| for details on how to modify this file. |
| |
| For best practices on writing histogram descriptions, see |
| https://chromium.googlesource.com/chromium/src.git/+/HEAD/tools/metrics/histograms/README.md |
| |
| Always run the pretty print utility on this file after editing: |
| |
| ./tools/metrics/histograms/pretty_print.py tools/metrics/histograms/metadata/cobalt/histograms.xml |
| --> |
| |
| <histogram-configuration> |
| |
| <histograms> |
| |
| <histogram name="Cobalt.DOM.CSS.Link.ParseTimeMicrosPerKB" units="microseconds" |
| expires_after="never"> |
| <!-- expires-never: Needed for long-term tracking of CSS parse performance. --> |
| |
| <owner>joeltine@google.com</owner> |
| <summary> |
| A normalized ratio of time to KB of CSS parsing for link tags. Only logs a |
| sample for links loaded through HTTP/HTTPS and greater than 1KB. See |
| go/cobalt-js-css-parsing-metrics for the full design. |
| </summary> |
| </histogram> |
| |
| <histogram name="Cobalt.DOM.CSS.Style.ParseTimeMicrosPerKB" |
| units="microseconds" expires_after="never"> |
| <!-- expires-never: Needed for long-term tracking of CSS parse performance. --> |
| |
| <owner>joeltine@google.com</owner> |
| <summary> |
| A normalized ratio of time to KB of CSS parsing for style tags. Only logs a |
| sample for HTMLStyleElements with CSS greater than 1KB. See |
| go/cobalt-js-css-parsing-metrics for the full design. |
| </summary> |
| </histogram> |
| |
| <histogram name="Cobalt.Media.HasEverPlayed" enum="PipelineStatus" |
| expires_after="never"> |
| <!-- expires-never: Needed for baseline Media pipeline health metric. --> |
| |
| <owner>sideboard@google.com</owner> |
| <owner>cobalt-team@google.com</owner> |
| <summary> |
| Status of the media pipeline at the end of its lifecycle for audio-video |
| streams with an unknown video codec. |
| </summary> |
| </histogram> |
| |
| <histogram name="Cobalt.Media.PipelineStatus.AudioOnly" enum="PipelineStatus" |
| expires_after="never"> |
| <!-- expires-never: Needed for baseline Media pipeline health metric. --> |
| |
| <owner>sideboard@google.com</owner> |
| <owner>cobalt-team@google.com</owner> |
| <summary> |
| Status of the media pipeline at the end of its lifecycle for audio only |
| streams. |
| </summary> |
| </histogram> |
| |
| <histogram name="Cobalt.Media.PipelineStatus.AudioVideo.AV1" |
| enum="PipelineStatus" expires_after="never"> |
| <!-- expires-never: Needed for baseline Media pipeline health metric. --> |
| |
| <owner>sideboard@google.com</owner> |
| <owner>cobalt-team@google.com</owner> |
| <summary> |
| Status of the media pipeline at the end of its lifecycle for audio-video |
| streams with AV1 video codec. |
| </summary> |
| </histogram> |
| |
| <histogram name="Cobalt.Media.PipelineStatus.AudioVideo.H264" |
| enum="PipelineStatus" expires_after="never"> |
| <!-- expires-never: Needed for baseline Media pipeline health metric. --> |
| |
| <owner>sideboard@google.com</owner> |
| <owner>cobalt-team@google.com</owner> |
| <summary> |
| Status of the media pipeline at the end of its lifecycle for audio-video |
| streams with H264 video codec. |
| </summary> |
| </histogram> |
| |
| <histogram name="Cobalt.Media.PipelineStatus.AudioVideo.Other" |
| enum="PipelineStatus" expires_after="never"> |
| <!-- expires-never: Needed for baseline Media pipeline health metric. --> |
| |
| <owner>sideboard@google.com</owner> |
| <owner>cobalt-team@google.com</owner> |
| <summary> |
| Status of the media pipeline at the end of its lifecycle for audio-video |
| streams with an unknown video codec. |
| </summary> |
| </histogram> |
| |
| <histogram name="Cobalt.Media.PipelineStatus.AudioVideo.VP9" |
| enum="PipelineStatus" expires_after="never"> |
| <!-- expires-never: Needed for baseline Media pipeline health metric. --> |
| |
| <owner>sideboard@google.com</owner> |
| <owner>cobalt-team@google.com</owner> |
| <summary> |
| Status of the media pipeline at the end of its lifecycle for audio-video |
| streams with VP9 video codec. |
| </summary> |
| </histogram> |
| |
| <histogram name="Cobalt.Media.PipelineStatus.Unsupported" enum="PipelineStatus" |
| expires_after="never"> |
| <!-- expires-never: Needed for baseline Media pipeline health metric. --> |
| |
| <owner>sideboard@google.com</owner> |
| <owner>cobalt-team@google.com</owner> |
| <summary> |
| Status of the media pipeline at the end of its lifecycle for audio-video |
| streams with an unknown video codec. |
| </summary> |
| </histogram> |
| |
| <histogram name="Cobalt.Media.PipelineStatus.VideoOnly" enum="PipelineStatus" |
| expires_after="never"> |
| <!-- expires-never: Needed for baseline Media pipeline health metric. --> |
| |
| <owner>sideboard@google.com</owner> |
| <owner>cobalt-team@google.com</owner> |
| <summary> |
| Status of the media pipeline at the end of its lifecycle for video only |
| streams. |
| </summary> |
| </histogram> |
| |
| <histogram name="Cobalt.Media.SourceBuffer.AppendBuffer.Timing" |
| units="microseconds" expires_after="never"> |
| <!-- expires-never: Needed for long-term tracking of SourceBuffer latency. --> |
| |
| <owner>async@google.com</owner> |
| <owner>cobalt-team@google.com</owner> |
| <summary> |
| Timing data for the main action of the `SourceBuffer.appendBuffer` call. |
| </summary> |
| </histogram> |
| |
| <histogram name="Cobalt.Media.SourceBuffer.PrepareAppend.Timing" |
| units="microseconds" expires_after="never"> |
| <!-- expires-never: Needed for long-term tracking of SourceBuffer latency. --> |
| |
| <owner>async@google.com</owner> |
| <owner>cobalt-team@google.com</owner> |
| <summary> |
| Timing data for preparation of `SourceBuffer.appendBuffer` calls. |
| </summary> |
| </histogram> |
| |
| <histogram name="Cobalt.Media.SourceBuffer.Other.Timing" |
| units="microseconds" expires_after="never"> |
| <!-- expires-never: Needed for long-term tracking of SourceBuffer latency. --> |
| |
| <owner>async@google.com</owner> |
| <owner>cobalt-team@google.com</owner> |
| <summary> |
| Catch-all for timing data for `SourceBuffer.appendBuffer` calls. This |
| histogram is not expected to receive data normally. |
| </summary> |
| </histogram> |
| |
| <histogram name="Cobalt.Media.WebMediaPlayer.Seek.Timing" |
| units="milliseconds" expires_after="never"> |
| <!-- expires-never: Needed for long-term tracking of Seek latency. --> |
| |
| <owner>async@google.com</owner> |
| <owner>cobalt-team@google.com</owner> |
| <summary> |
| Timing data for the seek latency of WebMediaPlayer. |
| </summary> |
| </histogram> |
| |
| <histogram name="Cobalt.Media.SbPlayer.Create.Timing" |
| units="microseconds" expires_after="never"> |
| <!-- expires-never: Needed for long-term tracking of SbPlayer latencies. --> |
| |
| <owner>sideboard@google.com</owner> |
| <owner>cobalt-team@google.com</owner> |
| <summary> |
| Timing data for the creation of SbPlayer. |
| </summary> |
| </histogram> |
| |
| <histogram name="Cobalt.Media.SbPlayer.CreateUrlPlayer.Timing" |
| units="microseconds" expires_after="never"> |
| <!-- expires-never: Needed for long-term tracking of SbPlayer latencies. --> |
| |
| <owner>sideboard@google.com</owner> |
| <owner>cobalt-team@google.com</owner> |
| <summary> |
| Timing data for the creation of an SbPlayer::UrlPlayer. |
| </summary> |
| </histogram> |
| |
| <histogram name="Cobalt.Media.SbPlayer.Destroy.Timing" |
| units="microseconds" expires_after="never"> |
| <!-- expires-never: Needed for long-term tracking of SbPlayer latencies. --> |
| |
| <owner>sideboard@google.com</owner> |
| <owner>cobalt-team@google.com</owner> |
| <summary> |
| Timing data for the destruction of SbPlayer. |
| </summary> |
| </histogram> |
| |
| <histogram name="Cobalt.MediaDevices.MicCreationSucceeded" enum="Boolean" |
| expires_after="never"> |
| <!-- expires-never: Needed for long-term tracking of device mic support. --> |
| |
| <owner>loganmann@google.com</owner> |
| <owner>yt-magma-eng@google.com</owner> |
| <owner>cobalt-team@google.com</owner> |
| <summary> |
| A boolean representing the success or failure of an attempted mic creation |
| event via mediaDevices.getUserMedia(). |
| </summary> |
| </histogram> |
| |
| <histogram name="Cobalt.LoaderApp.CrashpadInstallationStatus" |
| enum="CrashpadInstallationStatus" expires_after="never"> |
| <!-- expires-never: Needed for crash reporting system health metrics. --> |
| |
| <owner>hwarriner@google.com</owner> |
| <owner>cobalt-team@google.com</owner> |
| <summary> |
| Status of Crashpad installation by the Loader App. |
| </summary> |
| </histogram> |
| |
| <histogram name="Cobalt.LoaderApp.ElfLoadDuration" units="milliseconds" |
| expires_after="never"> |
| <!-- expires-never: Needed for long-term tracking of ELF load performance. --> |
| |
| <owner>hwarriner@google.com</owner> |
| <owner>cobalt-team@google.com</owner> |
| <summary> |
| The time it takes for Cobalt's ELF Loader to load the dynamic shared |
| library, which under normal operation is the Cobalt Core library. This |
| metric is only recorded when the shared library is stored as a compressed |
| file, and this metric includes the decompression time. |
| </summary> |
| </histogram> |
| |
| <histogram name="Cobalt.LoaderApp.ElfDecompressionDuration" units="milliseconds" |
| expires_after="never"> |
| <!-- expires-never: Needed for long-term tracking of ELF load performance. --> |
| |
| <owner>hwarriner@google.com</owner> |
| <owner>cobalt-team@google.com</owner> |
| <summary> |
| The time it takes for the ELF dynamic shared library, stored as a compressed |
| file, to be decompressed. This metric is only recorded when the shared |
| library is stored as a compressed file. |
| </summary> |
| </histogram> |
| |
| <histogram name="Cobalt.LoaderApp.ElfLoadUnexplainedDuration" |
| units="milliseconds" expires_after="never"> |
| <!-- expires-never: Needed for long-term tracking of ELF load performance. --> |
| |
| <owner>hwarriner@google.com</owner> |
| <owner>cobalt-team@google.com</owner> |
| <summary> |
| Cobalt.LoaderApp.ElfLoadDuration minus |
| Cobalt.LoaderApp.ElfDecompressionDuration. This metric is only recorded when |
| the shared library is stored as a compressed file. |
| </summary> |
| </histogram> |
| |
| <histogram name="Cobalt.LoaderApp.MaxSampledUsedCPUMemoryDuringELFLoad" |
| units="MB" expires_after="never"> |
| <!-- expires-never: Needed for long-term tracking of ELF load performance. --> |
| |
| <owner>hwarriner@google.com</owner> |
| <owner>cobalt-team@google.com</owner> |
| <summary> |
| The maximum sampled value of CPU memory used by the Loader App while the ELF |
| dynamic shared library is being loaded. Note that this maximum sampled value |
| is not guaranteed to be the true maximum value, which could be greater. This |
| metric is only recorded when the shared library is stored as a compressed |
| file. |
| </summary> |
| </histogram> |
| |
| </histograms> |
| |
| </histogram-configuration> |