<!--
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
[email protected].
-->
<histogram-configuration>
<histograms>
<histogram name="V8.ArrayBufferLargeAllocations" units="MB"
expires_after="M120">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</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>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>Array buffer sizes for which V8 failed to allocate memory.</summary>
</histogram>
<histogram name="V8.AsmjsInstantiateResult" enum="AsmJsInstantiateResult"
expires_after="2025-02-09">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Counter of succeeded and failed asm.js instantiations with the asm.js
pipeline. Success means that the asm.js pipeline is used to execute the
asm.js module. Failure means that the asm.js module gets executed with the
normal JavaScript pipeline. Reasons for failed instantiations can be that
the asm.js module gets instantiated with an invalid memory type like a
WebAssembly memory. Recorded after each attempt to instantiate asm.js module
with the asm.js pipeline.
</summary>
</histogram>
<histogram name="V8.CFIPageSizeMismatch" enum="BooleanOccurred"
expires_after="2025-06-01">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Whether there's a mismatch between the maximum page size we assume at
compile time and the page size we assume at runtime.
This metric is recorded once at renderer startup when the
ThreadIsolatedAllocator is initialized.
</summary>
</histogram>
<histogram name="V8.CodeCacheRejectReason" enum="V8CodeCacheRejectReason"
expires_after="M77">
<owner>[email protected]</owner>
<summary>
Reason code data has been rejected when attempting to deserialize.
</summary>
</histogram>
<histogram name="V8.CompileBackgroundMicroSeconds.Cumulative.Interactive"
units="microseconds" expires_after="2025-02-10">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Aggregated time spent in compiling on the background thread until the page
turned interactive. Emitted when the page turns interactive.
Includes samples only from clients with a high-resolution clock.
</summary>
</histogram>
<histogram name="V8.CompileCacheableMicroSeconds" units="microseconds"
expires_after="M85">
<owner>[email protected]</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>[email protected]</owner>
<owner>[email protected]</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>[email protected]</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.CompileForegroundMicroSeconds.Cumulative.Interactive"
units="microseconds" expires_after="2025-02-10">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Aggregated time spent in compiling on the foreground thread until the page
turned interactive. Emitted when the page turns interactive.
Includes samples only from clients with a high-resolution clock.
</summary>
</histogram>
<histogram name="V8.CompileLazyMicroSeconds" units="microseconds"
expires_after="2023-09-10">
<owner>[email protected]</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="M136">
<owner>[email protected]</owner>
<owner>[email protected]</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="2025-02-10">
<owner>[email protected]</owner>
<owner>[email protected]</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="M136">
<owner>[email protected]</owner>
<owner>[email protected]</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="2025-02-23">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</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.
Warning: This histogram has incomplete data. It expired in 04/2022 and was
unexpired in 12/2023.
</summary>
</histogram>
<histogram name="V8.CompileScriptMicroSeconds.ConsumeCache"
units="microseconds" expires_after="2024-01-14">
<owner>[email protected]</owner>
<owner>[email protected]</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="2024-06-16">
<owner>[email protected]</owner>
<owner>[email protected]</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.
Warning: This histogram has incomplete data. It expired in 02/2021 and was
unexpired in 12/2023.
</summary>
</histogram>
<histogram name="V8.CompileScriptMicroSeconds.IsolateCacheHit"
units="microseconds" expires_after="2024-06-16">
<owner>[email protected]</owner>
<owner>[email protected]</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.
Warning: This histogram has incomplete data. It expired in 04/2021 and was
unexpired in 12/2023.
</summary>
</histogram>
<histogram name="V8.CompileScriptMicroSeconds.NoCache.CacheTooCold"
units="microseconds" expires_after="2024-06-16">
<owner>[email protected]</owner>
<owner>[email protected]</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.
Warning: This histogram has incomplete data. It expired in 12/2021 and was
unexpired in 12/2023.
</summary>
</histogram>
<histogram name="V8.CompileScriptMicroSeconds.NoCache.InlineScript"
units="microseconds" expires_after="2024-06-16">
<owner>[email protected]</owner>
<owner>[email protected]</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.
Warning: This histogram has incomplete data. It expired in 02/2021 and was
unexpired in 12/2023.
</summary>
</histogram>
<histogram name="V8.CompileScriptMicroSeconds.NoCache.Other"
units="microseconds" expires_after="2024-06-16">
<owner>[email protected]</owner>
<owner>[email protected]</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.
Warning: This histogram has incomplete data. It expired in 02/2021 and was
unexpired in 12/2023.
</summary>
</histogram>
<histogram name="V8.CompileScriptMicroSeconds.NoCache.ScriptTooSmall"
units="microseconds" expires_after="2024-06-16">
<owner>[email protected]</owner>
<owner>[email protected]</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.
Warning: This histogram has incomplete data. It expired in 10/2021 and was
unexpired in 12/2023.
</summary>
</histogram>
<histogram name="V8.CompileScriptMicroSeconds.ProduceCache"
units="microseconds" expires_after="2024-02-11">
<owner>[email protected]</owner>
<owner>[email protected]</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="2024-06-16">
<owner>[email protected]</owner>
<owner>[email protected]</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.
Warning: This histogram has incomplete data. It expired in 04/2022 and was
unexpired in 12/2023.
</summary>
</histogram>
<histogram name="V8.CompileSerializeMicroSeconds" units="microseconds"
expires_after="2024-09-22">
<owner>[email protected]</owner>
<owner>[email protected]</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.DebugPauseToPausedEventMilliSeconds" units="ms"
expires_after="M136">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</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>[email protected]</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="M136">
<owner>[email protected]</owner>
<owner>[email protected]</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.ExecuteMicroSeconds.Cumulative.Interactive"
units="microseconds" expires_after="2025-02-10">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Aggregated time spent in executing JavaScript (all compiler tiers) until the
page turned interactive. Emitted when the page turns interactive.
Includes samples only from clients with a high-resolution clock.
</summary>
</histogram>
<histogram name="V8.ExternalPointerTableCompactionOutcome"
enum="V8ExternalPointerTableCompactionOutcome" expires_after="2025-06-30">
<owner>[email protected]</owner>
<owner>[email protected]</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="M136">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The percentage of managed JavaScript memory that survived after 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="M136">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The percentage of managed C++ memory that survived 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.CollectionRate.Young" units="%"
expires_after="M136">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The percentage of managed JavaScript memory that survived after 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.CollectionWeight.Full" units="s/ms"
expires_after="M136">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Overall duration of a full garbage collection of the unified heap,
normalized by the wall time since the last mark compact cycle. Reported at
the end of the garbage collection cycle.
</summary>
</histogram>
<histogram name="V8.GC.Cycle.CollectionWeight.Full.Cpp" units="s/ms"
expires_after="M136">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Overall duration of garbage collection of the managed C++ heap, normalized
by the wall time since the last mark compact cycle. Reported at the end of
the garbage collection cycle.
</summary>
</histogram>
<histogram name="V8.GC.Cycle.CollectionWeight.MainThread.Full" units="s/ms"
expires_after="M136">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Overall duration of a full garbage collection of the unified heap on the
main thread only, normalized by the wall time since the last mark compact
cycle. This histogram ignores concurrent garbage collection. Reported at the
end of the garbage collection cycle.
</summary>
</histogram>
<histogram name="V8.GC.Cycle.CollectionWeight.MainThread.Full.Cpp" units="s/ms"
expires_after="M136">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Overall duration of garbage collection of the managed C++ heap on the main
thread only, normalized by the wall time since the last mark compact cycle.
This histogram ignores concurrent garbage collection. Reported at the end of
the garbage collection cycle.
</summary>
</histogram>
<histogram name="V8.GC.Cycle.Efficiency.Full" units="KB/ms"
expires_after="M136">
<owner>[email protected]</owner>
<owner>[email protected]</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="M136">
<owner>[email protected]</owner>
<owner>[email protected]</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="M136">
<owner>[email protected]</owner>
<owner>[email protected]</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="M136">
<owner>[email protected]</owner>
<owner>[email protected]</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="M136">
<owner>[email protected]</owner>
<owner>[email protected]</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="M136">
<owner>[email protected]</owner>
<owner>[email protected]</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="M136">
<owner>[email protected]</owner>
<owner>[email protected]</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="M136">
<owner>[email protected]</owner>
<owner>[email protected]</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="M136">
<owner>[email protected]</owner>
<owner>[email protected]</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="M136">
<owner>[email protected]</owner>
<owner>[email protected]</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="M136">
<owner>[email protected]</owner>
<owner>[email protected]</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="M136">
<owner>[email protected]</owner>
<owner>[email protected]</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="M136">
<owner>[email protected]</owner>
<owner>[email protected]</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="M136">
<owner>[email protected]</owner>
<owner>[email protected]</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="M136">
<owner>[email protected]</owner>
<owner>[email protected]</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="M136">
<owner>[email protected]</owner>
<owner>[email protected]</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="M136">
<owner>[email protected]</owner>
<owner>[email protected]</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="M136">
<owner>[email protected]</owner>
<owner>[email protected]</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="M136">
<owner>[email protected]</owner>
<owner>[email protected]</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="M136">
<owner>[email protected]</owner>
<owner>[email protected]</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="M136">
<owner>[email protected]</owner>
<owner>[email protected]</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="M136">
<owner>[email protected]</owner>
<owner>[email protected]</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="M136">
<owner>[email protected]</owner>
<owner>[email protected]</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="M136">
<owner>[email protected]</owner>
<owner>[email protected]</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="M136">
<owner>[email protected]</owner>
<owner>[email protected]</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="M136">
<owner>[email protected]</owner>
<owner>[email protected]</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="M136">
<owner>[email protected]</owner>
<owner>[email protected]</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="M136">
<owner>[email protected]</owner>
<owner>[email protected]</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="M136">
<owner>[email protected]</owner>
<owner>[email protected]</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="M136">
<owner>[email protected]</owner>
<owner>[email protected]</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="M136">
<owner>[email protected]</owner>
<owner>[email protected]</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="M136">
<owner>[email protected]</owner>
<owner>[email protected]</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.Mark.StartStop"
units="ms" expires_after="M136">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Wall time duration of incremental 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.MainThread.Full.Incremental.Sweep" units="ms"
expires_after="M136">
<owner>[email protected]</owner>
<owner>[email protected]</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="M136">
<owner>[email protected]</owner>
<owner>[email protected]</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="M136">
<owner>[email protected]</owner>
<owner>[email protected]</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="M136">
<owner>[email protected]</owner>
<owner>[email protected]</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="M136">
<owner>[email protected]</owner>
<owner>[email protected]</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="M136">
<owner>[email protected]</owner>
<owner>[email protected]</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="M136">
<owner>[email protected]</owner>
<owner>[email protected]</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="M136">
<owner>[email protected]</owner>
<owner>[email protected]</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="M136">
<owner>[email protected]</owner>
<owner>[email protected]</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" units="KB" expires_after="M136">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Amount of allocated memory freed 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.Memory.Freed.Full.Cpp" units="KB"
expires_after="M136">
<owner>[email protected]</owner>
<owner>[email protected]</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" units="KB"
expires_after="M136">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Amount of used memory after a full garbage collection of the unified 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="M136">
<owner>[email protected]</owner>
<owner>[email protected]</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" units="KB"
expires_after="M136">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Amount of used memory before a full garbage collection of the unified 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="M136">
<owner>[email protected]</owner>
<owner>[email protected]</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" units="KB"
expires_after="M136">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Amount of used memory freed 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.Objects.Freed.Full.Cpp" units="KB"
expires_after="M136">
<owner>[email protected]</owner>
<owner>[email protected]</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="M136">
<owner>[email protected]</owner>
<owner>[email protected]</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="M136">
<owner>[email protected]</owner>
<owner>[email protected]</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="M136">
<owner>[email protected]</owner>
<owner>[email protected]</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="M136">
<owner>[email protected]</owner>
<owner>[email protected]</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="M136">
<owner>[email protected]</owner>
<owner>[email protected]</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="M136">
<owner>[email protected]</owner>
<owner>[email protected]</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="M136">
<owner>[email protected]</owner>
<owner>[email protected]</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="M136">
<owner>[email protected]</owner>
<owner>[email protected]</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="M136">
<owner>[email protected]</owner>
<owner>[email protected]</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="M136">
<owner>[email protected]</owner>
<owner>[email protected]</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>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</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>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</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>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</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>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Time spent in the prologue of incremental latency-optimized Mark-Compact GC.
</summary>
</histogram>
<histogram name="V8.GCIncrementalMarking" units="ms" expires_after="2024-06-30">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</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="M136">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>Reason an incremental marking was started in V8.</summary>
</histogram>
<histogram name="V8.GCIncrementalMarkingStart" units="ms" expires_after="M136">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>Time spent in starting incremental marking.</summary>
</histogram>
<histogram name="V8.GCIncrementalMarkingSum" units="ms" expires_after="M136">
<owner>[email protected]</owner>
<owner>[email protected]</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="M136">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>Reason a mark-compact garbage collection was started in V8.</summary>
</histogram>
<histogram name="V8.JSDispatchTableEntriesCount" units="count"
expires_after="2025-06-30">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The number of in-use entries in a JSDispatchTable.
JSFunctions reference their code through an entry in the JSDispatchTable.
This provides fine-grained CFI for JavaScript function calls and facilitates
tier-up and tier-down of compiled functions. This histogram records the
number of active entries in the JSDispatchTable during garbage collection.
</summary>
</histogram>
<histogram name="V8.LiftoffBailoutReasons" enum="LiftoffBailoutReason"
expires_after="2025-01-19">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</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.LocalWindowProxy.CreateContextTime" units="ms"
expires_after="2025-02-16">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Time spent on creating a new v8 context with the window wrapper, reported
immediately after creation.
</summary>
</histogram>
<histogram name="V8.LocalWindowProxy.InitializeTime" units="ms"
expires_after="2025-02-16">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Time spent on initializing the local window wrapper, reported immediately
after initialization. This includes creating the v8 context with the window
wrapper and updating the document properties.
</summary>
</histogram>
<histogram name="V8.MaglevOptimizeExecute" units="microseconds"
expires_after="2025-03-01">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Time spent in the execution phase of Maglev 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.MaglevOptimizeFinalize" units="microseconds"
expires_after="2025-03-01">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Time spent in the finalization phase of Maglev 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.MaglevOptimizePrepare" units="microseconds"
expires_after="2025-03-01">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Time spent in the preparation phase of Maglev 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.MaglevOptimizeTotalTime" units="microseconds"
expires_after="2025-03-01">
<owner>[email protected]</owner>
<owner>[email protected]</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.MemoryExternalFragmentationCodeSpace" units="%"
expires_after="2020-03-01">
<owner>[email protected]</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>[email protected]</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>[email protected]</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>[email protected]</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>[email protected]</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>[email protected]</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>[email protected]</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>[email protected]</owner>
<summary>
The total size of committed memory used by V8 after each GC in KB.
</summary>
</histogram>
<histogram name="V8.ProduceCodeCacheMicroseconds" units="microseconds"
expires_after="2025-02-02">
<owner>[email protected]</owner>
<owner>[email protected]</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.
This histogram only records metrics on machines with high-resolution clocks.
</summary>
</histogram>
<histogram name="V8.RegExpBacktracks" units="backtracks"
expires_after="2025-01-01">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The number of backtracks performed in a single regexp execution.
</summary>
</histogram>
<histogram name="V8.SandboxedCodePointersCount" units="count"
expires_after="2025-06-30">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The number of in-use entries in a CodePointerTable.
When the V8 Sandbox is enabled, code pointers are stored in a
CodePointerTable instead of on the V8 heap to ensure that they cannot be
manipulated by an attacker. This histogram records the number of active
entries in the CodePointerTable during garbage collection.
</summary>
</histogram>
<histogram name="V8.SandboxedCppHeapPointersCount" units="count"
expires_after="2025-06-30">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The number of in-use entries in a CppHeapPointerTable.
When the V8 Sandbox is enabled, objects in the Cpp Heap (such as C++ DOM
objects) that are wrapped by a V8 object are referenced through a pointer
table indirection (via the CppHeapPointerTable) to ensure memory-safe access
to them. This histogram records the number of active entries in the
per-Isolate CppHeapPointerTable during garbage collection.
</summary>
</histogram>
<histogram name="V8.SandboxedExternalPointersCount" units="count"
expires_after="2025-06-30">
<owner>[email protected]</owner>
<owner>[email protected]</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.SandboxedTrustedPointersCount" units="count"
expires_after="2025-06-30">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The number of in-use entries in a TrustedPointerTable.
When the V8 Sandbox is enabled, "trusted" V8 objects are
referenced from inside the sandbox through a pointer table indirection (via
the TrustedPointerTable) to ensure memory-safe access to them. This
histogram records the number of active entries in the per-Isolate
TrustedPointerTable during garbage collection.
</summary>
</histogram>
<histogram name="V8.SandboxMode" enum="V8SandboxMode"
expires_after="2025-06-30">
<owner>[email protected]</owner>
<owner>[email protected]</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="2025-06-30">
<owner>[email protected]</owner>
<owner>[email protected]</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>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Number of megabytes requested in shared array buffer allocations.
</summary>
</histogram>
<histogram name="V8.SnapshotDecompressMicroSeconds" units="microseconds"
expires_after="2025-02-10">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Time spent decompressing the 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.SnapshotDeserializeContextMicroSeconds"
units="microseconds" expires_after="2024-07-21">
<owner>[email protected]</owner>
<owner>[email protected]</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-07-21">
<owner>[email protected]</owner>
<owner>[email protected]</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>[email protected]</owner>
<owner>[email protected]</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>[email protected]</owner>
<owner>[email protected]</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>[email protected]</owner>
<owner>[email protected]</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="2025-01-26">
<owner>[email protected]</owner>
<owner>[email protected]</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="2025-01-26">
<owner>[email protected]</owner>
<owner>[email protected]</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="2025-01-26">
<owner>[email protected]</owner>
<owner>[email protected]</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="2025-01-26">
<owner>[email protected]</owner>
<owner>[email protected]</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="2025-01-26">
<owner>[email protected]</owner>
<owner>[email protected]</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="2025-01-26">
<owner>[email protected]</owner>
<owner>[email protected]</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>[email protected]</owner>
<owner>[email protected]</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="2025-01-26">
<owner>[email protected]</owner>
<owner>[email protected]</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="2025-01-19">
<owner>[email protected]</owner>
<owner>[email protected]</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="2025-01-19">
<owner>[email protected]</owner>
<owner>[email protected]</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="2025-01-19">
<owner>[email protected]</owner>
<owner>[email protected]</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" enum="BooleanOccurred"
expires_after="2025-02-10">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</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" enum="BooleanOccurred"
expires_after="2025-01-05">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</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="2025-02-10">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</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.WasmCodeCaching" enum="WasmCodeCaching"
expires_after="2025-02-09">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</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="2025-02-10">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</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.WasmCompileFunctionMicroSeconds" units="microseconds"
expires_after="2025-01-05">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</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.WasmCompileHugeFunctionMilliSeconds" units="ms"
expires_after="2025-01-26">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</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="2025-01-26">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</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="2025-01-05">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</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="2025-01-05">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</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="2025-01-05">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</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="2025-02-09">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</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.WasmEngineMetadataSizeKiB" units="KB"
expires_after="2025-07-01">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The amount of metadata in KiB used by the overall WebAssembly engine.
Recorded after each full GC.
</summary>
</histogram>
<histogram name="V8.WasmFinishModuleStreamingMicroSeconds" units="microseconds"
expires_after="2025-01-05">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</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.WasmFlushedLiftoffCodeSizeBytes" units="bytes"
expires_after="2025-07-01">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The amount of executable Liftoff code that was flushed. Recorded on
emergency GCs for allocations and on memory pressure.
</summary>
</histogram>
<histogram name="V8.WasmFlushedLiftoffMetadataSizeBytes" units="bytes"
expires_after="2025-07-01">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The amount of Liftoff metadata that was flushed. Recorded on emergency GCs
for allocations and on memory pressure.
</summary>
</histogram>
<histogram name="V8.WasmFunctionsPerModule" units="functions"
expires_after="2025-01-05">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</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="2025-01-05">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</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="2025-01-05">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</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="2025-09-01">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</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.WasmMemoryAllocationResult" enum="WasmAllocationResult"
expires_after="2025-07-30">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</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="2025-01-05">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</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.WasmModuleCodeSizeKiB" units="KB"
expires_after="2025-01-19">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The amount of committed code space in KiB used by individual WebAssembly
modules. Recorded for each live module after each full GC.
</summary>
</histogram>
<histogram name="V8.WasmModuleCodeSizeMiB" units="MB"
expires_after="2025-01-05">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</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="2025-01-05">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</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.WasmModuleMetadataSizeKiB" units="KB"
expires_after="2025-07-01">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The amount of metadata in KiB used by individual WebAssembly modules.
Recorded for each live module after each full GC.
</summary>
</histogram>
<histogram name="V8.WasmModuleNumberOfCodeGCsTriggered" units="gcs"
expires_after="2024-12-29">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</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="2025-01-05">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</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="2025-02-09">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</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="2025-01-05">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</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="2025-01-05">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</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="2024-11-10">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</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="2024-12-08">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</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="2024-12-08">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</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="2024-12-08">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</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.WasmSerializationTimeMilliSeconds" units="ms"
expires_after="2025-02-09">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</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="2025-02-10">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</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.WasmTierUpModuleMicroSeconds" units="microseconds"
expires_after="2023-06-04">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</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>
</histograms>
</histogram-configuration>