| <!-- |
| Copyright 2020 The Chromium Authors. All rights reserved. |
| Use of this source code is governed by a BSD-style license that can be |
| found in the LICENSE file. |
| --> |
| |
| <!-- |
| This file is used to generate a comprehensive list of 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="2022-06-30"> |
| <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="2022-06-30"> |
| <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.CagedMemoryAllocationOutcome" |
| enum="V8CagedMemoryAllocationOutcome" expires_after="2022-09-30"> |
| <owner>saelo@chromium.org</owner> |
| <owner>ishell@chromium.org</owner> |
| <summary> |
| The outcome of attempts to allocate memory pages inside the virtual memory |
| cage. Recorded at each allocation attempt, such as when allocating WASM |
| memory buffers, but only if the virtual memory cage is active. |
| </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="2022-04-24"> |
| <owner>vogelheim@chromium.org</owner> |
| <summary> |
| Time spent deseriailzing 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="2022-06-26"> |
| <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="2022-05-15"> |
| <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="2022-07-03"> |
| <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="2022-06-19"> |
| <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="2022-06-19"> |
| <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="2022-05-01"> |
| <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="M77"> |
| <owner>vogelheim@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.ContextSnapshotDecompress" units="microseconds" |
| expires_after="2022-05-22"> |
| <owner>sky@chromium.org</owner> |
| <owner>yukishiino@chromium.org</owner> |
| <summary> |
| Total time spent decompressing snapshots for a context. This is emitted |
| immediately after decompressing the snapshots. |
| |
| This histogram only records metrics on machines with high-resolution clocks. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.DebugFeatureUsage" enum="V8DebugFeature" |
| expires_after="2022-04-24"> |
| <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.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.Execute" units="ms" expires_after="M94"> |
| <obsolete> |
| Use V8.ExecuteMicroSeconds after M94, which correctly accounts nested timers |
| with nested V8.Execute blocks. |
| </obsolete> |
| <owner>cbruni@chromium.org</owner> |
| <owner>v8-runtime@google.com</owner> |
| <summary> |
| Time spent in JavaScript Execution, including runtime calls, callbacks, and |
| lazy compilation. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.ExecuteMicroSeconds" units="microseconds" |
| expires_after="2022-06-26"> |
| <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.GC.Cycle.CollectionRate.Full.Cpp" units="%" |
| expires_after="M109"> |
| <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="M109"> |
| <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 managed JavaScript heap. Reported |
| at the end of the garbage collection cycle. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.GC.Cycle.Efficiency.Full.Cpp" units="KB/ms" |
| expires_after="M109"> |
| <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.Cpp" units="KB/ms" |
| expires_after="M109"> |
| <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="M109"> |
| <owner>nikolaos@chromium.org</owner> |
| <owner>v8-memory-sheriffs@google.com</owner> |
| <summary> |
| The speed at which a young generation garbage collection of the managed |
| 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="M109"> |
| <owner>nikolaos@chromium.org</owner> |
| <owner>v8-memory-sheriffs@google.com</owner> |
| <summary> |
| The speed at which a young generation garbage collection of the managed |
| JavaScript heap reclaims unused memory. Reported at the end of the garbage |
| collection cycle. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.GC.Cycle.Full.Compact.Cpp" units="ms" expires_after="M109"> |
| <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="M109"> |
| <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.Cpp" units="ms" expires_after="M109"> |
| <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.Cpp" units="ms" expires_after="M109"> |
| <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.Cpp" units="ms" expires_after="M109"> |
| <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.Atomic.Compact.Cpp" units="ms" |
| expires_after="M109"> |
| <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="M109"> |
| <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.Cpp" units="ms" |
| expires_after="M109"> |
| <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.Cpp" units="ms" |
| expires_after="M109"> |
| <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.Cpp" units="ms" |
| expires_after="M109"> |
| <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.Cpp" units="ms" |
| expires_after="M109"> |
| <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="M109"> |
| <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.Mark.Cpp" units="ms" |
| expires_after="M109"> |
| <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.Cpp" units="ms" |
| expires_after="M109"> |
| <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.Cpp" units="ms" |
| expires_after="M109"> |
| <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="M109"> |
| <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="M109"> |
| <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="M109"> |
| <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="M109"> |
| <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="M109"> |
| <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.Young" enum="GarbageCollectionReason" |
| expires_after="M109"> |
| <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="M109"> |
| <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.Atomic.Compact.Cpp" units="ms" |
| expires_after="M100"> |
| <obsolete> |
| Removed 09/2021. Renamed to V8.GC.Cycle.MainThread.Full.Atomic.Compact.Cpp. |
| </obsolete> |
| <owner>omerkatz@chromium.org</owner> |
| <owner>v8-memory-sheriffs@google.com</owner> |
| <summary> |
| Duration of individual compaction steps on the main thread during the atomic |
| pause of a garbage collection of the managed C++ heap. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.GC.Event.MainThread.Full.Atomic.Cpp" units="ms" |
| expires_after="M100"> |
| <obsolete> |
| Removed 09/2021. Renamed to V8.GC.Cycle.MainThread.Full.Atomic.Cpp. |
| </obsolete> |
| <owner>omerkatz@chromium.org</owner> |
| <owner>v8-memory-sheriffs@google.com</owner> |
| <summary> |
| Duration of individual steps on the main thread during the atomic pause of a |
| garbage collection of the managed C++ heap. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.GC.Event.MainThread.Full.Atomic.Mark.Cpp" units="ms" |
| expires_after="M100"> |
| <obsolete> |
| Removed 09/2021. Renamed to V8.GC.Cycle.MainThread.Full.Atomic.Mark.Cpp. |
| </obsolete> |
| <owner>omerkatz@chromium.org</owner> |
| <owner>v8-memory-sheriffs@google.com</owner> |
| <summary> |
| Duration of individual marking steps on the main thread during the atomic |
| pause of a garbage collection of the managed C++ heap. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.GC.Event.MainThread.Full.Atomic.Sweep.Cpp" units="ms" |
| expires_after="M100"> |
| <obsolete> |
| Removed 09/2021. Renamed to V8.GC.Cycle.MainThread.Full.Atomic.Sweep.Cpp. |
| </obsolete> |
| <owner>omerkatz@chromium.org</owner> |
| <owner>v8-memory-sheriffs@google.com</owner> |
| <summary> |
| Duration of individual sweeping steps on the main thread during the atomic |
| pause of a garbage collection of the managed C++ heap. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.GC.Event.MainThread.Full.Atomic.Weak.Cpp" units="ms" |
| expires_after="M100"> |
| <obsolete> |
| Removed 09/2021. Renamed to V8.GC.Cycle.MainThread.Full.Atomic.Weak.Cpp. |
| </obsolete> |
| <owner>omerkatz@chromium.org</owner> |
| <owner>v8-memory-sheriffs@google.com</owner> |
| <summary> |
| Duration of individual weakness handling steps on the main thread during the |
| atomic pause of a garbage collection of the managed C++ heap. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.GC.Event.MainThread.Full.Incremental.Cpp" units="ms" |
| expires_after="M109"> |
| <owner>omerkatz@chromium.org</owner> |
| <owner>v8-memory-sheriffs@google.com</owner> |
| <summary> |
| Duration of individual incremental steps on the main thread during a garbage |
| collection of the managed C++ heap. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.GC.Event.MainThread.Full.Incremental.Mark.Cpp" units="ms" |
| expires_after="M109"> |
| <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.Cpp" units="ms" |
| expires_after="M109"> |
| <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="2022-07-03"> |
| <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="2022-02-06"> |
| <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.GCBackgroundMarking" units="ms" expires_after="2022-06-26"> |
| <owner>mlippautz@chromium.org</owner> |
| <owner>v8-memory-sheriffs@google.com</owner> |
| <summary> |
| Time spent in background tasks doing marking in one GC cycle. It is recorded |
| after each GC. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.GCBackgroundScavenger" units="ms" |
| expires_after="2021-12-19"> |
| <obsolete> |
| Removed 11/2021. Superseded by V8.GC.Cycle.Young. |
| </obsolete> |
| <owner>mlippautz@chromium.org</owner> |
| <owner>v8-memory-sheriffs@google.com</owner> |
| <summary> |
| Time spent in background tasks doing scavenging in one GC cycle. It is |
| recorded after each GC. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.GCBackgroundSweeping" units="ms" expires_after="2022-06-05"> |
| <owner>mlippautz@chromium.org</owner> |
| <owner>v8-memory-sheriffs@google.com</owner> |
| <summary> |
| Time spent in background tasks doing sweeping in one GC cycle. It is |
| recorded after each GC. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.GCCompactor" units="ms" expires_after="2022-05-01"> |
| <owner>hpayer@chromium.org</owner> |
| <owner>v8-memory-sheriffs@google.com</owner> |
| <summary>Time spent in mark-sweep phase of GC.</summary> |
| </histogram> |
| |
| <histogram name="V8.GCCompactorBackground" units="ms" |
| expires_after="2022-04-01"> |
| <owner>hpayer@chromium.org</owner> |
| <owner>v8-memory-sheriffs@google.com</owner> |
| <summary> |
| Time spent in mark-sweep phase of GC in a background isolate. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.GCCompactorForeground" units="ms" |
| expires_after="2022-08-09"> |
| <owner>hpayer@chromium.org</owner> |
| <owner>v8-memory-sheriffs@google.com</owner> |
| <summary> |
| Time spent in mark-sweep phase of GC in a foreground isolate. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.GCFinalizeMC" units="ms" expires_after="2022-06-19"> |
| <owner>mlippautz@chromium.org</owner> |
| <owner>hpayer@chromium.org</owner> |
| <owner>v8-memory-sheriffs@google.com</owner> |
| <summary> |
| Time spent in the final atomic pause of incremental latency-optimized |
| Mark-Compact GC. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.GCFinalizeMC.Clear" units="ms" expires_after="2022-04-01"> |
| <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="2022-04-01"> |
| <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.Evacuate" units="ms" |
| expires_after="2022-08-09"> |
| <owner>mlippautz@chromium.org</owner> |
| <owner>hpayer@chromium.org</owner> |
| <owner>v8-memory-sheriffs@google.com</owner> |
| <summary> |
| Time spent in the evacuation phase of incremental latency-optimized |
| Mark-Compact GC. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.GCFinalizeMC.Finish" units="ms" expires_after="2022-08-09"> |
| <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.Mark" units="ms" expires_after="2022-08-09"> |
| <owner>mlippautz@chromium.org</owner> |
| <owner>hpayer@chromium.org</owner> |
| <owner>v8-memory-sheriffs@google.com</owner> |
| <summary> |
| Time spent in the marking phase of incremental latency-optimized |
| Mark-Compact GC. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.GCFinalizeMC.Prologue" units="ms" |
| expires_after="2022-06-05"> |
| <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.GCFinalizeMC.Sweep" units="ms" expires_after="2022-04-01"> |
| <owner>mlippautz@chromium.org</owner> |
| <owner>hpayer@chromium.org</owner> |
| <owner>v8-memory-sheriffs@google.com</owner> |
| <summary> |
| Time spent in the sweeping phase of incremental latency-optimized |
| Mark-Compact GC. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.GCFinalizeMCBackground" units="ms" |
| expires_after="2022-04-01"> |
| <owner>mlippautz@chromium.org</owner> |
| <owner>hpayer@chromium.org</owner> |
| <owner>v8-memory-sheriffs@google.com</owner> |
| <summary> |
| Time spent in the final atomic pause of incremental latency-optimized |
| Mark-Compact GC in a background isolate. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.GCFinalizeMCForeground" units="ms" |
| expires_after="2022-04-01"> |
| <owner>mlippautz@chromium.org</owner> |
| <owner>hpayer@chromium.org</owner> |
| <owner>v8-memory-sheriffs@google.com</owner> |
| <summary> |
| Time spent in the final atomic pause of incremental latency-optimized |
| Mark-Compact GC in a foreground isolate. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.GCFinalizeMCReduceMemory" units="ms" |
| expires_after="2022-07-03"> |
| <owner>mlippautz@chromium.org</owner> |
| <owner>hpayer@chromium.org</owner> |
| <owner>v8-memory-sheriffs@google.com</owner> |
| <summary> |
| Time spent in the final atomic pause of incremental memory-optimized |
| Mark-Compact GC. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.GCFinalizeMCReduceMemoryBackground" units="ms" |
| expires_after="2022-04-01"> |
| <owner>mlippautz@chromium.org</owner> |
| <owner>hpayer@chromium.org</owner> |
| <owner>v8-memory-sheriffs@google.com</owner> |
| <summary> |
| Time spent in the final atomic pause of incremental memory-optimized |
| Mark-Compact GC in a background isolate. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.GCFinalizeMCReduceMemoryForeground" units="ms" |
| expires_after="2022-04-01"> |
| <owner>mlippautz@chromium.org</owner> |
| <owner>hpayer@chromium.org</owner> |
| <owner>v8-memory-sheriffs@google.com</owner> |
| <summary> |
| Time spent in the final atomic pause of incremental memory-optimized |
| Mark-Compact GC in a foreground isolate. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.GCIncrementalMarking" units="ms" expires_after="M103"> |
| <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 GC.</summary> |
| </histogram> |
| |
| <histogram name="V8.GCIncrementalMarkingFinalize" units="ms" |
| expires_after="2022-06-05"> |
| <owner>hpayer@chromium.org</owner> |
| <owner>v8-memory-sheriffs@google.com</owner> |
| <summary>Time spent in finalizing incremental marking.</summary> |
| </histogram> |
| |
| <histogram name="V8.GCIncrementalMarkingReason" enum="GarbageCollectionReason" |
| expires_after="2022-06-26"> |
| <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="2022-05-01"> |
| <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="2022-06-19"> |
| <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.GCMainThreadMarkingThroughput" units="MB/s" |
| expires_after="M103"> |
| <owner>mlippautz@chromium.org</owner> |
| <owner>v8-memory-sheriffs@google.com</owner> |
| <summary> |
| Marking throughput considering all durations of all marking phases on the |
| main thread and marked bytes within one V8 garbage collection cycle. |
| Reported once per garbage collection cycle. Only reported for platforms |
| supporting high resolution clocks and when more than 1MB of live objects |
| have been found. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.GCMarkCompactor" units="ms" expires_after="2022-01-02"> |
| <obsolete> |
| Unused as of 2022-01-02. |
| </obsolete> |
| <owner>mlippautz@chromium.org</owner> |
| <owner>v8-memory-sheriffs@google.com</owner> |
| <summary> |
| Sum of all durations of individual phases within one V8 mark-compact garbage |
| collection. Reported once per garbage collection. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.GCMarkCompactReason" enum="GarbageCollectionReason" |
| expires_after="2022-06-26"> |
| <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="M103"> |
| <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" units="ms" expires_after="2022-06-05"> |
| <owner>hpayer@chromium.org</owner> |
| <owner>v8-memory-sheriffs@google.com</owner> |
| <summary>Time spent in scavenging phase of GC.</summary> |
| </histogram> |
| |
| <histogram name="V8.GCScavenger.ScavengeMain" units="ms" |
| expires_after="2022-06-05"> |
| <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="2022-06-05"> |
| <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"> |
| <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"> |
| <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-06-05"> |
| <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="2022-06-12"> |
| <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.MaxArrayBufferCageReservationSize" units="GB" |
| expires_after="2022-06-30"> |
| <obsolete> |
| Removed 09/2021. Superseded by V8.VirtualMemoryCageSizeGB. |
| </obsolete> |
| <owner>saelo@chromium.org</owner> |
| <owner>ishell@chromium.org</owner> |
| <summary> |
| Largest possible size of the virtual memory region for an ArrayBuffer cage. |
| |
| Measured and reported at process startup, right before initializing V8, by |
| attempting to reserve memory regions with decreasing size until the |
| reservation succeeds, then immediately freeing it again. |
| |
| This experiment is part of the V8 Heap Sandbox and the V8 ArrayBuffer Caging |
| proposal. Its goal is to estimate the maximum possible size of an |
| ArrayBuffer cage region. |
| </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.MemoryExternalFragmentationTotal" units="%" |
| expires_after="M81"> |
| <owner>hpayer@chromium.org</owner> |
| <summary> |
| Total external memory fragmentation 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="2022-06-12"> |
| <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.MemoryHeapSampleTotalUsed" units="KB" |
| expires_after="2021-09-12"> |
| <owner>hpayer@chromium.org</owner> |
| <summary> |
| The total size of live memory used by V8 after each GC in KB. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.RegExpBacktracks" units="backtracks" |
| expires_after="2022-06-26"> |
| <owner>jgruber@chromium.org</owner> |
| <owner>mvstanton@chromium.org</owner> |
| <summary> |
| The number of backtracks performed in a single regexp execution. |
| </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.SnapshotDecompress" units="microseconds" |
| expires_after="2022-05-22"> |
| <owner>sky@chromium.org</owner> |
| <owner>yukishiino@chromium.org</owner> |
| <summary> |
| Total time spent decompressing snapshots for the isolate. This is emitted |
| immediately after decompressing the snapshots (from Snapshot::Initialize()). |
| |
| This histogram only records metrics on machines with high-resolution clocks. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.StopTheWorld" units="ms" expires_after="2021-10-01"> |
| <obsolete> |
| Removed 02/2021. Renamed to V8.GC.TimeToSafepoint due to switch to |
| microseconds. |
| </obsolete> |
| <owner>dinfuehr@chromium.org</owner> |
| <owner>ulan@chromium.org</owner> |
| <summary>Time spent in stopping other threads before performing GC.</summary> |
| </histogram> |
| |
| <histogram name="V8.TimeToCollection" units="ms" expires_after="2021-10-01"> |
| <obsolete> |
| Removed 02/2021. Renamed to V8.GC.TimeToCollectionBackground due to switch |
| to microseconds. |
| </obsolete> |
| <owner>dinfuehr@chromium.org</owner> |
| <owner>ulan@chromium.org</owner> |
| <summary> |
| Time between requesting GC from background thread and actually starting |
| collection on main thread. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.TurboFan1KTicks" units="1000 ticks" |
| expires_after="2020-01-23"> |
| <owner>tebbi@chromium.org</owner> |
| <owner>mvstanton@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="2022-06-05"> |
| <owner>bmeurer@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="2022-06-05"> |
| <owner>neis@chromium.org</owner> |
| <owner>mvstanton@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="2022-06-05"> |
| <owner>neis@chromium.org</owner> |
| <owner>mvstanton@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="2022-06-05"> |
| <owner>neis@chromium.org</owner> |
| <owner>mvstanton@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="2022-06-05"> |
| <owner>neis@chromium.org</owner> |
| <owner>mvstanton@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="2022-06-05"> |
| <owner>neis@chromium.org</owner> |
| <owner>mvstanton@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="2022-06-05"> |
| <owner>neis@chromium.org</owner> |
| <owner>mvstanton@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="2022-06-05"> |
| <owner>neis@chromium.org</owner> |
| <owner>mvstanton@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="2022-06-05"> |
| <owner>neis@chromium.org</owner> |
| <owner>mvstanton@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="2022-06-05"> |
| <owner>neis@chromium.org</owner> |
| <owner>mvstanton@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="2022-06-05"> |
| <owner>neis@chromium.org</owner> |
| <owner>mvstanton@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="2022-06-05"> |
| <owner>neis@chromium.org</owner> |
| <owner>mvstanton@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.VirtualMemoryCageMode" enum="V8VirtualMemoryCageMode" |
| expires_after="2022-09-30"> |
| <owner>saelo@chromium.org</owner> |
| <owner>ishell@chromium.org</owner> |
| <summary> |
| Mode of operation of V8's virtual memory cage. |
| |
| V8's virtual memory cage can operate in two different modes: the normal, |
| secure mode, and an insecure fallback mode, used if a normal cage can, for |
| whatever reason, not be created. The insecure mode does not have the desired |
| security properties but allows V8 to otherwise operate normally. The mode of |
| the cage is recorded as enum value during the initialization of V8, after |
| the virtual memory cage has been initialized. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.VirtualMemoryCageSizeGB" units="GB" |
| expires_after="2022-09-30"> |
| <owner>saelo@chromium.org</owner> |
| <owner>ishell@chromium.org</owner> |
| <summary> |
| Size of the virtual memory cage, in GB. |
| |
| Recorded during initialization of V8, after the virtual memory cage has been |
| created. If the initial reservation attempt fails, the size of the cage is |
| reduced until either the reservation succeeds or a minimum size is reached. |
| A value of zero indicates that even the minimum size could not be reserved, |
| implying that the cage initialization failed. |
| |
| This value excludes the size of any guard regions placed around the cage and |
| so represents only the usable size of the cage. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.WasmAddressSpaceUsageMiB" units="MB" expires_after="M98"> |
| <obsolete> |
| Received no values since M79. |
| </obsolete> |
| <owner>ecmziegler@chromium.org</owner> |
| <owner>adamk@chromium.org</owner> |
| <owner>ahaas@chromium.org</owner> |
| <summary> |
| The total amount of address space reserved by the backing stores of all live |
| WebAssembly.Memory backing stores in MiB. Recorded on each memory |
| reservation. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.WasmCacheCount" units="count" expires_after="2022-06-30"> |
| <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="2022-09-01"> |
| <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.WasmCompileAfterDeserializeMilliSeconds" units="ms" |
| expires_after="2022-06-30"> |
| <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="2022-06-12"> |
| <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="2022-06-12"> |
| <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="2022-06-19"> |
| <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="2022-05-15"> |
| <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="2022-06-12"> |
| <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="2022-06-12"> |
| <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="2022-06-30"> |
| <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="2022-06-19"> |
| <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.WasmFunctionSizeBytes" units="bytes" |
| expires_after="2021-08-01"> |
| <obsolete> |
| Removed 07/2021 in favor of V8.WasmHugeFunctionSizeBytes which gives a |
| better overview about critical functions. |
| </obsolete> |
| <owner>ecmziegler@chromium.org</owner> |
| <owner>adamk@chromium.org</owner> |
| <owner>clemensb@chromium.org</owner> |
| <summary> |
| Size of a WebAssembly function in bytes. Recorded on each compilation of a |
| single function, either synchronous, asynchronous, or lazily. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.WasmFunctionsPerModule" units="functions" |
| 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> |
| 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="2022-07-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="2022-06-12"> |
| <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="2022-06-30"> |
| <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.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="2022-09-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" units="BooleanSupported" |
| expires_after="2022-09-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="2022-09-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 generated code in MiB for one WebAssembly module. Recorded |
| when baseline compilation finished. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.WasmModuleCodeSizeMiB" units="MB" |
| expires_after="2022-04-24"> |
| <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-01-31"> |
| <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="2022-09-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 generated code in MiB for one WebAssembly module. Recorded |
| when top-tier compilation finished. |
| </summary> |
| </histogram> |
| |
| <histogram name="V8.WasmModuleNumberOfCodeGCsTriggered" units="gcs" |
| expires_after="2022-09-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-01-31"> |
| <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="2022-06-12"> |
| <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="2022-09-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="2022-09-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.WasmReThrowCount" units="count" expires_after="2022-09-01"> |
| <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.WasmThrowCount" units="count" expires_after="2022-09-01"> |
| <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="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> |
| 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="2022-09-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="2022-09-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="2022-09-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> |