blob: 4063965b107d40f6bca467f85df8b7ca28c94547 [file] [log] [blame]
<!--
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>