| <!-- |
| 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 V8 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> |
| |
| <histogram name="V8.ArrayBufferLargeAllocations" units="MB" |
| expires_after="M120"> |
| <owner>gdeepti@chromium.org</owner> |
| <owner>ecmziegler@chromium.org</owner> |
| <owner>clemensb@chromium.org</owner> |
| <summary> |
| Number of bytes requested in array buffer allocations greater than one |
| megabyte. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.ArrayBufferNewSizeFailures" units="MB" expires_after="M120"> |
| <owner>gdeepti@chromium.org</owner> |
| <owner>ecmziegler@chromium.org</owner> |
| <owner>clemensb@chromium.org</owner> |
| <summary>Array buffer sizes for which V8 failed to allocate memory.</summary> |
| </histogram> |
| |
| <histogram name="V8.CodeCacheRejectReason" enum="V8CodeCacheRejectReason" |
| expires_after="M77"> |
| <owner>yangguo@chromium.org</owner> |
| <summary> |
| Reason code data has been rejected when attempting to deserialize. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.CodeCacheSizeRatio" units="%" expires_after="2022-05-01"> |
| <owner>yangguo@chromium.org</owner> |
| <summary>Cache size to source size ratio when caching compiled code.</summary> |
| </histogram> |
| |
| <histogram name="V8.CollectSourcePositions" units="microseconds" |
| expires_after="M85"> |
| <owner>delphick@chromium.org</owner> |
| <summary> |
| Time spent collecting source positions to generate stack traces. |
| |
| 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="V8.CompileCacheableMicroSeconds" units="microseconds" |
| expires_after="M85"> |
| <owner>yangguo@chromium.org</owner> |
| <summary> |
| Time spent compiling a script that may be subject to caching. |
| |
| 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="V8.CompileDeserializeMicroSeconds" units="microseconds" |
| expires_after="2024-03-14"> |
| <owner>jgruber@chromium.org</owner> |
| <owner>leszeks@chromium.org</owner> |
| <summary> |
| Time spent deserializing code, used by V8 code caching. |
| |
| 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="V8.CompileEvalMicroSeconds" units="microseconds" |
| expires_after="M77"> |
| <owner>yangguo@chromium.org</owner> |
| <summary> |
| Time spent in V8 compiler (full codegen) for eval. |
| |
| 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="V8.CompileLazyMicroSeconds" units="microseconds" |
| expires_after="2023-09-10"> |
| <owner>hablich@chromium.org</owner> |
| <summary> |
| Aggregated time spent compiling functions lazily during a single script |
| execution. |
| |
| 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="V8.CompileMicroSeconds" units="microseconds" |
| expires_after="2023-10-08"> |
| <owner>yangguo@chromium.org</owner> |
| <summary> |
| Time spent in V8 compiler (full codegen) excluding parser. |
| |
| 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="V8.CompileScript.CacheBehaviour" enum="V8CacheBehaviour" |
| expires_after="2023-10-08"> |
| <owner>leszeks@chromium.org</owner> |
| <owner>v8-runtime@google.com</owner> |
| <summary> |
| The cache behaviour of compiling a V8 script, including whether we produced |
| or consumed a code cache, whether we hit V8's isolate's cache, and if we |
| didn't use the code cache, the reason why not. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.CompileScriptMicroSeconds" units="microseconds" |
| expires_after="2023-09-03"> |
| <owner>leszeks@chromium.org</owner> |
| <owner>v8-runtime@google.com</owner> |
| <summary> |
| Total time spent in compiling a script (incl. parsing/caching). |
| |
| 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="V8.CompileScriptMicroSeconds.BackgroundThread" |
| units="microseconds" expires_after="2022-04-24"> |
| <owner>leszeks@chromium.org</owner> |
| <owner>rmcilroy@chromium.org</owner> |
| <owner>v8-runtime@google.com</owner> |
| <summary> |
| Total time spent in compiling a script (incl. parsing) on a background |
| thread. |
| |
| 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="V8.CompileScriptMicroSeconds.ConsumeCache" |
| units="microseconds" expires_after="2023-09-03"> |
| <owner>leszeks@chromium.org</owner> |
| <owner>v8-runtime@google.com</owner> |
| <summary> |
| Total time spent in compiling a script when the 'compilation' is |
| deserializing it from the code cache. |
| |
| 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="V8.CompileScriptMicroSeconds.ConsumeCache.Failed" |
| units="microseconds" expires_after="2021-02-01"> |
| <owner>leszeks@chromium.org</owner> |
| <owner>v8-runtime@google.com</owner> |
| <summary> |
| Total time spent in compiling a script (incl. parsing/caching) when the |
| compilation tried to deserialize it from the code cache, but failed. |
| |
| 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="V8.CompileScriptMicroSeconds.IsolateCacheHit" |
| units="microseconds" expires_after="2021-04-04"> |
| <owner>leszeks@chromium.org</owner> |
| <owner>v8-runtime@google.com</owner> |
| <summary> |
| Total time spent in compiling a script (incl. parsing/caching) in the case |
| where the V8 isolate's compilation cache is hit. |
| |
| 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="V8.CompileScriptMicroSeconds.NoCache.CacheTooCold" |
| units="microseconds" expires_after="2021-12-12"> |
| <owner>leszeks@chromium.org</owner> |
| <owner>v8-runtime@google.com</owner> |
| <summary> |
| Total time spent in compiling a script (incl. parsing) when the cache is too |
| cold to use. |
| |
| 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="V8.CompileScriptMicroSeconds.NoCache.InlineScript" |
| units="microseconds" expires_after="2021-02-01"> |
| <owner>leszeks@chromium.org</owner> |
| <owner>v8-runtime@google.com</owner> |
| <summary> |
| Total time spent in compiling a script (incl. parsing) when the script is an |
| inline script. |
| |
| 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="V8.CompileScriptMicroSeconds.NoCache.Other" |
| units="microseconds" expires_after="2021-02-01"> |
| <owner>leszeks@chromium.org</owner> |
| <owner>v8-runtime@google.com</owner> |
| <summary> |
| Total time spent in compiling a script (incl. parsing) when we do not want |
| to cache it. |
| |
| 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="V8.CompileScriptMicroSeconds.NoCache.ScriptTooSmall" |
| units="microseconds" expires_after="2021-10-17"> |
| <owner>leszeks@chromium.org</owner> |
| <owner>v8-runtime@google.com</owner> |
| <summary> |
| Total time spent in compiling a script (incl. parsing) when the script is |
| too small to be cached. |
| |
| 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="V8.CompileScriptMicroSeconds.ProduceCache" |
| units="microseconds" expires_after="2023-10-08"> |
| <owner>leszeks@chromium.org</owner> |
| <owner>v8-runtime@google.com</owner> |
| <summary> |
| Total time spent in compiling a script (incl. parsing) and serializing it |
| for the code cache. |
| |
| 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="V8.CompileScriptMicroSeconds.StreamingFinalization" |
| units="microseconds" expires_after="2022-04-24"> |
| <owner>leszeks@chromium.org</owner> |
| <owner>v8-runtime@google.com</owner> |
| <summary> |
| Total time spent in finalizing a script that was streaming compiled. |
| |
| 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="V8.CompileSerializeMicroSeconds" units="microseconds" |
| expires_after="2024-03-14"> |
| <owner>jgruber@chromium.org</owner> |
| <owner>leszeks@chromium.org</owner> |
| <summary> |
| Time spent serializing code, used by V8 code caching. |
| |
| 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="V8.DebugFeatureUsage" enum="V8DebugFeature" |
| expires_after="2023-08-08"> |
| <owner>yangguo@chromium.org</owner> |
| <owner>bmeurer@chromium.org</owner> |
| <summary> |
| Debugger feature used at least once per isolate, recorded on first use. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.DebugPauseToPausedEventMilliSeconds" units="ms" |
| expires_after="2023-10-01"> |
| <owner>bmeurer@chromium.org</owner> |
| <owner>szuend@chromium.org</owner> |
| <owner>chrome-devtools@google.com</owner> |
| <summary> |
| Duration beginning when V8 stops execution due to a breakpoint/exception |
| until the "Debugger.paused" CDP event is sent by the V8 inspector. |
| The event is recorded when all the event data was collected and processed, |
| but before the event is serialized and put on the wire. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.ErrorsThrownPerContext" units="errors" |
| expires_after="2020-02-23"> |
| <owner>hablich@chromium.org</owner> |
| <summary> |
| The amount of JavaScript errors thrown by V8 per context. It does not count |
| custom errors and ignores catched errors thrown by V8. This is collected |
| after the context is detached. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.ExecuteMicroSeconds" units="microseconds" |
| expires_after="2023-09-10"> |
| <owner>cbruni@chromium.org</owner> |
| <owner>v8-runtime@google.com</owner> |
| <summary> |
| Time spent in JavaScript Execution, including runtime calls, and lazy |
| compilation. This histogram excludes time spent in embedder callbacks. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.ExternalPointerTableCompactionOutcome" |
| enum="V8ExternalPointerTableCompactionOutcome" expires_after="2023-10-22"> |
| <owner>saelo@chromium.org</owner> |
| <owner>ishell@chromium.org</owner> |
| <summary> |
| The outcome of external pointer table compaction. |
| |
| External pointer table compaction may only succeed partially or fail |
| entirely if the application allocates lots of external pointer table entries |
| while the table is being compacted. This histogram records this outcome at |
| the end of a table-compacting GC. The frequency of such failures influences |
| the heuristics used to decide when to compact the table, and to some degree |
| also the compaction algorithm itself. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.GC.Cycle.CollectionRate.Full" units="%" |
| expires_after="M119"> |
| <owner>nikolaos@chromium.org</owner> |
| <owner>v8-memory-sheriffs@google.com</owner> |
| <summary> |
| The percentage of managed JavaScript memory that has been collected by a |
| full garbage collection of the unified heap. Reported at the end of the |
| garbage collection cycle. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.GC.Cycle.CollectionRate.Full.Cpp" units="%" |
| expires_after="M119"> |
| <owner>omerkatz@chromium.org</owner> |
| <owner>v8-memory-sheriffs@google.com</owner> |
| <summary> |
| The percentage of managed C++ memory that has been collected by a garbage |
| collection of the managed C++ heap. Reported at the end of the garbage |
| collection cycle. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.GC.Cycle.CollectionRate.Young" units="%" |
| expires_after="M119"> |
| <owner>nikolaos@chromium.org</owner> |
| <owner>v8-memory-sheriffs@google.com</owner> |
| <summary> |
| The percentage of managed JavaScript memory that has been collected by a |
| young generation garbage collection of the JavaScript heap. Reported at the |
| end of the garbage collection cycle. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.GC.Cycle.Efficiency.Full" units="KB/ms" |
| expires_after="M119"> |
| <owner>nikolaos@chromium.org</owner> |
| <owner>v8-memory-sheriffs@google.com</owner> |
| <summary> |
| The speed at which a full garbage collection of the unified heap reclaims |
| unused memory. Reported at the end of the garbage collection cycle. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.GC.Cycle.Efficiency.Full.Cpp" units="KB/ms" |
| expires_after="M119"> |
| <owner>omerkatz@chromium.org</owner> |
| <owner>v8-memory-sheriffs@google.com</owner> |
| <summary> |
| The speed at which garbage collection of the managed C++ heap reclaims |
| unused memory. Reported at the end of the garbage collection cycle. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.GC.Cycle.Efficiency.MainThread.Full" units="KB/ms" |
| expires_after="M119"> |
| <owner>nikolaos@chromium.org</owner> |
| <owner>v8-memory-sheriffs@google.com</owner> |
| <summary> |
| The speed at which a full garbage collection of the unified heap reclaims |
| unused memory on the main thread only. This histogram ignores concurrent |
| garbage collection. Reported at the end of the garbage collection cycle. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.GC.Cycle.Efficiency.MainThread.Full.Cpp" units="KB/ms" |
| expires_after="M119"> |
| <owner>omerkatz@chromium.org</owner> |
| <owner>v8-memory-sheriffs@google.com</owner> |
| <summary> |
| The speed at which garbage collection of the managed C++ heap reclaims |
| unused memory on the main thread only. This histogram ignores concurrent |
| garbage collection. Reported at the end of the garbage collection cycle. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.GC.Cycle.Efficiency.MainThread.Young" units="KB/ms" |
| expires_after="M119"> |
| <owner>nikolaos@chromium.org</owner> |
| <owner>v8-memory-sheriffs@google.com</owner> |
| <summary> |
| The speed at which a young generation garbage collection of the JavaScript |
| heap reclaims unused memory on the main thread only. This histogram ignores |
| concurrent garbage collection. Reported at the end of the garbage collection |
| cycle. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.GC.Cycle.Efficiency.Young" units="KB/ms" |
| expires_after="M119"> |
| <owner>nikolaos@chromium.org</owner> |
| <owner>v8-memory-sheriffs@google.com</owner> |
| <summary> |
| The speed at which a young generation garbage collection of the JavaScript |
| heap reclaims unused memory. Reported at the end of the garbage collection |
| cycle. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.GC.Cycle.Full" units="ms" expires_after="M119"> |
| <owner>nikolaos@chromium.org</owner> |
| <owner>v8-memory-sheriffs@google.com</owner> |
| <summary> |
| Overall duration of a full garbage collection of the unified heap. Reported |
| at the end of the garbage collection cycle. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.GC.Cycle.Full.Compact" units="ms" expires_after="M119"> |
| <owner>nikolaos@chromium.org</owner> |
| <owner>v8-memory-sheriffs@google.com</owner> |
| <summary> |
| Time spent on compaction during a full garbage collection of the unified |
| heap. Reported at the end of the garbage collection cycle. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.GC.Cycle.Full.Compact.Cpp" units="ms" expires_after="M119"> |
| <owner>omerkatz@chromium.org</owner> |
| <owner>v8-memory-sheriffs@google.com</owner> |
| <summary> |
| Time spent on compaction during a whole garbage collection of the managed |
| C++ heap. Reported at the end of the garbage collection cycle. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.GC.Cycle.Full.Cpp" units="ms" expires_after="M119"> |
| <owner>omerkatz@chromium.org</owner> |
| <owner>v8-memory-sheriffs@google.com</owner> |
| <summary> |
| Overall duration of a whole garbage collection of the managed C++ heap. |
| Reported at the end of the garbage collection cycle. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.GC.Cycle.Full.Mark" units="ms" expires_after="M119"> |
| <owner>nikolaos@chromium.org</owner> |
| <owner>v8-memory-sheriffs@google.com</owner> |
| <summary> |
| Time spent on marking during a full garbage collection of the unified heap. |
| Reported at the end of the garbage collection cycle. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.GC.Cycle.Full.Mark.Cpp" units="ms" expires_after="M119"> |
| <owner>omerkatz@chromium.org</owner> |
| <owner>v8-memory-sheriffs@google.com</owner> |
| <summary> |
| Time spent on marking during a whole garbage collection of the managed C++ |
| heap. Reported at the end of the garbage collection cycle. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.GC.Cycle.Full.Sweep" units="ms" expires_after="M119"> |
| <owner>nikolaos@chromium.org</owner> |
| <owner>v8-memory-sheriffs@google.com</owner> |
| <summary> |
| Time spent on sweeping during a full garbage collection of the unified heap. |
| Reported at the end of the garbage collection cycle. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.GC.Cycle.Full.Sweep.Cpp" units="ms" expires_after="M119"> |
| <owner>omerkatz@chromium.org</owner> |
| <owner>v8-memory-sheriffs@google.com</owner> |
| <summary> |
| Time spent on sweeping during a whole garbage collection of the managed C++ |
| heap. Reported at the end of the garbage collection cycle. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.GC.Cycle.Full.Weak" units="ms" expires_after="M119"> |
| <owner>nikolaos@chromium.org</owner> |
| <owner>v8-memory-sheriffs@google.com</owner> |
| <summary> |
| Time spent on weakness handling during a full garbage collection of the |
| unified heap. Reported at the end of the garbage collection cycle. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.GC.Cycle.Full.Weak.Cpp" units="ms" expires_after="M119"> |
| <owner>omerkatz@chromium.org</owner> |
| <owner>v8-memory-sheriffs@google.com</owner> |
| <summary> |
| Time spent on weakness handling during a whole garbage collection of the |
| managed C++ heap. Reported at the end of the garbage collection cycle. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.GC.Cycle.MainThread.Full" units="ms" expires_after="M119"> |
| <owner>nikolaos@chromium.org</owner> |
| <owner>v8-memory-sheriffs@google.com</owner> |
| <summary> |
| Main-thread only duration of a full garbage collection of the unified heap. |
| Reported at the end of the garbage collection cycle. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.GC.Cycle.MainThread.Full.Atomic" units="ms" |
| expires_after="M119"> |
| <owner>nikolaos@chromium.org</owner> |
| <owner>v8-memory-sheriffs@google.com</owner> |
| <summary> |
| Overall main thread duration of the atomic pause of a garbage collection of |
| the unified heap. There is only a single atomic pause event per cycle but it |
| may cover several sub-events. Reported at the end of the garbage collection |
| cycle. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.GC.Cycle.MainThread.Full.Atomic.Compact" units="ms" |
| expires_after="M119"> |
| <owner>nikolaos@chromium.org</owner> |
| <owner>v8-memory-sheriffs@google.com</owner> |
| <summary> |
| Overall duration of compaction on the main thread during the atomic pause of |
| a garbage collection of the unified heap. There is only a single atomic |
| pause compaction event per cycle but it may cover several sub-events. |
| Reported at the end of the garbage collection cycle. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.GC.Cycle.MainThread.Full.Atomic.Compact.Cpp" units="ms" |
| expires_after="M119"> |
| <owner>omerkatz@chromium.org</owner> |
| <owner>v8-memory-sheriffs@google.com</owner> |
| <summary> |
| Overall duration of compaction on the main thread during the atomic pause of |
| a garbage collection of the managed C++ heap. There is only a single atomic |
| pause compaction event per cycle but it may cover several sub-events. |
| Reported at the end of the garbage collection cycle. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.GC.Cycle.MainThread.Full.Atomic.Cpp" units="ms" |
| expires_after="M119"> |
| <owner>omerkatz@chromium.org</owner> |
| <owner>v8-memory-sheriffs@google.com</owner> |
| <summary> |
| Overall main thread duration of the atomic pause of a garbage collection of |
| the managed C++ heap. There is only a single atomic pause event per cycle |
| but it may cover several sub-events. Reported at the end of the garbage |
| collection cycle. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.GC.Cycle.MainThread.Full.Atomic.Mark" units="ms" |
| expires_after="M119"> |
| <owner>nikolaos@chromium.org</owner> |
| <owner>v8-memory-sheriffs@google.com</owner> |
| <summary> |
| Overall duration of marking on the main thread during the atomic pause of a |
| garbage collection of the unified heap. There is only a single atomic pause |
| marking event per cycle but it may cover several sub-events. Reported at the |
| end of the garbage collection cycle. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.GC.Cycle.MainThread.Full.Atomic.Mark.Cpp" units="ms" |
| expires_after="M119"> |
| <owner>omerkatz@chromium.org</owner> |
| <owner>v8-memory-sheriffs@google.com</owner> |
| <summary> |
| Overall duration of marking on the main thread during the atomic pause of a |
| garbage collection of the managed C++ heap. There is only a single atomic |
| pause marking event per cycle but it may cover several sub-events. Reported |
| at the end of the garbage collection cycle. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.GC.Cycle.MainThread.Full.Atomic.Sweep" units="ms" |
| expires_after="M119"> |
| <owner>nikolaos@chromium.org</owner> |
| <owner>v8-memory-sheriffs@google.com</owner> |
| <summary> |
| Overall duration of sweeping on the main thread during the atomic pasue of a |
| garbage collection of the unified heap. There is only a single atomic pause |
| sweeping event per cycle but it may cover several sub-events. Reported at |
| the end of the garbage collection cycle. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.GC.Cycle.MainThread.Full.Atomic.Sweep.Cpp" units="ms" |
| expires_after="M119"> |
| <owner>omerkatz@chromium.org</owner> |
| <owner>v8-memory-sheriffs@google.com</owner> |
| <summary> |
| Overall duration of sweeping on the main thread during the atomic pasue of a |
| garbage collection of the managed C++ heap. There is only a single atomic |
| pause sweeping event per cycle but it may cover several sub-events. Reported |
| at the end of the garbage collection cycle. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.GC.Cycle.MainThread.Full.Atomic.Weak" units="ms" |
| expires_after="M119"> |
| <owner>nikolaos@chromium.org</owner> |
| <owner>v8-memory-sheriffs@google.com</owner> |
| <summary> |
| Overall duration of weakness handling on the main thread during the atomic |
| pause of a garbage collection of the unified heap. There is only a single |
| atomic pause weakness handling event per cycle but it may cover several |
| sub-events. Reported at the end of the garbage collection cycle. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.GC.Cycle.MainThread.Full.Atomic.Weak.Cpp" units="ms" |
| expires_after="M119"> |
| <owner>omerkatz@chromium.org</owner> |
| <owner>v8-memory-sheriffs@google.com</owner> |
| <summary> |
| Overall duration of weakness handling on the main thread during the atomic |
| pause of a garbage collection of the managed C++ heap. There is only a |
| single atomic pause weakness handling event per cycle but it may cover |
| several sub-events. Reported at the end of the garbage collection cycle. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.GC.Cycle.MainThread.Full.Compact" units="ms" |
| expires_after="M119"> |
| <owner>nikolaos@chromium.org</owner> |
| <owner>v8-memory-sheriffs@google.com</owner> |
| <summary> |
| Time spent on compaction on the main thread during a full garbage collection |
| of the unified heap. Reported at the end of the garbage collection cycle. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.GC.Cycle.MainThread.Full.Compact.Cpp" units="ms" |
| expires_after="M119"> |
| <owner>omerkatz@chromium.org</owner> |
| <owner>v8-memory-sheriffs@google.com</owner> |
| <summary> |
| Time spent on compaction on the main thread during a whole garbage |
| collection of the cpp heap. Reported at the end of the garbage collection |
| cycle. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.GC.Cycle.MainThread.Full.Cpp" units="ms" |
| expires_after="M119"> |
| <owner>omerkatz@chromium.org</owner> |
| <owner>v8-memory-sheriffs@google.com</owner> |
| <summary> |
| Main thread only duration of a whole garbage collection of the managed C++ |
| heap. Reported at the end of the garbage collection cycle. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.GC.Cycle.MainThread.Full.Incremental.Mark" units="ms" |
| expires_after="M119"> |
| <owner>nikolaos@chromium.org</owner> |
| <owner>v8-memory-sheriffs@google.com</owner> |
| <summary> |
| Overall duration of incremental marking steps on the main thread during a |
| full garbage collection of the unified heap. Reported at the end of the |
| garbage collection cycle. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.GC.Cycle.MainThread.Full.Incremental.Mark.Cpp" units="ms" |
| expires_after="M119"> |
| <owner>omerkatz@chromium.org</owner> |
| <owner>v8-memory-sheriffs@google.com</owner> |
| <summary> |
| Overall duration of incremental marking steps on the main thread during a |
| full garbage collection of the managed C++ heap. Reported at the end of the |
| garbage collection cycle. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.GC.Cycle.MainThread.Full.Incremental.Sweep" units="ms" |
| expires_after="M119"> |
| <owner>nikolaos@chromium.org</owner> |
| <owner>v8-memory-sheriffs@google.com</owner> |
| <summary> |
| Overall duration of incremental sweeping steps on the main thread during a |
| full garbage collection of the unified heap. Reported at the end of the |
| garbage collection cycle. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.GC.Cycle.MainThread.Full.Incremental.Sweep.Cpp" units="ms" |
| expires_after="M119"> |
| <owner>omerkatz@chromium.org</owner> |
| <owner>v8-memory-sheriffs@google.com</owner> |
| <summary> |
| Overall duration of incremental sweeping steps on the main thread during a |
| full garbage collection of the managed C++ heap. Reported at the end of the |
| garbage collection cycle. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.GC.Cycle.MainThread.Full.Mark" units="ms" |
| expires_after="M119"> |
| <owner>nikolaos@chromium.org</owner> |
| <owner>v8-memory-sheriffs@google.com</owner> |
| <summary> |
| Time spent on marking on the main thread during a full garbage collection of |
| the unified heap. Reported at the end of the garbage collection cycle. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.GC.Cycle.MainThread.Full.Mark.Cpp" units="ms" |
| expires_after="M119"> |
| <owner>omerkatz@chromium.org</owner> |
| <owner>v8-memory-sheriffs@google.com</owner> |
| <summary> |
| Time spent on marking on the main thread during a whole garbage collection |
| of the managed C++ heap. Reported at the end of the garbage collection |
| cycle. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.GC.Cycle.MainThread.Full.Sweep" units="ms" |
| expires_after="M119"> |
| <owner>nikolaos@chromium.org</owner> |
| <owner>v8-memory-sheriffs@google.com</owner> |
| <summary> |
| Time spent on sweeping on the main thread during a full garbage collection |
| of the unified heap. Reported at the end of the garbage collection cycle. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.GC.Cycle.MainThread.Full.Sweep.Cpp" units="ms" |
| expires_after="M119"> |
| <owner>omerkatz@chromium.org</owner> |
| <owner>v8-memory-sheriffs@google.com</owner> |
| <summary> |
| Time spent on sweeping on the main thread during a whole garbage collection |
| of the managed C++ heap. Reported at the end of the garbage collection |
| cycle. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.GC.Cycle.MainThread.Full.Weak" units="ms" |
| expires_after="M119"> |
| <owner>nikolaos@chromium.org</owner> |
| <owner>v8-memory-sheriffs@google.com</owner> |
| <summary> |
| Time spent on weakness handling on the main thread during a full garbage |
| collection of the unified heap. Reported at the end of the garbage |
| collection cycle. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.GC.Cycle.MainThread.Full.Weak.Cpp" units="ms" |
| expires_after="M119"> |
| <owner>omerkatz@chromium.org</owner> |
| <owner>v8-memory-sheriffs@google.com</owner> |
| <summary> |
| Time spent on weakness handling on the main thread during a whole garbage |
| collection of the managed C++ heap. Reported at the end of the garbage |
| collection cycle. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.GC.Cycle.MainThread.Young" units="ms" expires_after="M119"> |
| <owner>nikolaos@chromium.org</owner> |
| <owner>v8-memory-sheriffs@google.com</owner> |
| <summary> |
| Main-thread only duration of a young generation garbage collection of the |
| JavaScript heap. Reported at the end of the garbage collection cycle. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.GC.Cycle.Memory.Freed.Full.Cpp" units="KB" |
| expires_after="M119"> |
| <owner>omerkatz@chromium.org</owner> |
| <owner>v8-memory-sheriffs@google.com</owner> |
| <summary> |
| Amount of allocated memory freed by a garbage collection of the managed C++ |
| heap. Reported at the end of the garbage collection cycle. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.GC.Cycle.Objects.After.Full.Cpp" units="KB" |
| expires_after="M119"> |
| <owner>omerkatz@chromium.org</owner> |
| <owner>v8-memory-sheriffs@google.com</owner> |
| <summary> |
| Amount of used memory after a garbage collection of the managed C++ heap. |
| Reported at the end of the garbage collection cycle. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.GC.Cycle.Objects.Before.Full.Cpp" units="KB" |
| expires_after="M119"> |
| <owner>omerkatz@chromium.org</owner> |
| <owner>v8-memory-sheriffs@google.com</owner> |
| <summary> |
| Amount of used memory before a garbage collection of the managed C++ heap. |
| Reported at the end of the garbage collection cycle. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.GC.Cycle.Objects.Freed.Full.Cpp" units="KB" |
| expires_after="M119"> |
| <owner>omerkatz@chromium.org</owner> |
| <owner>v8-memory-sheriffs@google.com</owner> |
| <summary> |
| Amount of used memory freed by a garbage collection of the managed C++ heap. |
| Reported at the end of the garbage collection cycle. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.GC.Cycle.Reason.Full" enum="GarbageCollectionReason" |
| expires_after="M119"> |
| <owner>nikolaos@chromium.org</owner> |
| <owner>v8-memory-sheriffs@google.com</owner> |
| <summary> |
| Reason a full garbage collection was started in V8. Reported at the end of |
| the garbage collection cycle. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.GC.Cycle.Reason.Young" enum="GarbageCollectionReason" |
| expires_after="M119"> |
| <owner>nikolaos@chromium.org</owner> |
| <owner>v8-memory-sheriffs@google.com</owner> |
| <summary> |
| Reason a young generation garbage collection was started in V8. Reported at |
| the end of the garbage collection cycle. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.GC.Cycle.Young" units="ms" expires_after="M119"> |
| <owner>nikolaos@chromium.org</owner> |
| <owner>v8-memory-sheriffs@google.com</owner> |
| <summary> |
| Overall duration of a young generation garbage collection of the JavaScript |
| heap. Reported at the end of the garbage collection cycle. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="V8.GC.Event.MainThread.Full.Finalize.{Incrementality}.{Mode}{Visibility}" |
| units="ms" expires_after="M119"> |
| <owner>mlippautz@chromium.org</owner> |
| <owner>v8-memory-sheriffs@google.com</owner> |
| <summary> |
| Time spent in the atomic pause of a {Mode} {Incrementality} full garbage |
| collection for a V8 Isolate running in {Visibility}. Recorded at the end of |
| the garbage collection. |
| </summary> |
| <token key="Incrementality"> |
| <variant name="Incremental" summary="incremental"/> |
| <variant name="NonIncremental" summary="non-incremental"/> |
| </token> |
| <token key="Mode"> |
| <variant name="MeasureMemory" summary="memory-measuring"/> |
| <variant name="ReduceMemory" summary="memory-reducing"/> |
| <variant name="Regular" summary="regular"/> |
| </token> |
| <token key="Visibility"> |
| <variant name="" summary="foreground or background"/> |
| <variant name=".Background" summary="background"/> |
| <variant name=".Foreground" summary="foreground"/> |
| </token> |
| </histogram> |
| |
| <histogram name="V8.GC.Event.MainThread.Full.Incremental.Mark" units="ms" |
| expires_after="M119"> |
| <owner>nikolaos@chromium.org</owner> |
| <owner>v8-memory-sheriffs@google.com</owner> |
| <summary> |
| Duration of individual incremental marking steps on the main thread during a |
| garbage collection of the unified heap. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.GC.Event.MainThread.Full.Incremental.Mark.Cpp" units="ms" |
| expires_after="M119"> |
| <owner>omerkatz@chromium.org</owner> |
| <owner>v8-memory-sheriffs@google.com</owner> |
| <summary> |
| Duration of individual incremental marking steps on the main thread during a |
| garbage collection of the managed C++ heap. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.GC.Event.MainThread.Full.Incremental.Sweep" units="ms" |
| expires_after="M119"> |
| <owner>nikolaos@chromium.org</owner> |
| <owner>v8-memory-sheriffs@google.com</owner> |
| <summary> |
| Duration of individual incremental sweeping steps on the main thread during |
| a garbage collection of the unified heap. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.GC.Event.MainThread.Full.Incremental.Sweep.Cpp" units="ms" |
| expires_after="M119"> |
| <owner>omerkatz@chromium.org</owner> |
| <owner>v8-memory-sheriffs@google.com</owner> |
| <summary> |
| Duration of individual incremental sweeping steps on the main thread during |
| a garbage collection of the managed C++ heap. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.GC.TimeToCollectionOnBackground" units="microseconds" |
| expires_after="M119"> |
| <owner>dinfuehr@chromium.org</owner> |
| <owner>v8-memory-sheriffs@google.com</owner> |
| <summary> |
| Time between requesting GC from background thread and actually starting |
| collection on main thread. This is reported each time a background thread |
| requests a GC. |
| |
| 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="V8.GC.TimeToSafepoint" units="microseconds" |
| expires_after="M119"> |
| <owner>dinfuehr@chromium.org</owner> |
| <owner>v8-memory-sheriffs@google.com</owner> |
| <summary> |
| Time spent in stopping other threads to reach a safepoint. This is reported |
| each time a safepoint is reached. |
| |
| 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="V8.GCFinalizeMC.Clear" units="ms" expires_after="2023-06-11"> |
| <owner>mlippautz@chromium.org</owner> |
| <owner>hpayer@chromium.org</owner> |
| <owner>v8-memory-sheriffs@google.com</owner> |
| <summary> |
| Time spent in the clearing phase of incremental latency-optimized |
| Mark-Compact GC. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.GCFinalizeMC.Epilogue" units="ms" expires_after="M111"> |
| <owner>mlippautz@chromium.org</owner> |
| <owner>hpayer@chromium.org</owner> |
| <owner>v8-memory-sheriffs@google.com</owner> |
| <summary> |
| Time spent in the epilogue of incremental latency-optimized Mark-Compact GC. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.GCFinalizeMC.Finish" units="ms" expires_after="M111"> |
| <owner>mlippautz@chromium.org</owner> |
| <owner>hpayer@chromium.org</owner> |
| <owner>v8-memory-sheriffs@google.com</owner> |
| <summary> |
| Time spent in the finish phase of incremental latency-optimized Mark-Compact |
| GC. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.GCFinalizeMC.Prologue" units="ms" expires_after="M111"> |
| <owner>mlippautz@chromium.org</owner> |
| <owner>hpayer@chromium.org</owner> |
| <owner>v8-memory-sheriffs@google.com</owner> |
| <summary> |
| Time spent in the prologue of incremental latency-optimized Mark-Compact GC. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.GCIncrementalMarking" units="ms" expires_after="2023-10-15"> |
| <owner>hpayer@chromium.org</owner> |
| <owner>mlippautz@chromium.org</owner> |
| <owner>v8-memory-sheriffs@google.com</owner> |
| <summary> |
| Time spent doing incremental marking steps during garbage collection. |
| Recorded at the end of each step. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.GCIncrementalMarkingReason" enum="GarbageCollectionReason" |
| expires_after="2023-10-08"> |
| <owner>mlippautz@chromium.org</owner> |
| <owner>v8-memory-sheriffs@google.com</owner> |
| <summary>Reason an incremental marking was started in V8.</summary> |
| </histogram> |
| |
| <histogram name="V8.GCIncrementalMarkingStart" units="ms" |
| expires_after="2023-10-08"> |
| <owner>hpayer@chromium.org</owner> |
| <owner>v8-memory-sheriffs@google.com</owner> |
| <summary>Time spent in starting incremental marking.</summary> |
| </histogram> |
| |
| <histogram name="V8.GCIncrementalMarkingSum" units="ms" |
| expires_after="2023-10-08"> |
| <owner>mlippautz@chromium.org</owner> |
| <owner>v8-memory-sheriffs@google.com</owner> |
| <summary> |
| The total time spent in incremental marking steps in one GC cycle. It is |
| only recorded if the time is non-zero. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.GCMarkCompactReason" enum="GarbageCollectionReason" |
| expires_after="2023-10-08"> |
| <owner>mlippautz@chromium.org</owner> |
| <owner>v8-memory-sheriffs@google.com</owner> |
| <summary>Reason a mark-compact garbage collection was started in V8.</summary> |
| </histogram> |
| |
| <histogram name="V8.GCMarkingSum" units="ms" expires_after="2023-10-15"> |
| <owner>mlippautz@chromium.org</owner> |
| <owner>v8-memory-sheriffs@google.com</owner> |
| <summary> |
| Sum of all durations of all marking phases (incremental and non-incremental) |
| within one V8 garbage collection cycle. Reported once per garbage collection |
| at the end. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.GCScavenger.ScavengeMain" units="ms" |
| expires_after="2023-06-11"> |
| <owner>mlippautz@chromium.org</owner> |
| <owner>v8-memory-sheriffs@google.com</owner> |
| <summary> |
| Wall time spent in the main scavenging phase that copies over all reachable |
| objects during a V8 scavenge. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.GCScavenger.ScavengeRoots" units="ms" |
| expires_after="2023-06-11"> |
| <owner>mlippautz@chromium.org</owner> |
| <owner>v8-memory-sheriffs@google.com</owner> |
| <summary>Time spent in scavenging the roots during a V8 scavenge.</summary> |
| </histogram> |
| |
| <histogram name="V8.GCScavengerBackground" units="ms" |
| expires_after="2022-04-01"> |
| <obsolete> |
| Removed 02/2022. |
| </obsolete> |
| <owner>hpayer@chromium.org</owner> |
| <owner>v8-memory-sheriffs@google.com</owner> |
| <summary> |
| Time spent in scavenging phase of GC in a background isolate. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.GCScavengeReason" enum="GarbageCollectionReason" |
| expires_after="2022-06-05"> |
| <obsolete> |
| Removed 02/2022. Superseded by V8.GC.Cycle.Reason.Young. |
| </obsolete> |
| <owner>mlippautz@chromium.org</owner> |
| <owner>v8-memory-sheriffs@google.com</owner> |
| <summary>Reason a scavenge garbage collection was started in V8.</summary> |
| </histogram> |
| |
| <histogram name="V8.GCScavengerForeground" units="ms" |
| expires_after="2022-08-07"> |
| <obsolete> |
| Removed 02/2022. |
| </obsolete> |
| <owner>hpayer@chromium.org</owner> |
| <owner>v8-memory-sheriffs@google.com</owner> |
| <summary> |
| Time spent in scavenging phase of GC in a foreground isolate. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.Initializer.LoadV8Snapshot.Result" |
| enum="V8InitializerLoadV8SnapshotResult" expires_after="M77"> |
| <owner>oth@chromium.org</owner> |
| <summary>Results from snapshot loading.</summary> |
| </histogram> |
| |
| <histogram name="V8.Initializer.OpenV8File.Result" |
| enum="V8InitializerOpenV8FileResult" expires_after="2020-05-10"> |
| <owner>oth@chromium.org</owner> |
| <summary>Results from opening V8 snapshot files.</summary> |
| </histogram> |
| |
| <histogram name="V8.LiftoffBailoutReasons" enum="LiftoffBailoutReason" |
| expires_after="2023-08-27"> |
| <owner>ecmziegler@chromium.org</owner> |
| <owner>adamk@chromium.org</owner> |
| <owner>clemensb@chromium.org</owner> |
| <summary> |
| Liftoff (V8's baseline compiler for WebAssembly) bails out if it hits the |
| first unsupported feature in a function. The function is recompiled with |
| TurboFan then. This histogram records the bailout reason (or success) per |
| WebAssembly function compilation in Liftoff. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.MemoryExternalFragmentationCodeSpace" units="%" |
| expires_after="2020-03-01"> |
| <owner>hpayer@chromium.org</owner> |
| <summary> |
| External memory fragmentation in the code space after each GC in percent. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.MemoryExternalFragmentationLoSpace" units="%" |
| expires_after="2020-06-01"> |
| <owner>hpayer@chromium.org</owner> |
| <summary> |
| External memory fragmentation in the large object space after each GC in |
| percent. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.MemoryExternalFragmentationMapSpace" units="%" |
| expires_after="2020-02-23"> |
| <owner>hpayer@chromium.org</owner> |
| <summary> |
| External memory fragmentation in the map space after each GC in percent. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.MemoryExternalFragmentationOldSpace" units="%" |
| expires_after="2020-03-01"> |
| <owner>hpayer@chromium.org</owner> |
| <summary> |
| External memory fragmentation in the old space after each GC in percent. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.MemoryHeapSampleCodeSpaceCommitted" units="KB" |
| expires_after="M77"> |
| <owner>hpayer@chromium.org</owner> |
| <summary> |
| The size of committed memory in the code space after each GC in KB. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.MemoryHeapSampleMapSpaceCommitted" units="KB" |
| expires_after="2020-03-01"> |
| <owner>hpayer@chromium.org</owner> |
| <summary> |
| The size of committed memory in the map space after each GC in KB. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.MemoryHeapSampleMaximumCommitted" units="KB" |
| expires_after="M77"> |
| <owner>hpayer@chromium.org</owner> |
| <summary> |
| The maximum size of committed memory used by V8 after each GC in KB. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.MemoryHeapSampleTotalCommitted" units="KB" |
| expires_after="2023-08-27"> |
| <owner>hpayer@chromium.org</owner> |
| <summary> |
| The total size of committed memory used by V8 after each GC in KB. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.ProduceCodeCache" units="ms" expires_after="2023-10-22"> |
| <owner>chikamune@chromium.org</owner> |
| <owner>chrome-worker@google.com</owner> |
| <summary> |
| Time spent serializing and persisting code (mojo call) for V8 code caching. |
| Recorded when ProduceCacheInternal() is called. Only recorded when producing |
| a code cache is required. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.RegExpBacktracks" units="backtracks" |
| expires_after="2025-01-01"> |
| <owner>jgruber@chromium.org</owner> |
| <owner>pthier@chromium.org</owner> |
| <summary> |
| The number of backtracks performed in a single regexp execution. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.SandboxedExternalPointersCount" units="count" |
| expires_after="2023-10-22"> |
| <owner>saelo@chromium.org</owner> |
| <owner>ishell@chromium.org</owner> |
| <summary> |
| The number of in-use external pointers in an Isolate's ExternalPointerTable. |
| |
| When the V8 Sandbox is enabled, objects located outside of the sandbox are |
| referenced through a per-Isolate ExternalPointerTable to ensure memory-safe |
| access to them. This histogram records the number of active external |
| pointers in a single table, which is determined by counting the number of |
| alive entries during garbage collection of an ExternalPointerTable. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.SandboxMode" enum="V8SandboxMode" |
| expires_after="2023-10-22"> |
| <owner>saelo@chromium.org</owner> |
| <owner>ishell@chromium.org</owner> |
| <summary> |
| Mode of operation of V8's sandbox. |
| |
| By default, the V8 sandbox is fully backed by a large virtual address space |
| reservation, ensuring that only V8-related objects are located inside the |
| sandbox. In that case, the sandbox is configured securely. However, when it |
| is not possible to reserve a sufficient amount of virtual address space |
| during initialization (e.g. due to memory or virtual address space |
| constraints), the sandbox will instead use a fallback mode where only a part |
| of the sandbox's address space is actually reserved. In that case, unrelated |
| memory mappings may end up inside the sandbox though, where they could be |
| corrupted by an attacker. As such, this mode is considered insecure. |
| |
| Recorded as enum value during initialization of V8. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.SandboxReservationSizeGB" units="GB" |
| expires_after="2023-10-22"> |
| <owner>saelo@chromium.org</owner> |
| <owner>ishell@chromium.org</owner> |
| <summary> |
| Size of the virtual address space reservation backing the V8 sandbox, in GB. |
| |
| This value is typically larger than the size of the sandbox as it includes |
| the surrounding guard regions. However, in the case of a partially-reserved |
| (i.e. insecure) sandbox, this value will be smaller than the sandbox size. |
| |
| Recorded during initialization of V8. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.SharedArrayAllocationSizes" units="MB" |
| expires_after="2020-12-02"> |
| <owner>gdeepti@chromium.org</owner> |
| <owner>ulan@chromium.org</owner> |
| <summary> |
| Number of megabytes requested in shared array buffer allocations. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.SnapshotDeserializeContextMicroSeconds" |
| units="microseconds" expires_after="2024-03-14"> |
| <owner>jgruber@chromium.org</owner> |
| <owner>leszeks@chromium.org</owner> |
| <summary> |
| Time spent deserializing the context snapshot. |
| |
| 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="V8.SnapshotDeserializeIsolateMicroSeconds" |
| units="microseconds" expires_after="2024-03-14"> |
| <owner>jgruber@chromium.org</owner> |
| <owner>leszeks@chromium.org</owner> |
| <summary> |
| Time spent deserializing the isolate snapshot. |
| |
| 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="V8.SnapshotDeserializeRoSpaceMicroSeconds" |
| units="microseconds" expires_after="2024-03-14"> |
| <owner>jgruber@chromium.org</owner> |
| <owner>leszeks@chromium.org</owner> |
| <summary> |
| Time spent deserializing the read-only snapshot. |
| |
| 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="V8.TurboFan1KTicks" units="1000 ticks" |
| expires_after="2023-06-30"> |
| <owner>tebbi@chromium.org</owner> |
| <owner>mslekova@chromium.org</owner> |
| <summary> |
| Number of ticks (in 1000s of ticks) from starting optimizing to installing |
| the code object. Recorded on each regular optimization of a function. |
| |
| Similar to V8.TurboFanOptimizeTotalTime, but instead of counting time, we |
| count a deterministic number of ticks sprinkled throughout the Turbofan |
| compiler. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.TurboFanOptimizeConcurrentTotalTime" units="microseconds" |
| expires_after="2023-06-30"> |
| <owner>tebbi@chromium.org</owner> |
| <owner>mslekova@chromium.org</owner> |
| <summary> |
| Total time from starting optimizing to installing the code object. Recorded |
| on each regular, concurrent optimization of a function. |
| |
| This histogram only records metrics on machines with high-resolution clocks. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.TurboFanOptimizeExecute" units="microseconds" |
| expires_after="2023-09-10"> |
| <owner>tebbi@chromium.org</owner> |
| <owner>mslekova@chromium.org</owner> |
| <summary> |
| Time spent in the execution phase of TurboFan optimization. Recorded on each |
| regular optimization of a function. |
| |
| This histogram only records metrics on machines with high-resolution clocks. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.TurboFanOptimizeFinalize" units="microseconds" |
| expires_after="2023-09-10"> |
| <owner>tebbi@chromium.org</owner> |
| <owner>mslekova@chromium.org</owner> |
| <summary> |
| Time spent in the finalization phase of TurboFan optimization. Recorded on |
| each regular optimization of a function. |
| |
| This histogram only records metrics on machines with high-resolution clocks. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.TurboFanOptimizeForOnStackReplacementExecute" |
| units="microseconds" expires_after="2023-09-10"> |
| <owner>tebbi@chromium.org</owner> |
| <owner>mslekova@chromium.org</owner> |
| <summary> |
| Time spent in the execution phase of TurboFan optimization for On Stack |
| Replacement (OSR). Recorded on each optimization for on-stack replacement of |
| a function. |
| |
| This histogram only records metrics on machines with high-resolution clocks. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.TurboFanOptimizeForOnStackReplacementFinalize" |
| units="microseconds" expires_after="2023-09-10"> |
| <owner>tebbi@chromium.org</owner> |
| <owner>mslekova@chromium.org</owner> |
| <summary> |
| Time spent in the finalization phase of TurboFan optimization for On Stack |
| Replacement (OSR). Recorded on each optimization for on-stack replacement of |
| a function. |
| |
| This histogram only records metrics on machines with high-resolution clocks. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.TurboFanOptimizeForOnStackReplacementPrepare" |
| units="microseconds" expires_after="2023-09-10"> |
| <owner>tebbi@chromium.org</owner> |
| <owner>mslekova@chromium.org</owner> |
| <summary> |
| Time spent in the preparation phase of TurboFan optimization for On Stack |
| Replacement (OSR). Recorded on each optimization for on-stack replacement of |
| a function. |
| |
| This histogram only records metrics on machines with high-resolution clocks. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.TurboFanOptimizeForOnStackReplacementTotalTime" |
| units="microseconds" expires_after="2023-09-10"> |
| <owner>tebbi@chromium.org</owner> |
| <owner>mslekova@chromium.org</owner> |
| <summary> |
| Total time from starting optimizing for On Stack Replacement (OSR) to |
| installing the code object. Recorded on each optimization for on-stack |
| replacement of a function. |
| |
| This histogram only records metrics on machines with high-resolution clocks. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.TurboFanOptimizeNonConcurrentTotalTime" |
| units="microseconds" expires_after="2023-06-30"> |
| <owner>tebbi@chromium.org</owner> |
| <owner>mslekova@chromium.org</owner> |
| <summary> |
| Total time from starting optimizing to installing the code object. Recorded |
| on each regular, non-concurrent optimization of a function. |
| |
| This histogram only records metrics on machines with high-resolution clocks. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.TurboFanOptimizePrepare" units="microseconds" |
| expires_after="2023-09-10"> |
| <owner>tebbi@chromium.org</owner> |
| <owner>mslekova@chromium.org</owner> |
| <summary> |
| Time spent in the preparation phase of TurboFan optimization. Recorded on |
| each regular optimization of a function. |
| |
| This histogram only records metrics on machines with high-resolution clocks. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.TurboFanOptimizeTotalBackground" units="microseconds" |
| expires_after="2023-09-03"> |
| <owner>tebbi@chromium.org</owner> |
| <owner>mslekova@chromium.org</owner> |
| <summary> |
| Total time spent on a background thread during TurboFan optimization. |
| Recorded on each regular optimization of a function. |
| |
| This histogram only records metrics on machines with high-resolution clocks. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.TurboFanOptimizeTotalForeground" units="microseconds" |
| expires_after="2023-09-03"> |
| <owner>tebbi@chromium.org</owner> |
| <owner>mslekova@chromium.org</owner> |
| <summary> |
| Total time spent on the main thread during TurboFan optimization. Recorded |
| on each regular optimization of a function. |
| |
| This histogram only records metrics on machines with high-resolution clocks. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.TurboFanOptimizeTotalTime" units="microseconds" |
| expires_after="2023-09-03"> |
| <owner>tebbi@chromium.org</owner> |
| <owner>mslekova@chromium.org</owner> |
| <summary> |
| Total time from starting optimizing to installing the code object. Recorded |
| on each regular optimization of a function. |
| |
| This histogram only records metrics on machines with high-resolution clocks. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.UnhandledExceptionCountInMainThread" |
| units="BooleanOccurred" expires_after="2023-09-17"> |
| <owner>chikamune@chromium.org</owner> |
| <owner>sisidovski@chromium.org</owner> |
| <owner>hiroshige@chromium.org</owner> |
| <owner>kouhei@chromium.org</owner> |
| <summary> |
| Report true when an unhandled exception is reported in the main thread, |
| which may happen when the code has no appropriate exception handling in the |
| main thread. The false value is never reported. This histogram is supposed |
| to be used in A/B testing to check if unhandled exception count is different |
| across experiment groups by counting the true values. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.UnhandledExceptionCountInWorker" units="BooleanOccurred" |
| expires_after="2023-09-17"> |
| <owner>chikamune@chromium.org</owner> |
| <owner>sisidovski@chromium.org</owner> |
| <owner>hiroshige@chromium.org</owner> |
| <owner>kouhei@chromium.org</owner> |
| <summary> |
| Report true when an unhandled exception is reported in the worker, which may |
| happen when the code has no appropriate exception handling in the worker. |
| The false value is never reported. This histogram is supposed to be used in |
| A/B testing to check if unhandled exception count is different across |
| experiment groups by counting the true values. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.WasmCacheCount" units="count" expires_after="2023-10-01"> |
| <owner>ahaas@chromium.org</owner> |
| <owner>ecmziegler@chromium.org</owner> |
| <owner>wasm-v8@google.com</owner> |
| <summary> |
| Number of times a WebAssembly module being added to the browser cache. With |
| dynamic tiering, caching is triggered repeatedly whenever the amount of |
| generated optimized code reaches a threshold. Recorded every time a new |
| version of the WebAssembly module is being added to the cache, and also when |
| the module is compiled initially. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.WasmCatchCount" units="count" expires_after="2023-10-22"> |
| <owner>thibaudm@chromium.org</owner> |
| <owner>ecmziegler@chromium.org</owner> |
| <owner>wasm-v8@google.com</owner> |
| <summary> |
| Number of exceptions caught so far in an isolate, recorded on each caught |
| exception. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.WasmCodeCaching" enum="WasmCodeCaching" |
| expires_after="2023-10-01"> |
| <owner>ahaas@chromium.org</owner> |
| <owner>clemensb@chromium.org</owner> |
| <owner>wasm-runtime@google.com</owner> |
| <summary> |
| The result of a Wasm code cache lookup. Recorded once per Wasm streaming |
| compilation at the time where we try to get the compiled Wasm module from |
| the code cache. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.WasmCompilationMethod" enum="WasmCompilationMethod" |
| expires_after="2023-10-01"> |
| <owner>ahaas@chromium.org</owner> |
| <owner>ecmziegler@chromium.org</owner> |
| <owner>wasm-v8@google.com</owner> |
| <summary> |
| WebAssembly JS API function that triggers compilation. Recorded when |
| WebAssembly compilation gets triggered, independently of the compilation |
| results, i.e. whether compilation succeeds or fails. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.WasmCompilationUntilStreamFinishedMilliSeconds" units="ms" |
| expires_after="2023-08-01"> |
| <owner>ahaas@chromium.org</owner> |
| <owner>clemensb@chromium.org</owner> |
| <owner>ecmziegler@chromium.org</owner> |
| <owner>wasm-v8@google.com</owner> |
| <summary> |
| Time from finishing compilation of a WebAssembly module until downloading |
| the module finishes with streaming compilation. Recorded when streaming |
| compilation finishes and the compilation of the WebAssembly module finished |
| before the download. If the download finishes first, then the histogram |
| V8.WasmStreamingUntilCompilationFinishedMilliSeconds is recorded. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.WasmCompileAfterDeserializeMilliSeconds" units="ms" |
| expires_after="2023-10-01"> |
| <owner>ahaas@chromium.org</owner> |
| <owner>ecmziegler@chromium.org</owner> |
| <owner>wasm-v8@google.com</owner> |
| <summary> |
| After deserialization, all functions that were not in the serialized module |
| are compiled with the baseline compiler. This metric measures the time spent |
| by the baseline compiler on compiling missing functions. Recorded after the |
| baseline compilation of the missing functions finishes. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.WasmCompileFunctionMicroSeconds" units="microseconds" |
| expires_after="2023-10-01"> |
| <owner>ecmziegler@chromium.org</owner> |
| <owner>adamk@chromium.org</owner> |
| <owner>clemensb@chromium.org</owner> |
| <owner>wasm-v8@google.com</owner> |
| <summary> |
| Time to compile a WebAssembly function. Recorded on each compilation of a |
| single function, either synchronous, asynchronous, or lazily. |
| |
| 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="V8.WasmCompileFunctionPeakMemoryBytes" units="bytes" |
| expires_after="2022-06-19"> |
| <owner>ecmziegler@chromium.org</owner> |
| <owner>adamk@chromium.org</owner> |
| <owner>clemensb@chromium.org</owner> |
| <owner>wasm-v8@google.com</owner> |
| <summary> |
| Peak memory used to compile a WebAssembly function. Recorded for each |
| TurboFan compilation of a WebAssembly function. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.WasmCompileHugeFunctionMilliSeconds" units="ms" |
| expires_after="2023-08-01"> |
| <owner>clemensb@chromium.org</owner> |
| <owner>ecmziegler@chromium.org</owner> |
| <owner>wasm-v8@google.com</owner> |
| <summary> |
| Time to compile a huge WebAssembly function. A function is considered huge |
| if it is larger than 100kB. Recorded on each compilation of such a function, |
| either synchronous, asynchronous, or lazily. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.WasmCompileHugeFunctionPeakMemoryBytes" units="bytes" |
| expires_after="2023-08-01"> |
| <owner>clemensb@chromium.org</owner> |
| <owner>ecmziegler@chromium.org</owner> |
| <owner>wasm-v8@google.com</owner> |
| <summary> |
| Peak memory used to compile a huge WebAssembly function. A function is |
| considered huge if it is larger than 100kB. Recorded for each TurboFan |
| compilation of such a function. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.WasmCompileModuleAsyncMicroSeconds" units="microseconds" |
| expires_after="2023-10-01"> |
| <owner>ecmziegler@chromium.org</owner> |
| <owner>adamk@chromium.org</owner> |
| <owner>clemensb@chromium.org</owner> |
| <owner>wasm-v8@google.com</owner> |
| <summary> |
| Time to asynchronously compile a WebAssembly module (using the |
| 'WebAssembly.compile' API). Recorded on each asynchronous WebAssembly |
| compilation, but only if a high-resolution clock is available. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.WasmCompileModuleMicroSeconds" units="microseconds" |
| expires_after="2023-10-01"> |
| <owner>ecmziegler@chromium.org</owner> |
| <owner>adamk@chromium.org</owner> |
| <owner>clemensb@chromium.org</owner> |
| <owner>wasm-v8@google.com</owner> |
| <summary> |
| Time to compile a WebAssembly module. Recorded on each synchronous |
| WebAssembly compilation. |
| |
| 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="V8.WasmCompileModuleStreamingMicroSeconds" |
| units="microseconds" expires_after="2023-10-01"> |
| <owner>ecmziegler@chromium.org</owner> |
| <owner>adamk@chromium.org</owner> |
| <owner>clemensb@chromium.org</owner> |
| <owner>wasm-v8@google.com</owner> |
| <summary> |
| Time to asynchronously compile a WebAssembly module using streaming |
| compilation (via the 'WebAssembly.compileStreaming' API). Recorded on each |
| streaming WebAssembly compilation, but only if a high-resolution clock is |
| available. Note that compilation speed is often limited by the network |
| speed, which is also reflected in this metric. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.WasmDeserializationTimeMilliSeconds" units="ms" |
| expires_after="2023-08-01"> |
| <owner>ahaas@chromium.org</owner> |
| <owner>clemensb@chromium.org</owner> |
| <owner>ecmziegler@chromium.org</owner> |
| <owner>wasm-v8@google.com</owner> |
| <summary> |
| Time to deserialize a WebAssembly module when the WebAssembly module is |
| loaded from the cache. Recorded whenever a WebAssembly module gets |
| deserialized during streaming compilation. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.WasmFinishModuleStreamingMicroSeconds" units="microseconds" |
| expires_after="2023-10-01"> |
| <owner>bbudge@chromium.org</owner> |
| <owner>clemensb@chromium.org</owner> |
| <owner>adamk@chromium.org</owner> |
| <owner>wasm-v8@google.com</owner> |
| <summary> |
| Time to asynchronously compile or deserialize a WebAssembly module during |
| streaming compilation (via the 'WebAssembly.compileStreaming' API). Recorded |
| on each streaming WebAssembly compilation or deserialization from the cache, |
| but only if a high-resolution clock is available. Note that compilation |
| speed is often limited by the network speed, which is also reflected in this |
| metric. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.WasmFunctionsPerModule" units="functions" |
| expires_after="2023-10-01"> |
| <owner>ecmziegler@chromium.org</owner> |
| <owner>adamk@chromium.org</owner> |
| <owner>clemensb@chromium.org</owner> |
| <owner>wasm-v8@google.com</owner> |
| <summary> |
| Function count per WebAssembly module. Recorded for each WebAssembly module |
| which is decoded for validation, compilation, or deserialization. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.WasmHugeFunctionSizeBytes" units="bytes" |
| expires_after="2023-10-01"> |
| <owner>ecmziegler@chromium.org</owner> |
| <owner>adamk@chromium.org</owner> |
| <owner>clemensb@chromium.org</owner> |
| <owner>wasm-v8@google.com</owner> |
| <summary> |
| Size of a huge WebAssembly function in bytes. A function is considered huge |
| if it is larger than 100kB. Recorded on each compilation of a single |
| function, either synchronous, asynchronous, or lazily. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.WasmInstantiateModuleMicroSeconds" units="microseconds" |
| expires_after="2023-10-01"> |
| <owner>ecmziegler@chromium.org</owner> |
| <owner>adamk@chromium.org</owner> |
| <owner>clemensb@chromium.org</owner> |
| <owner>wasm-v8@google.com</owner> |
| <summary> |
| Time to instantiate a WebAssembly module. Recorded on each instantiation of |
| a WebAssembly module. |
| |
| 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="V8.WasmLazyCompileTimeMicroSeconds" units="microseconds" |
| expires_after="2023-10-01"> |
| <owner>clemensb@chromium.org</owner> |
| <owner>ecmziegler@chromium.org</owner> |
| <owner>wasm-v8@google.com</owner> |
| <summary> |
| Time spend for lazily compiling WebAssembly functions. Recorded on each lazy |
| compilation event (which typically compiles one function). |
| |
| This histogram only records metrics on machines with high-resolution clocks. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.WasmMaxLazyCompilationTime120SecMilliSeconds" units="ms" |
| expires_after="2023-10-01"> |
| <owner>ahaas@chromium.org</owner> |
| <owner>clemensb@chromium.org</owner> |
| <owner>ecmziegler@chromium.org</owner> |
| <owner>wasm-v8@google.com</owner> |
| <summary> |
| Maximum time spent on the main thread on compiling a single WebAssembly |
| function with lazy compilation in the first 120 seconds after the first |
| instantiation of a WebAssembly module. Recorded 120 seconds after calling |
| the start function of the WebAssembly module during the first instantiation |
| of a WebAssembly module. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.WasmMaxLazyCompilationTime20SecMilliSeconds" units="ms" |
| expires_after="2023-10-01"> |
| <owner>ahaas@chromium.org</owner> |
| <owner>clemensb@chromium.org</owner> |
| <owner>ecmziegler@chromium.org</owner> |
| <owner>wasm-v8@google.com</owner> |
| <summary> |
| Maximum time spent on the main thread on compiling a single WebAssembly |
| function with lazy compilation in the first 20 seconds after the first |
| instantiation of a WebAssembly module. Recorded 20 seconds after calling the |
| start function of the WebAssembly module during the first instantiation of a |
| WebAssembly module. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.WasmMaxLazyCompilationTime5SecMilliSeconds" units="ms" |
| expires_after="2023-10-01"> |
| <owner>ahaas@chromium.org</owner> |
| <owner>clemensb@chromium.org</owner> |
| <owner>ecmziegler@chromium.org</owner> |
| <owner>wasm-v8@google.com</owner> |
| <summary> |
| Maximum time spent on the main thread on compiling a single WebAssembly |
| function with lazy compilation in the first 5 seconds after the first |
| instantiation of a WebAssembly module. Recorded 5 seconds after calling the |
| start function of the WebAssembly module during the first instantiation of a |
| WebAssembly module. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.WasmMaxLazyCompilationTime60SecMilliSeconds" units="ms" |
| expires_after="2023-10-01"> |
| <owner>ahaas@chromium.org</owner> |
| <owner>clemensb@chromium.org</owner> |
| <owner>ecmziegler@chromium.org</owner> |
| <owner>wasm-v8@google.com</owner> |
| <summary> |
| Maximum time spent on the main thread on compiling a single WebAssembly |
| function with lazy compilation in the first 60 seconds after the first |
| instantiation of a WebAssembly module. Recorded 60 seconds after calling the |
| start function of the WebAssembly module during the first instantiation of a |
| WebAssembly module. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.WasmMaxMemPagesCount" units="pages" |
| expires_after="2022-02-15"> |
| <owner>ecmziegler@chromium.org</owner> |
| <owner>adamk@chromium.org</owner> |
| <owner>ahaas@chromium.org</owner> |
| <owner>wasm-v8@google.com</owner> |
| <summary> |
| Number of 64KiB pages a WebAssembly module declares as its maximum |
| requirement. Recorded on each instantiation of a WebAssembly module. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.WasmMemoryAllocationResult" enum="WasmAllocationResult" |
| expires_after="2023-08-01"> |
| <owner>ecmziegler@chromium.org</owner> |
| <owner>adamk@chromium.org</owner> |
| <owner>ahaas@chromium.org</owner> |
| <owner>wasm-v8@google.com</owner> |
| <summary> |
| The result of attempts to allocate WebAssembly.Memory buffers. Recorded on |
| each attempt to allocate a WebAssembly.Memory buffer. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.WasmMemoryProtectionKeysSupport" enum="BooleanSupported" |
| expires_after="2023-10-01"> |
| <owner>clemensb@chromium.org</owner> |
| <owner>jkummerow@chromium.org</owner> |
| <owner>ecmziegler@chromium.org</owner> |
| <owner>wasm-v8@google.com</owner> |
| <summary> |
| Whether the system supports memory protection keys in userspace (MPK / PKU / |
| PKEY). This is determined once per process and recorded once per isolate |
| during isolate creation (startup). |
| |
| As we use a Linux-specific API for PKUs, this value is only recorded on |
| 64-bit Linux machines. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.WasmMinMemPagesCount" units="pages" |
| expires_after="2022-02-15"> |
| <owner>ecmziegler@chromium.org</owner> |
| <owner>adamk@chromium.org</owner> |
| <owner>ahaas@chromium.org</owner> |
| <owner>wasm-v8@google.com</owner> |
| <summary> |
| Number of 64KiB pages a WebAssembly module declares as its minimum |
| requirement. Recorded on each instantiation of a WebAssembly module. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.WasmModuleCodeSizeBaselineMiB" units="MB" |
| expires_after="2023-10-08"> |
| <owner>ecmziegler@chromium.org</owner> |
| <owner>adamk@chromium.org</owner> |
| <owner>clemensb@chromium.org</owner> |
| <owner>wasm-v8@google.com</owner> |
| <summary> |
| The amount of generated code in MiB for one WebAssembly module. Recorded |
| when baseline compilation finished. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.WasmModuleCodeSizeMiB" units="MB" |
| expires_after="2023-10-01"> |
| <owner>ecmziegler@chromium.org</owner> |
| <owner>adamk@chromium.org</owner> |
| <owner>clemensb@chromium.org</owner> |
| <owner>wasm-v8@google.com</owner> |
| <summary> |
| The amount of committed code space in MiB used by individual WebAssembly |
| modules. Recorded for each live module after each full GC. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.WasmModuleCodeSizePercentFreed" units="%" |
| expires_after="2023-10-01"> |
| <owner>ecmziegler@chromium.org</owner> |
| <owner>adamk@chromium.org</owner> |
| <owner>clemensb@chromium.org</owner> |
| <owner>wasm-v8@google.com</owner> |
| <summary> |
| The percentage of WebAssembly code freed by garbage collection (ratio of |
| total freed code to total generated code so far). Recorded for each live |
| module after each full GC. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.WasmModuleCodeSizeTopTierMiB" units="MB" |
| expires_after="M102"> |
| <owner>ecmziegler@chromium.org</owner> |
| <owner>adamk@chromium.org</owner> |
| <owner>clemensb@chromium.org</owner> |
| <owner>wasm-v8@google.com</owner> |
| <summary> |
| The amount of generated code in MiB for one WebAssembly module. Recorded |
| when top-tier compilation finished. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.WasmModuleNumberOfCodeGCsTriggered" units="gcs" |
| expires_after="2023-08-01"> |
| <owner>ecmziegler@chromium.org</owner> |
| <owner>adamk@chromium.org</owner> |
| <owner>clemensb@chromium.org</owner> |
| <owner>wasm-v8@google.com</owner> |
| <summary> |
| Number of code GCs triggered per WebAssembly module. Recorded after each |
| code GC. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.WasmModuleNumberOfCodeSpaces" units="spaces" |
| expires_after="2023-10-01"> |
| <owner>ecmziegler@chromium.org</owner> |
| <owner>adamk@chromium.org</owner> |
| <owner>clemensb@chromium.org</owner> |
| <owner>wasm-v8@google.com</owner> |
| <summary> |
| The number of code spaces (i.e. individual reservations) of a WebAssembly |
| module. Recorded on every code space allocation. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.WasmModuleSizeBytes" units="bytes" |
| expires_after="2023-10-01"> |
| <owner>ecmziegler@chromium.org</owner> |
| <owner>adamk@chromium.org</owner> |
| <owner>ahaas@chromium.org</owner> |
| <owner>wasm-v8@google.com</owner> |
| <summary> |
| Size of the wire bytes of a WebAssembly module. Recorded for each |
| WebAssembly module which is decoded for validation, compilation, or |
| deserialization. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.WasmModulesPerEngine" units="count" |
| expires_after="2023-10-01"> |
| <owner>clemensb@chromium.org</owner> |
| <owner>ecmziegler@chromium.org</owner> |
| <owner>wasm-v8@google.com</owner> |
| <summary> |
| Number of WebAssembly native modules live in a Wasm engine (typically per |
| process). Recorded whenever a new native module is created. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.WasmModulesPerIsolate" units="count" |
| expires_after="2023-10-01"> |
| <owner>clemensb@chromium.org</owner> |
| <owner>ecmziegler@chromium.org</owner> |
| <owner>wasm-v8@google.com</owner> |
| <summary> |
| Number of WebAssembly native modules live in an isolate. Recorded whenever a |
| new native module is created. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.WasmNumLazyCompilations120Sec" units="count" |
| expires_after="2023-10-01"> |
| <owner>ahaas@chromium.org</owner> |
| <owner>clemensb@chromium.org</owner> |
| <owner>ecmziegler@chromium.org</owner> |
| <owner>wasm-v8@google.com</owner> |
| <summary> |
| Number of functions that get compiled lazily in 120 seconds after the first |
| instantiation of a WebAssembly module. Recorded 120 seconds after calling |
| the start function of the WebAssembly module during the first instantiation |
| of a WebAssembly module. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.WasmNumLazyCompilations20Sec" units="count" |
| expires_after="2023-10-01"> |
| <owner>ahaas@chromium.org</owner> |
| <owner>clemensb@chromium.org</owner> |
| <owner>ecmziegler@chromium.org</owner> |
| <owner>wasm-v8@google.com</owner> |
| <summary> |
| Number of functions that get compiled lazily in 20 seconds after the first |
| instantiation of a WebAssembly module. Recorded 20 seconds after calling the |
| start function of the WebAssembly module during the first instantiation of a |
| WebAssembly module. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.WasmNumLazyCompilations5Sec" units="count" |
| expires_after="2023-10-01"> |
| <owner>ahaas@chromium.org</owner> |
| <owner>clemensb@chromium.org</owner> |
| <owner>ecmziegler@chromium.org</owner> |
| <owner>wasm-v8@google.com</owner> |
| <summary> |
| Number of functions that get compiled lazily in 5 seconds after the first |
| instantiation of a WebAssembly module. Recorded 5 seconds after calling the |
| start function of the WebAssembly module during the first instantiation of a |
| WebAssembly module. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.WasmNumLazyCompilations60Sec" units="count" |
| expires_after="2023-10-01"> |
| <owner>ahaas@chromium.org</owner> |
| <owner>clemensb@chromium.org</owner> |
| <owner>ecmziegler@chromium.org</owner> |
| <owner>wasm-v8@google.com</owner> |
| <summary> |
| Number of functions that get compiled lazily in 60 seconds after the first |
| instantiation of a WebAssembly module. Recorded 60 seconds after calling the |
| start function of the WebAssembly module during the first instantiation of a |
| WebAssembly module. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.WasmReThrowCount" units="count" expires_after="2023-10-22"> |
| <owner>thibaudm@chromium.org</owner> |
| <owner>ecmziegler@chromium.org</owner> |
| <owner>wasm-v8@google.com</owner> |
| <summary> |
| Number of exceptions rethrown so far in an isolate, recorded on each |
| rethrown exception. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.WasmSerializationTimeMilliSeconds" units="ms" |
| expires_after="2023-08-01"> |
| <owner>ahaas@chromium.org</owner> |
| <owner>clemensb@chromium.org</owner> |
| <owner>ecmziegler@chromium.org</owner> |
| <owner>wasm-v8@google.com</owner> |
| <summary> |
| Time to serialize a WebAssembly module for storing it in the cache. Recorded |
| on each serialization, which happens after top-tier compilation finished, or |
| when a new chunk of functions was compiled (with dynamic tiering). |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.WasmStreamingInputType" enum="WasmStreamingInputType" |
| expires_after="2023-10-01"> |
| <owner>ahaas@chromium.org</owner> |
| <owner>clemensb@chromium.org</owner> |
| <owner>wasm-runtime@google.com</owner> |
| <summary> |
| Classification of the argument to the streaming WebAssembly APIs |
| (WebAssembly.compileStreaming and WebAssembly.instantiateStreaming). |
| Recorded on each invocation of this API. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.WasmStreamingUntilCompilationFinishedMilliSeconds" |
| units="ms" expires_after="2023-10-01"> |
| <owner>ahaas@chromium.org</owner> |
| <owner>clemensb@chromium.org</owner> |
| <owner>ecmziegler@chromium.org</owner> |
| <owner>wasm-v8@google.com</owner> |
| <summary> |
| Time from finishing downloading a WebAssembly module until streaming |
| compilation finishes. Recorded when streaming compilation finishes and the |
| download of the WebAssembly module finished before compilation. If |
| compilation finishes first, then the histogram |
| V8.WasmCompilationUntilStreamFinishedMilliSeconds is recorded. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.WasmSumLazyCompilationTime120SecMilliSeconds" units="ms" |
| expires_after="2023-08-01"> |
| <owner>ahaas@chromium.org</owner> |
| <owner>clemensb@chromium.org</owner> |
| <owner>ecmziegler@chromium.org</owner> |
| <owner>wasm-v8@google.com</owner> |
| <summary> |
| Total time spent on the main thread on compiling WebAssembly functions with |
| lazy compilation in the first 120 seconds after the first instantiation of a |
| WebAssembly module. Recorded 120 seconds after calling the start function of |
| the WebAssembly module during the first instantiation of a WebAssembly |
| module. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.WasmSumLazyCompilationTime20SecMilliSeconds" units="ms" |
| expires_after="2023-10-01"> |
| <owner>ahaas@chromium.org</owner> |
| <owner>clemensb@chromium.org</owner> |
| <owner>ecmziegler@chromium.org</owner> |
| <owner>wasm-v8@google.com</owner> |
| <summary> |
| Total time spent on the main thread on compiling WebAssembly functions with |
| lazy compilation in the first 20 seconds after the first instantiation of a |
| WebAssembly module. Recorded 20 seconds after calling the start function of |
| the WebAssembly module during the first instantiation of a WebAssembly |
| module. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.WasmSumLazyCompilationTime5SecMilliSeconds" units="ms" |
| expires_after="2023-10-01"> |
| <owner>ahaas@chromium.org</owner> |
| <owner>clemensb@chromium.org</owner> |
| <owner>ecmziegler@chromium.org</owner> |
| <owner>wasm-v8@google.com</owner> |
| <summary> |
| Total time spent on the main thread on compiling WebAssembly functions with |
| lazy compilation in the first 5 seconds after the first instantiation of a |
| WebAssembly module. Recorded 5 seconds after calling the start function of |
| the WebAssembly module during the first instantiation of a WebAssembly |
| module. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.WasmSumLazyCompilationTime60SecMilliSeconds" units="ms" |
| expires_after="2023-10-01"> |
| <owner>ahaas@chromium.org</owner> |
| <owner>clemensb@chromium.org</owner> |
| <owner>ecmziegler@chromium.org</owner> |
| <owner>wasm-v8@google.com</owner> |
| <summary> |
| Total time spent on the main thread on compiling WebAssembly functions with |
| lazy compilation in the first 60 seconds after the first instantiation of a |
| WebAssembly module. Recorded 60 seconds after calling the start function of |
| the WebAssembly module during the first instantiation of a WebAssembly |
| module. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.WasmThrowCount" units="count" expires_after="2023-10-22"> |
| <owner>thibaudm@chromium.org</owner> |
| <owner>ecmziegler@chromium.org</owner> |
| <owner>wasm-v8@google.com</owner> |
| <summary> |
| Number of exceptions thrown so far in an isolate, recorded on each thrown |
| exception. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.WasmTierUpModuleMicroSeconds" units="microseconds" |
| expires_after="2023-06-04"> |
| <owner>ecmziegler@chromium.org</owner> |
| <owner>adamk@chromium.org</owner> |
| <owner>clemensb@chromium.org</owner> |
| <owner>wasm-v8@google.com</owner> |
| <summary> |
| Time to tier-up a WebAssembly module, i.e. the time between baseline |
| compilation finishes and top-tier compilation finishes. Recorded whenever an |
| asynchronously compiled module finishes top-tier compilation, but only if a |
| high-resolution clock is available. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.WasmTimeBetweenCatchMilliseconds" units="ms" |
| expires_after="2023-08-01"> |
| <owner>thibaudm@chromium.org</owner> |
| <owner>ecmziegler@chromium.org</owner> |
| <owner>wasm-v8@google.com</owner> |
| <summary> |
| Time since the last time an exception was caught in WebAssembly, recorded |
| when the next exception is caught (per isolate). |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.WasmTimeBetweenRethrowsMilliseconds" units="ms" |
| expires_after="2023-08-01"> |
| <owner>thibaudm@chromium.org</owner> |
| <owner>ecmziegler@chromium.org</owner> |
| <owner>wasm-v8@google.com</owner> |
| <summary> |
| Time since the last time an exception was rethrown in WebAssembly, recorded |
| when the next exception is rethrown (per isolate). |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.WasmTimeBetweenThrowsMilliseconds" units="ms" |
| expires_after="2023-08-01"> |
| <owner>thibaudm@chromium.org</owner> |
| <owner>ecmziegler@chromium.org</owner> |
| <owner>wasm-v8@google.com</owner> |
| <summary> |
| Time since the last time an exception was thrown in WebAssembly, recorded |
| when the next exception is thrown (per isolate). |
| </summary> |
| </histogram> |
| |
| </histograms> |
| |
| </histogram-configuration> |