chromium/tools/metrics/histograms/metadata/na_cl/histograms.xml

<!--
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 NaCl 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
[email protected].
-->

<histogram-configuration>

<histograms>

<histogram name="NaCl.Client.Helper.InitState" enum="NaClHelperStatus"
    expires_after="2025-03-31">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    When the browser started, what happened with the NaCl helper process?
  </summary>
</histogram>

<histogram name="NaCl.Client.Helper.StateOnFork" enum="NaClHelperStatus"
    expires_after="2025-03-31">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    When a NaCl application process was created, what had happened with the NaCl
    helper process when the browser was started?
  </summary>
</histogram>

<histogram name="NaCl.Client.OSArch" enum="NaClOSArchEnum"
    expires_after="2025-03-31">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>The OS/Architecture of a nexe that was loaded.</summary>
</histogram>

<histogram name="NaCl.EmbedderType" enum="NaClEmbedderTypeEnum"
    expires_after="2025-03-31">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Type of NaCl/PNaCl application/extension. Recorded at plugin creation time
    after the permission check.
  </summary>
</histogram>

<histogram name="NaCl.HttpStatusCodeClass.Manifest.InstalledApp"
    enum="NaClHttpStatusCodeClass" expires_after="2025-03-31">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The status code returned when trying to load a manifest inside an installed
    app.
  </summary>
</histogram>

<histogram name="NaCl.HttpStatusCodeClass.Manifest.NotInstalledApp"
    enum="NaClHttpStatusCodeClass" expires_after="2025-03-31">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The status code returned when trying to load a manifest from a source other
    than an installed app.
  </summary>
</histogram>

<histogram name="NaCl.HttpStatusCodeClass.Nexe.InstalledApp"
    enum="NaClHttpStatusCodeClass" expires_after="2025-03-31">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The status code returned when trying to load a NaCl executable inside an
    installed app.
  </summary>
</histogram>

<histogram name="NaCl.HttpStatusCodeClass.Nexe.NotInstalledApp"
    enum="NaClHttpStatusCodeClass" expires_after="2025-03-31">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The status code returned when trying to load a NaCl executable from a source
    other than an installed app.
  </summary>
</histogram>

<histogram name="NaCl.LoadStatus.Plugin" enum="NaClPluginErrorCode"
    expires_after="2025-03-31">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>The error code returned by NaCl's Chrome plugin.</summary>
</histogram>

<histogram name="NaCl.LoadStatus.Plugin.InstalledApp"
    enum="NaClPluginErrorCode" expires_after="2025-03-31">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The error code returned by NaCl's Chrome plugin, but only for installed
    apps.
  </summary>
</histogram>

<histogram name="NaCl.LoadStatus.Plugin.NotInstalledApp"
    enum="NaClPluginErrorCode" expires_after="2025-03-31">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The error code returned by NaCl's Chrome plugin, but excluding installed
    apps.
  </summary>
</histogram>

<histogram name="NaCl.LoadStatus.SelLdr" enum="NaClSelLdrErrorCode"
    expires_after="2025-03-31">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>The error code returned by NaCl's sel_ldr.</summary>
</histogram>

<histogram name="NaCl.LoadStatus.SelLdr.InstalledApp"
    enum="NaClSelLdrErrorCode" expires_after="2025-03-31">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The error code returned by NaCl's sel_ldr, but only for installed apps.
  </summary>
</histogram>

<histogram name="NaCl.LoadStatus.SelLdr.NotInstalledApp"
    enum="NaClSelLdrErrorCode" expires_after="2025-03-31">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The error code returned by NaCl's sel_ldr, but excluding installed apps.
  </summary>
</histogram>

<histogram name="NaCl.Manifest.IsDataURI" enum="NaClManifestType"
    expires_after="2025-03-31">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Was the manifest specified as a data URI rather than a .nmf file?
  </summary>
</histogram>

<histogram name="NaCl.ModuleUptime.Crash" units="ms" expires_after="2025-03-31">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>The time a NaCl module ran before it crashed.</summary>
</histogram>

<histogram name="NaCl.ModuleUptime.Normal" units="ms"
    expires_after="2025-03-31">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>The time a NaCl module ran without crashing, at shutdown.</summary>
</histogram>

<histogram name="NaCl.Options.PNaCl.OptLevel" enum="PNaClOptionsOptLevelEnum"
    expires_after="2025-03-31">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The optimization level set for the initial Portable Native Client
    translation from bitcode to native code.
  </summary>
</histogram>

<histogram name="NaCl.Perf.PNaClCache.IsHit" enum="PNaClTranslationCacheEnum"
    expires_after="2025-03-31">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Did the Portable Native Client translation cache find an executable
    translated from bitcode?
  </summary>
</histogram>

<histogram name="NaCl.Perf.PNaClLoadTime.CompileKBPerSec" units="KB/s"
    expires_after="2025-03-31">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The rate for compiling a Portable Native Client bitcode file to an object
    file in Kilobytes per second.
  </summary>
</histogram>

<histogram name="NaCl.Perf.PNaClLoadTime.CompileTime" units="ms"
    expires_after="2025-03-31">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The time it took to compile a Portable Native Client bitcode file to an
    object file.
  </summary>
</histogram>

<histogram name="NaCl.Perf.PNaClLoadTime.LinkTime" units="ms"
    expires_after="2025-03-31">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The time it took to link a Portable Native Client generated object file into
    a Native Client executable.
  </summary>
</histogram>

<histogram name="NaCl.Perf.PNaClLoadTime.LoadCompiler" units="ms"
    expires_after="2025-03-31">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The time it took to load and validate the Portable Native Client compiler.
  </summary>
</histogram>

<histogram name="NaCl.Perf.PNaClLoadTime.LoadLinker" units="ms"
    expires_after="2025-03-31">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The time it took to load and validate the Portable Native Client linker.
  </summary>
</histogram>

<histogram name="NaCl.Perf.PNaClLoadTime.PctCompiledWhenFullyDownloaded"
    units="%" expires_after="2025-03-31">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The percentage of a Portable Native Client application that is compiled by
    the time the application is fully downloaded (compile and download happen in
    parallel).
  </summary>
</histogram>

<histogram name="NaCl.Perf.PNaClLoadTime.TotalUncachedKBPerSec" units="KB/s"
    expires_after="2025-03-31">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The rate for completely translating a Portable Native Client bitcode file
    into a Native Client executable and caching the result in Kilobytes per
    second.
  </summary>
</histogram>

<histogram name="NaCl.Perf.PNaClLoadTime.TotalUncachedTime" units="ms"
    expires_after="2025-03-31">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The total time it took to completely translate a Portable Native Client
    bitcode file into a Native Client executable, and cache the result.
  </summary>
</histogram>

<histogram name="NaCl.Perf.ShutdownTime.Total" units="ms"
    expires_after="2025-03-31">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>The time it took the NaCl module to shut down.</summary>
</histogram>

<histogram name="NaCl.Perf.Size.Manifest" units="KB" expires_after="2025-03-31">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>The size of the manifest file.</summary>
</histogram>

<histogram name="NaCl.Perf.Size.Nexe" units="KB" expires_after="2025-03-31">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The size of the main .nexe file downloaded for a Native Client module.
  </summary>
</histogram>

<histogram name="NaCl.Perf.Size.Pexe" units="KB" expires_after="2025-03-31">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The size of the main .pexe bitcode file downloaded for a Portable Native
    Client module.
  </summary>
</histogram>

<histogram name="NaCl.Perf.Size.PexeNexeSizePct" units="%"
    expires_after="2025-03-31">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The size of the main .pexe bitcode file divided by the size of the .nexe
    that is the result of translating the bitcode file, times 100.
  </summary>
</histogram>

<histogram name="NaCl.Perf.Size.PNaClTranslatedNexe" units="KB"
    expires_after="2025-03-31">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The size of the main .nexe file that is the result of translating a Portable
    Native Client .pexe bitcode file. This reflects the amount of cache
    consumed.
  </summary>
</histogram>

<histogram name="NaCl.Perf.StartupTime.LoadModule" units="ms"
    expires_after="2025-03-31">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>The time it took to load the NaCl module into sel_ldr.</summary>
</histogram>

<histogram name="NaCl.Perf.StartupTime.LoadModulePerMB" units="milliseconds/MB"
    expires_after="2025-03-31">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The time it took to load the NaCl module into sel_ldr. Normalized by the
    size of the .nexe, in megabytes.
  </summary>
</histogram>

<histogram name="NaCl.Perf.StartupTime.ManifestDownload" units="ms"
    expires_after="2025-03-31">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The time it took to download the manifset file for a Native Client module.
  </summary>
</histogram>

<histogram name="NaCl.Perf.StartupTime.NaClOverhead" units="ms"
    expires_after="2025-03-31">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The time it took between the Native Client plugin initialization and when
    proxied execution of the NaCl module begins. This is the general startup
    overhead of running as a NaCl module vs a trusted PPAPI plugin.
  </summary>
</histogram>

<histogram name="NaCl.Perf.StartupTime.NaClOverheadPerMB"
    units="milliseconds/MB" expires_after="2025-03-31">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The time it took between the Native Client plugin initialization and when
    proxied execution of the NaCl module begins. This is the general startup
    overhead of running as a NaCl module vs a trusted PPAPI plugin. Normalized
    by the size of the .nexe, in megabytes.
  </summary>
</histogram>

<histogram name="NaCl.Perf.StartupTime.NexeDownload" units="ms"
    expires_after="2025-03-31">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The time it took to download the main .nexe for a Native Client module.
  </summary>
</histogram>

<histogram name="NaCl.Perf.StartupTime.NexeDownloadPerMB"
    units="milliseconds/MB" expires_after="2025-03-31">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The time it took to download the main .nexe for a Native Client module.
    Normalized by the size of the .nexe, in megabytes.
  </summary>
</histogram>

<histogram name="NaCl.Perf.StartupTime.Total" units="ms"
    expires_after="2025-03-31">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The time it took between the Native Client plugin initialization and when
    the NaCl module is ready to be used.
  </summary>
</histogram>

<histogram name="NaCl.Perf.StartupTime.TotalPerMB" units="milliseconds/MB"
    expires_after="2025-03-31">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The time it took between the Native Client plugin initialization and when
    the NaCl module is ready to be used. Normalized by the size of the .nexe, in
    megabytes.
  </summary>
</histogram>

<histogram name="NaCl.ValidationCache.Query" enum="NaClValidationCacheEnum"
    expires_after="2025-03-31">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Did a validation cache query find a previously known validation result?
  </summary>
</histogram>

<histogram name="NaCl.ValidationCache.Set" enum="NaClValidationCacheEnum"
    expires_after="2025-03-31">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Was the validation cache updated with a new validation result?
  </summary>
</histogram>

</histograms>

</histogram-configuration>