| <!-- |
| 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 Memory 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> |
| |
| <variants name="GpuPeakMemoryUsage"> |
| <variant name="ChangeTab2" |
| summary="Changing tabs. Note that this histogram uses presentation |
| callbacks to determine the end of the tab change (which is |
| when the tab change is presented on the screen). However, |
| before M110 it was possible that the callback was called even |
| if the next submitted frame failed to present successfully. |
| Since M110, the histogram switched to using presentation |
| callbacks that are only called when the first following frame |
| is successfully presented on the screen (hence version 2)"/> |
| <variant name="PageLoad" summary="Page load"/> |
| <variant name="Scroll" summary="Scroll"/> |
| </variants> |
| |
| <variants name="ProfiledProcess"> |
| <variant name="" summary="all process types, aggregated"/> |
| <variant name=".Browser" summary="the Browser process"/> |
| <variant name=".GPU" summary="the GPU process"/> |
| <variant name=".NetworkService" summary="the NetworkService process"/> |
| <variant name=".Renderer" summary="a Renderer process"/> |
| <variant name=".Utility" summary="a Utility process"/> |
| </variants> |
| |
| <variants name="UtilityProcessType"> |
| <variant name="AudioService"> |
| <owner>olka@chromium.org</owner> |
| <owner>fhernqvist@google.com</owner> |
| <owner>tguilbert@chromium.org</owner> |
| <owner>webrtc-audio-uma@google.com</owner> |
| </variant> |
| <variant name="CdmService"> |
| <owner>xhwang@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| </variant> |
| <variant name="MediaFoundationService"> |
| <owner>xhwang@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| </variant> |
| <variant name="PaintPreviewCompositor"> |
| <owner>ckitagawa@chromium.org</owner> |
| <owner>fredmello@chromium.org</owner> |
| </variant> |
| <variant name="Utility"> |
| <owner>jam@chromium.org</owner> |
| </variant> |
| </variants> |
| |
| <histogram name="HeapProfiling.AndroidStackUnwinder" |
| enum="AndroidStackUnwinder" expires_after="2023-09-10"> |
| <owner>joenotcharles@google.com</owner> |
| <owner>chrome-memory@google.com</owner> |
| <summary> |
| The stack unwinder implementation used by the SamplingHeapProfiler. Emitted |
| on Android devices only each time the profiler is started, which happens at |
| Chrome launch when HeapProfiling.InProcess.Enabled is true. |
| </summary> |
| </histogram> |
| |
| <histogram name="HeapProfiling.InProcess.AndroidNonChromeFrames{Process}" |
| units="%" expires_after="2023-06-05"> |
| <owner>joenotcharles@google.com</owner> |
| <owner>chrome-memory@google.com</owner> |
| <summary> |
| For every stack captured by the in-process heap profiler in {Process} on |
| Android, records the percentage of stack frames whose address was not found |
| in the Chrome module. Emitted at the time a snapshot is taken with an entry |
| for every stack in the snapshot. |
| </summary> |
| <token key="Process" variants="ProfiledProcess"/> |
| </histogram> |
| |
| <histogram name="HeapProfiling.InProcess.AndroidShortStacks{Process}" |
| enum="Boolean" expires_after="2023-06-05"> |
| <owner>joenotcharles@google.com</owner> |
| <owner>chrome-memory@google.com</owner> |
| <summary> |
| For every stack captured by the in-process heap profiler in {Process} on |
| Android, records if it has fewer than 5 frames. Stacks with few frames are |
| low-quality and may indicate a problem with the stack unwinder. Emitted at |
| the time a snapshot is taken with an entry for every stack in the snapshot. |
| </summary> |
| <token key="Process" variants="ProfiledProcess"/> |
| </histogram> |
| |
| <histogram name="HeapProfiling.InProcess.Enabled{Process}" |
| enum="BooleanEnabled" expires_after="2023-06-05"> |
| <owner>joenotcharles@google.com</owner> |
| <owner>chrome-memory@google.com</owner> |
| <summary> |
| One metric is emitted on every process start, recording whether the |
| in-process heap profiler is enabled in {Process} for this Chrome session. |
| </summary> |
| <token key="Process" variants="ProfiledProcess"/> |
| </histogram> |
| |
| <histogram name="HeapProfiling.InProcess.SamplesPerSnapshot{Process}" |
| units="samples" expires_after="2023-06-05"> |
| <owner>joenotcharles@google.com</owner> |
| <owner>chrome-memory@google.com</owner> |
| <summary> |
| The number of samples in a heap snapshot taken in {Process}. Emitted once |
| per snapshot when the in-process heap profiler is enabled. |
| </summary> |
| <token key="Process" variants="ProfiledProcess"/> |
| </histogram> |
| |
| <histogram |
| name="HeapProfiling.InProcess.SnapshotInterval.{Platform}.{RecordingTime}{Process}" |
| units="ms" expires_after="2023-06-05"> |
| <owner>joenotcharles@google.com</owner> |
| <owner>chrome-memory@google.com</owner> |
| <summary> |
| The time between heap snapshots taken in {Process} on {Platform}. Emitted |
| for each snapshot when the in-process heap profiler is enabled, at the |
| beginning and end of the snapshot interval. *.Scheduled histograms are |
| recorded at the beginning of the interval, when the snapshot is scheduled. |
| *.Taken histograms are recorded at the end of the interval, when the |
| snapshot is taken. Entries in *.Scheduled that don't appear in *.Taken show |
| which snapshot intervals are interrupted before the snapshot is taken. |
| </summary> |
| <token key="Platform"> |
| <variant name="Desktop" summary="All desktop platforms"/> |
| <variant name="Mobile" summary="Android and iOS"/> |
| </token> |
| <token key="RecordingTime"> |
| <variant name="Scheduled" |
| summary="Recorded when the snapshot is scheduled."/> |
| <variant name="Taken" summary="Recorded when the snapshot is taken."/> |
| </token> |
| <token key="Process" variants="ProfiledProcess"/> |
| </histogram> |
| |
| <histogram name="HeapProfiling.InProcess.TotalSampledMemory{Process}" |
| units="MB" expires_after="2023-10-30"> |
| <owner>joenotcharles@google.com</owner> |
| <owner>etienneb@chromium.org</owner> |
| <owner>chrome-memory@google.com</owner> |
| <summary> |
| The total amount of memory in a heap snapshot taken in {Process}. This is an |
| estimate of total memory allocations in the code being sampled. Because it |
| is collected through random sampling it is only statistically accurate when |
| aggregated over many reports. Emitted once per snapshot when the in-process |
| heap profiler is enabled. |
| </summary> |
| <token key="Process" variants="ProfiledProcess"/> |
| </histogram> |
| |
| <histogram name="HeapProfiling.ProfiledProcess.Type" |
| enum="HeapProfilingProcessType" expires_after="2021-12-12"> |
| <owner>erikchen@chromium.org</owner> |
| <owner>chrome-memory@google.com</owner> |
| <summary> |
| One metric is emitted every 24-hours after Chrome is launched for every |
| process that is being profiled by the out-of-process heap profiler. The |
| timer is reset if Chrome exits. |
| </summary> |
| </histogram> |
| |
| <histogram name="HeapProfiling.ProfilingMode" enum="HeapProfilingMode" |
| expires_after="2021-02-25"> |
| <owner>erikchen@chromium.org</owner> |
| <owner>chrome-memory@google.com</owner> |
| <summary> |
| One metric is emitted every 24-hours after Chrome is launched for every |
| Chrome instance that is using out of process heap profiling. The timer is |
| reset if Chrome exits. |
| </summary> |
| </histogram> |
| |
| <histogram name="HeapProfiling.SamplingIntervalKB" units="KB" |
| expires_after="2023-10-22"> |
| <owner>joenotcharles@google.com</owner> |
| <owner>chrome-memory@google.com</owner> |
| <summary> |
| The mean number of kilobytes between samples used by the |
| SamplingHeapProfiler. Emitted each time the profiler is started, which |
| happens at Chrome launch when HeapProfiling.InProcess.Enabled is true. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.BackingStore" units="units" expires_after="M85"> |
| <owner>hajimehoshi@chromium.org</owner> |
| <owner>kenjibaheux@google.com</owner> |
| <owner>kouhei@chromium.org</owner> |
| <summary>TBD.</summary> |
| </histogram> |
| |
| <histogram name="Memory.Browser.MemoryFootprint" units="MB" |
| expires_after="never"> |
| <!-- expires-never: guiding metric (internal: go/chrome-browser-guiding-metrics) --> |
| |
| <owner>erikchen@chromium.org</owner> |
| <owner>ajuma@chromium.org</owner> |
| <owner>chrome-analysis-team@google.com</owner> |
| <summary> |
| This metric is only recorded on iOS. This measures the sum of |
| PrivateMemoryFootprint and SharedMemoryFootprint, which is possible because |
| Chromium on iOS is single-process. Note that this does not include memory |
| consumed by WebKit-launched processes, such as the WebContent and Network |
| processes. |
| |
| Emitted when closing a log in order to upload it. This happens shortly after |
| startup and again at regular intervals (usually 5 minutes, regardless of the |
| type of network connection). Not emitted in logs that are closed when Chrome |
| loses focus or closes. Yet, it is emitted on logs that are constructed from |
| data persisted from a previous session, i.e., persisted from an unclean |
| shutdown. |
| |
| Many changes in memory usage on iOS come from changes to WebKit, rather than |
| changes within Chromium code. To assess whether a change in this metric is |
| caused by a WebKit change, split by OS version. WebKit changes always come |
| with an OS version change. |
| |
| As with other memory metrics, memory use tends to increase over time. |
| Restarts due to OS or Chrome updates tend to make this metric drop. |
| |
| This histogram is of special interest to the chrome-analysis-team@. Do not |
| change its semantics or retire it without talking to them first. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.Browser.MemoryFootprint.Active" units="MB" |
| expires_after="2024-02-05"> |
| <owner>justincohen@chromium.org</owner> |
| <owner>ajuma@chromium.org</owner> |
| <summary> |
| This metric is only recorded on iOS. Same as Memory.Browser.MemoryFootprint |
| but only recorded when UIApplication.sharedApplication.applicationState is |
| UIApplicationStateActive. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.Browser.MemoryFootprint.Active.Over200MBWatermark" |
| enum="BooleanGreaterOrEqualThan200MB" expires_after="2024-02-05"> |
| <owner>justincohen@chromium.org</owner> |
| <owner>ajuma@chromium.org</owner> |
| <summary> |
| This metric is only recorded on iOS when |
| UIApplication.sharedApplication.applicationState is |
| UIApplicationStateActive. True if the sum of PrivateMemoryFootprint and |
| SharedMemoryFootprint is greater than 200MB. According to Apple, apps on |
| iPhone 6 and older devices get terminated by the OS if memory usage crosses |
| 200MB watermark, so it's important to keep the memory usage under 200MB. |
| "true" value may not show up on iPhone 6 and older devices if iOS |
| is strict about the advertised watermark. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.Browser.MemoryFootprint.Background" units="MB" |
| expires_after="2024-02-05"> |
| <owner>justincohen@chromium.org</owner> |
| <owner>ajuma@chromium.org</owner> |
| <summary> |
| This metric is only recorded on iOS. Same as Memory.Browser.MemoryFootprint |
| but only recorded when UIApplication.sharedApplication.applicationState is |
| UIApplicationStateBackground. According to Apple, apps get terminated by the |
| OS if memory usage in background crosses 50MB watermark, so it's important |
| to keep the memory usage under 50MB. The timing of this metric will line up |
| so that it rarely occurs when the app is in the background. With a small |
| data set, the metrics might be biased in ways that we can't think of right |
| now. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.Browser.MemoryFootprint.Inactive" units="MB" |
| expires_after="2024-02-05"> |
| <owner>justincohen@chromium.org</owner> |
| <owner>ajuma@chromium.org</owner> |
| <summary> |
| This metric is only recorded on iOS. Same as Memory.Browser.MemoryFootprint |
| but only recorded when UIApplication.sharedApplication.applicationState is |
| UIApplicationStateInactive. The timing of this metric will line up so that |
| it rarely occurs when the app is inactive. With a small data set, the |
| metrics might be biased in ways that we can't think of right now. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.Browser.MemoryFootprint.NumLiveOverscroll" units="tabs" |
| expires_after="2021-09-12"> |
| <owner>ajuma@chromium.org</owner> |
| <owner>rkgibson@google.com</owner> |
| <summary> |
| Investigation into crbug.com/1102494 shows that OverscrollActionsController |
| is allocating thousands of objects in it's -initWithScrollView:. This is |
| likely because thousands of OverscrollActionsControllers are being |
| initialized. The theory is that there are users that have many many tabs, |
| causing many OverscrollActionsControllers to be allocated. This histogram |
| tests that theory by logging how many live OverscrollActionsControllers |
| there are. This is recorded every time histograms are uploaded. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.Browser.MemoryFootprint.NumOpenTabs" units="tabs" |
| expires_after="2024-02-05"> |
| <owner>ajuma@chromium.org</owner> |
| <owner>rkgibson@google.com</owner> |
| <summary> |
| Investigation into crbug.com/1102494 shows that OverscrollActionsController |
| is allocating thousands of objects in it's -initWithScrollView:. This is |
| likely because thousands of OverscrollActionsControllers are being |
| initialized. The theory is that there are users that have many many tabs, |
| causing many OverscrollActionsControllers to be allocated. This histogram |
| tests that theory by logging how many open tabs there are. This is recorded |
| every time histograms are uploaded. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.Browser.MemoryFootprint.OnBackground" units="MiB" |
| expires_after="2024-02-05"> |
| <owner>justincohen@chromium.org</owner> |
| <owner>ajuma@chromium.org</owner> |
| <summary> |
| This metric is only recorded on iOS. Same as Memory.Browser.MemoryFootprint |
| but recorded right after the app transitions into background. According to |
| Apple, apps get terminated by the OS if memory usage in background crosses |
| 50MiB watermark so it's important to keep the memory usage under 50MiB. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.Browser.PrivateMemoryFootprint" units="MB" |
| expires_after="never"> |
| <!-- expires-never: guiding metric (internal: go/chrome-browser-guiding-metrics) --> |
| |
| <owner>erikchen@chromium.org</owner> |
| <owner>chrome-analysis-team@google.com</owner> |
| <improvement direction="LOWER_IS_BETTER"/> |
| <summary> |
| A rough estimate of the private memory footprint of the browser process. |
| |
| Recorded at Poisson sampled time intervals with a mean of 5 minutes on |
| Android and 30 minutes on other platforms. |
| |
| This memory footprint metric cannot be compared across platforms because |
| each platform relies on platform-level APIs for accounting. As such, though |
| this attempts to measure private memory footprint as best as possible, it |
| does not measure the same thing on each platform. We have not found a good |
| way to compare any system level memory metric across platforms due to the |
| different nature of memory management on each platform. |
| |
| This histogram is of special interest to the chrome-analysis-team@. Do not |
| change its semantics or retire it without talking to them first. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.Browser.PrivateMemoryFootprint.HasZombieProfile" |
| units="MB" expires_after="2022-08-21"> |
| <obsolete> |
| This histogram was used to measure the impact of the |
| DestroyProfileOnBrowserClose prior to its general launch. Now that it's 100% |
| launched, there is no active A/B test. |
| </obsolete> |
| <owner>nicolaso@chromium.org</owner> |
| <owner>cbe-eng@google.com</owner> |
| <summary> |
| Same as Memory.Browser.PrivateMemoryFootprint, but only gets recorded after |
| a Profile becomes safe to delete during this browsing session. This lets us |
| measure the memory impact of destroying Profile objects and their |
| KeyedServices. |
| |
| This is not meant to be compared with Memory.Browser.PrivateMemoryFootprint, |
| as it measures a different scenario. Instead, it should be compared with |
| itself in an A/B test with the DestroyProfileOnBrowserClose variation. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.Browser.PrivateSwapFootprint" units="MB" |
| expires_after="2023-09-17"> |
| <owner>erikchen@chromium.org</owner> |
| <owner>ssid@chromium.org</owner> |
| <summary> |
| An amount of private memory of the browser process placed in swap (VmSwap). |
| Available on Android, Linux and ChromeOS. |
| |
| Recorded at Poisson sampled time intervals with a mean of 5 minutes on |
| Android and 30 minutes on other platforms. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.Browser.ResidentSet" units="MiB" expires_after="never"> |
| <!-- expires-never: Generic system health metric used to diagnose various performance issues. --> |
| |
| <owner>fdoray@chromium.org</owner> |
| <summary> |
| The size of the resident memory in the browser process. This is influenced |
| by factors we control (e.g. memory that is not accessed can be swapped) and |
| factors we don't control (e.g. an unrelated process using a lot of memory |
| can force memory in our process to be swapped). Recorded on |
| Windows/Linux/ChromeOS/Android. |
| |
| Recorded at Poisson sampled time intervals with a mean of 5 minutes on |
| Android and 30 minutes on other platforms. |
| |
| This resident memory metric cannot be compared across platforms because each |
| platform relies on platform-level APIs for accounting. As such, though this |
| attempts to measure private memory footprint as best as possible, it does |
| not measure the same thing on each platform. We have not found a good way to |
| compare any system level memory metric across platforms due to the different |
| nature of memory management on each platform. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.Browser.SharedMemoryFootprint" units="MB" |
| expires_after="2023-09-17"> |
| <owner>erikchen@chromium.org</owner> |
| <summary> |
| A rough estimate of the shared memory footprint of the browser process. |
| |
| Recorded at Poisson sampled time intervals with a mean of 5 minutes on |
| Android and 30 minutes on other platforms. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.CachedFontAndDC" units="units" expires_after="M85"> |
| <owner>hajimehoshi@chromium.org</owner> |
| <owner>kenjibaheux@google.com</owner> |
| <owner>kouhei@chromium.org</owner> |
| <summary>TBD.</summary> |
| </histogram> |
| |
| <histogram name="Memory.Discardable.FreeListReleaseTime" units="microseconds" |
| expires_after="2022-11-13"> |
| <owner>thiabaud@google.com</owner> |
| <owner>lizeb@chromium.org</owner> |
| <summary> |
| Records how long it takes for memory to be released from the freelist of the |
| discardable shared memory allocator with |madvise|. |
| |
| Note that clients without high-resolution clocks will report 0 for very |
| short times. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.Discardable.FreelistSize.Dirty" units="KiB" |
| expires_after="2022-12-18"> |
| <owner>thiabaud@google.com</owner> |
| <owner>lizeb@chromium.org</owner> |
| <summary> |
| Amount of resident memory that was in use but has now been moved to the |
| freelist. Recorded during |OnMemoryDump|. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.Discardable.FreelistSize.Foreground" units="KiB" |
| expires_after="2023-03-05"> |
| <owner>thiabaud@google.com</owner> |
| <owner>lizeb@chromium.org</owner> |
| <summary> |
| Freelist size used by ClientDiscardableMemoryManager in the foreground only. |
| Recorded during |OnMemoryDump|. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.Discardable.LargeAllocationFromFreelist" |
| enum="BooleanLargeAllocationFromFreelist" expires_after="2023-03-19"> |
| <owner>thiabaud@google.com</owner> |
| <owner>lizeb@chromium.org</owner> |
| <summary> |
| Boolean metric which tracks whether or not large chunks of discardable |
| memory are allocated from the freelist or via IPC. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.Discardable.LockingSuccess" |
| enum="BooleanLockingSuccess" expires_after="2023-05-07"> |
| <owner>thiabaud@google.com</owner> |
| <owner>lizeb@chromium.org</owner> |
| <summary> |
| Boolean metric which tracks whether or not discardable memory had already |
| been discarded when an attempt is made to lock it. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.Discardable.Size.Foreground" units="KiB" |
| expires_after="2023-03-05"> |
| <owner>thiabaud@google.com</owner> |
| <owner>lizeb@chromium.org</owner> |
| <summary> |
| Effective memory used by ClientDiscardableMemoryManager in the foreground |
| only. Recorded during |OnMemoryDump|. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.Discardable.VirtualSize.Foreground" units="KiB" |
| expires_after="2023-03-19"> |
| <owner>thiabaud@google.com</owner> |
| <owner>lizeb@chromium.org</owner> |
| <summary> |
| Virtual memory used by ClientDiscardableMemoryManager in the foreground |
| only. Recorded during |OnMemoryDump|. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.DiscardableAllocationSize" units="KB" |
| expires_after="2023-03-19"> |
| <owner>reveman@chromium.org</owner> |
| <owner>thiabaud@google.com</owner> |
| <summary> |
| The discardable memory allocation size in KB. Recorded each time a new |
| discardable memory instance is created. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.Experimental.AvailableMemoryMB" units="MB" |
| expires_after="2023-09-22"> |
| <owner>anthonyvd@chromium.org</owner> |
| <owner>catan-team@chromium.org</owner> |
| <summary> |
| The amount of available physical memory on the system as reported by |
| base::SysInfo::AmountOfAvailablePhysicalMemory(). |
| |
| Recorded every 2 minutes. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.Experimental.AvailableMemoryPercent" units="%" |
| expires_after="2023-09-22"> |
| <owner>anthonyvd@chromium.org</owner> |
| <owner>catan-team@chromium.org</owner> |
| <summary> |
| The percentage of physical memory on the system considered |
| "available" by base::SysInfo::AmountOfAvailablePhysicalMemory() |
| and base::SysInfo::AmountOfPhysicalMemory(). |
| |
| Recorded every 2 minutes. |
| </summary> |
| </histogram> |
| |
| <histogram base="true" name="Memory.Experimental.Browser2" units="MB" |
| expires_after="2024-01-10"> |
| <!-- Name completed by histogram_suffixes name="ProcessMemoryAllocator2" --> |
| |
| <owner>erikchen@chromium.org</owner> |
| <owner>ssid@chromium.org</owner> |
| <owner>lizeb@chromium.org</owner> |
| <summary> |
| The browser process's memory usage reported by the memory instrumentation |
| service in MB. |
| |
| Recorded at Poisson sampled time intervals with a mean of 5 minutes on |
| Android and 30 minutes on other platforms. |
| </summary> |
| </histogram> |
| |
| <histogram base="true" name="Memory.Experimental.Browser2.Custom" units="bytes" |
| expires_after="2024-01-10"> |
| <!-- Name completed by histogram_suffixes name="ProcessMemoryAllocatorCustom2" --> |
| |
| <owner>sashamcintosh@chromium.org</owner> |
| <owner>chromeos-gfx@chromium.org</owner> |
| <owner>erikchen@chromium.org</owner> |
| <owner>ssid@chromium.org</owner> |
| <owner>lizeb@chromium.org</owner> |
| <summary> |
| The browser process's memory usage reported by the memory instrumentation |
| service in bytes. |
| |
| Recorded at Poisson sampled time intervals with a mean of 5 minutes on |
| Android and 30 minutes on other platforms. |
| </summary> |
| </histogram> |
| |
| <histogram base="true" name="Memory.Experimental.Browser2.Small" units="KB" |
| expires_after="2024-01-10"> |
| <!-- Name completed by histogram_suffixes name="ProcessMemoryAllocatorSmall2" --> |
| |
| <owner>erikchen@chromium.org</owner> |
| <owner>ssid@chromium.org</owner> |
| <owner>lizeb@chromium.org</owner> |
| <summary> |
| The browser process's memory usage reported by the memory instrumentation |
| service in KB. |
| |
| Recorded at Poisson sampled time intervals with a mean of 5 minutes on |
| Android and 30 minutes on other platforms. |
| </summary> |
| </histogram> |
| |
| <histogram base="true" name="Memory.Experimental.Browser2.Tiny" units="bytes" |
| expires_after="2024-01-10"> |
| <!-- Name completed by histogram_suffixes name="ProcessMemoryAllocatorTiny2" --> |
| |
| <owner>sashamcintosh@chromium.org</owner> |
| <owner>chromeos-gfx@chromium.org</owner> |
| <owner>erikchen@chromium.org</owner> |
| <owner>ssid@chromium.org</owner> |
| <owner>lizeb@chromium.org</owner> |
| <summary> |
| The browser process's memory usage reported by the memory instrumentation |
| service in bytes. |
| |
| Recorded at Poisson sampled time intervals with a mean of 5 minutes on |
| Android and 30 minutes on other platforms. |
| </summary> |
| </histogram> |
| |
| <histogram base="true" name="Memory.Experimental.Extension2" units="MB" |
| expires_after="2024-01-10"> |
| <!-- Name completed by histogram_suffixes name="ProcessMemoryAllocator2" --> |
| |
| <owner>erikchen@chromium.org</owner> |
| <owner>ssid@chromium.org</owner> |
| <owner>lizeb@chromium.org</owner> |
| <summary> |
| The extension process's memory usage reported by the memory instrumentation |
| service in MB. |
| |
| Recorded at Poisson sampled time intervals with a mean of 5 minutes on |
| Android and 30 minutes on other platforms. |
| </summary> |
| </histogram> |
| |
| <histogram base="true" name="Memory.Experimental.Extension2.Custom" |
| units="bytes" expires_after="2024-01-10"> |
| <!-- Name completed by histogram_suffixes name="ProcessMemoryAllocatorCustom2" --> |
| |
| <owner>sashamcintosh@chromium.org</owner> |
| <owner>chromeos-gfx@chromium.org</owner> |
| <owner>erikchen@chromium.org</owner> |
| <owner>ssid@chromium.org</owner> |
| <owner>lizeb@chromium.org</owner> |
| <summary> |
| The extension process's memory usage reported by the memory instrumentation |
| service in bytes. |
| |
| Recorded at Poisson sampled time intervals with a mean of 5 minutes on |
| Android and 30 minutes on other platforms. |
| </summary> |
| </histogram> |
| |
| <histogram base="true" name="Memory.Experimental.Extension2.Small" units="KB" |
| expires_after="2024-01-10"> |
| <!-- Name completed by histogram_suffixes name="ProcessMemoryAllocatorSmall2" --> |
| |
| <owner>erikchen@chromium.org</owner> |
| <owner>ssid@chromium.org</owner> |
| <owner>lizeb@chromium.org</owner> |
| <summary> |
| The extension process's memory usage reported by the memory instrumentation |
| service in KB. |
| |
| Recorded at Poisson sampled time intervals with a mean of 5 minutes on |
| Android and 30 minutes on other platforms. |
| </summary> |
| </histogram> |
| |
| <histogram base="true" name="Memory.Experimental.Extension2.Tiny" units="bytes" |
| expires_after="2024-01-10"> |
| <!-- Name completed by histogram_suffixes name="ProcessMemoryAllocatorTiny2" --> |
| |
| <owner>sashamcintosh@chromium.org</owner> |
| <owner>chromeos-gfx@chromium.org</owner> |
| <owner>erikchen@chromium.org</owner> |
| <owner>ssid@chromium.org</owner> |
| <owner>lizeb@chromium.org</owner> |
| <summary> |
| The extension process's memory usage reported by the memory instrumentation |
| service in bytes. |
| |
| Recorded at Poisson sampled time intervals with a mean of 5 minutes on |
| Android and 30 minutes on other platforms. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.Experimental.Gpu.PhysicalFootprint.MacOS" units="MB" |
| expires_after="M85"> |
| <owner>erikchen@chromium.org</owner> |
| <summary> |
| The physical footprint of the GPU process on macOS. Other measurements fail |
| to correctly account for OpenGL memory usage. This metric also has flaws and |
| is not intended for permanent use. It's an emergency measure added to help |
| debug https://crbug.com/713854. |
| |
| Recorded at Poisson sampled time intervals with a mean of 5 minutes on |
| Android and 30 minutes on other platforms. |
| </summary> |
| </histogram> |
| |
| <histogram base="true" name="Memory.Experimental.Gpu2" units="MB" |
| expires_after="2024-01-10"> |
| <!-- Name completed by histogram_suffixes name="ProcessMemoryAllocator2" --> |
| |
| <owner>erikchen@chromium.org</owner> |
| <owner>ssid@chromium.org</owner> |
| <owner>lizeb@chromium.org</owner> |
| <summary> |
| The gpu process's memory usage reported by the memory instrumentation |
| service in MB. |
| |
| Recorded at Poisson sampled time intervals with a mean of 5 minutes on |
| Android and 30 minutes on other platforms. |
| </summary> |
| </histogram> |
| |
| <histogram base="true" name="Memory.Experimental.Gpu2.Custom" units="bytes" |
| expires_after="2024-01-10"> |
| <!-- Name completed by histogram_suffixes name="ProcessMemoryAllocatorCustom2" --> |
| |
| <owner>sashamcintosh@chromium.org</owner> |
| <owner>chromeos-gfx@chromium.org</owner> |
| <owner>erikchen@chromium.org</owner> |
| <owner>ssid@chromium.org</owner> |
| <owner>lizeb@chromium.org</owner> |
| <summary> |
| The gpu process's memory usage reported by the memory instrumentation |
| service in bytes. |
| |
| Recorded at Poisson sampled time intervals with a mean of 5 minutes on |
| Android and 30 minutes on other platforms. |
| </summary> |
| </histogram> |
| |
| <histogram base="true" name="Memory.Experimental.Gpu2.Small" units="KB" |
| expires_after="2024-01-10"> |
| <!-- Name completed by histogram_suffixes name="ProcessMemoryAllocatorSmall2" --> |
| |
| <owner>erikchen@chromium.org</owner> |
| <owner>ssid@chromium.org</owner> |
| <owner>lizeb@chromium.org</owner> |
| <summary> |
| The gpu process's memory usage reported by the memory instrumentation |
| service in KB. |
| |
| Recorded at Poisson sampled time intervals with a mean of 5 minutes on |
| Android and 30 minutes on other platforms. |
| </summary> |
| </histogram> |
| |
| <histogram base="true" name="Memory.Experimental.Gpu2.Tiny" units="bytes" |
| expires_after="2024-01-10"> |
| <!-- Name completed by histogram_suffixes name="ProcessMemoryAllocatorTiny2" --> |
| |
| <owner>sashamcintosh@chromium.org</owner> |
| <owner>chromeos-gfx@chromium.org</owner> |
| <owner>erikchen@chromium.org</owner> |
| <owner>ssid@chromium.org</owner> |
| <owner>lizeb@chromium.org</owner> |
| <summary> |
| The gpu process's memory usage reported by the memory instrumentation |
| service in bytes. |
| |
| Recorded at Poisson sampled time intervals with a mean of 5 minutes on |
| Android and 30 minutes on other platforms. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.Experimental.MacAvailableMemoryPercentFreePageCache2" |
| units="%" expires_after="2023-09-22"> |
| <owner>anthonyvd@chromium.org</owner> |
| <owner>catan-team@chromium.org</owner> |
| <summary> |
| The percentage of physical memory on the system considered |
| "available" by base::SysInfo::AmountOfAvailablePhysicalMemory() |
| and base::SysInfo::AmountOfPhysicalMemory(). The amount of |
| "file-backed" memory is subtracted from the amount of available |
| memory to attempt to estimate the available memory, counting the Page Cache |
| as available. |
| |
| Recorded every 2 minutes on MacOS. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.Experimental.MacFileBackedMemoryMB2" units="MB" |
| expires_after="2023-09-22"> |
| <owner>anthonyvd@chromium.org</owner> |
| <owner>catan-team@chromium.org</owner> |
| <summary> |
| The amount of memory reported as "file-backed" or associated to |
| "external_pages" by vm_stat. |
| |
| Recorded every 2 minutes on MacOS. |
| </summary> |
| </histogram> |
| |
| <histogram base="true" name="Memory.Experimental.NetworkService2" units="MiB" |
| expires_after="2024-01-10"> |
| <!-- Name completed by histogram_suffixes name="ProcessMemoryAllocator2" --> |
| |
| <owner>mmenke@chromium.org</owner> |
| <owner>morlovich@chromium.org</owner> |
| <owner>erikchen@chromium.org</owner> |
| <owner>ssid@chromium.org</owner> |
| <owner>lizeb@chromium.org</owner> |
| <summary> |
| The network service process's memory usage reported by the memory |
| instrumentation service in MiB. |
| |
| Recorded at Poisson sampled time intervals with a mean of 5 minutes on |
| Android and 30 minutes on other platforms. |
| </summary> |
| </histogram> |
| |
| <histogram base="true" name="Memory.Experimental.NetworkService2.Custom" |
| units="bytes" expires_after="2024-01-10"> |
| <!-- Name completed by histogram_suffixes name="ProcessMemoryAllocatorCustom2" --> |
| |
| <owner>sashamcintosh@chromium.org</owner> |
| <owner>chromeos-gfx@chromium.org</owner> |
| <owner>erikchen@chromium.org</owner> |
| <owner>ssid@chromium.org</owner> |
| <owner>lizeb@chromium.org</owner> |
| <summary> |
| The network service process's memory usage reported by the memory |
| instrumentation service in bytes. |
| |
| Recorded at Poisson sampled time intervals with a mean of 5 minutes on |
| Android and 30 minutes on other platforms. |
| </summary> |
| </histogram> |
| |
| <histogram base="true" name="Memory.Experimental.NetworkService2.Small" |
| units="KiB" expires_after="2024-01-10"> |
| <!-- Name completed by histogram_suffixes name="ProcessMemoryAllocatorSmall2" --> |
| |
| <owner>mmenke@chromium.org</owner> |
| <owner>morlovich@chromium.org</owner> |
| <owner>erikchen@chromium.org</owner> |
| <owner>ssid@chromium.org</owner> |
| <owner>lizeb@chromium.org</owner> |
| <summary> |
| The network service process's memory usage reported by the memory |
| instrumentation service in KiB. |
| |
| Recorded at Poisson sampled time intervals with a mean of 5 minutes on |
| Android and 30 minutes on other platforms. |
| </summary> |
| </histogram> |
| |
| <histogram base="true" name="Memory.Experimental.NetworkService2.Tiny" |
| units="bytes" expires_after="2024-01-10"> |
| <!-- Name completed by histogram_suffixes name="ProcessMemoryAllocatorTiny2" --> |
| |
| <owner>sashamcintosh@chromium.org</owner> |
| <owner>chromeos-gfx@chromium.org</owner> |
| <owner>erikchen@chromium.org</owner> |
| <owner>ssid@chromium.org</owner> |
| <owner>lizeb@chromium.org</owner> |
| <summary> |
| The network service process's memory usage reported by the memory |
| instrumentation service in bytes. |
| |
| Recorded at Poisson sampled time intervals with a mean of 5 minutes on |
| Android and 30 minutes on other platforms. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Memory.Experimental.OomIntervention.RendererPrivateMemoryFootprintAtOOM" |
| units="MB" expires_after="M85"> |
| <owner>ssid@chromium.org</owner> |
| <owner>bashi@chromium.org</owner> |
| <summary> |
| The renderer process' private memory footprint when a foreground OOM occurs. |
| This was last recorded metric by renderer a few seconds before getting |
| killed. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Memory.Experimental.OomIntervention.RendererTimeSinceLastNavigationAtDetection" |
| units="seconds" expires_after="2019-07-31"> |
| <owner>yuzus@chromium.org</owner> |
| <owner>keishi@chromium.org</owner> |
| <summary> |
| Records the time since last main frame navigation start on the renderer |
| process when high memory usage is detected. Record only when navigation |
| happened at least once. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Memory.Experimental.OomIntervention.RendererTimeSinceLastNavigationAtOOM" |
| units="seconds" expires_after="M82"> |
| <owner>ssid@chromium.org</owner> |
| <owner>haraken@chromium.org</owner> |
| <summary> |
| Records the time since last main frame navigation start on the renderer |
| process when it OOMs in foreground visible state. Record 0 if no navigation |
| was started. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Memory.Experimental.OomIntervention.RendererTimeSinceStartMonitoringAtDetection" |
| units="seconds" expires_after="2019-07-31"> |
| <owner>yuzus@chromium.org</owner> |
| <owner>keishi@chromium.org</owner> |
| <summary> |
| Records the time since starting monitor on renderer when high memory usage |
| is detected. |
| </summary> |
| </histogram> |
| |
| <histogram base="true" name="Memory.Experimental.Renderer" units="MB" |
| expires_after="2021-04-18"> |
| <!-- Name completed by histogram_suffixes name="RendererMemoryAllocator" --> |
| |
| <owner>keishi@chromium.org</owner> |
| <summary> |
| The renderer process's memory usage at the specific timing, i.e. after a |
| page load and 5/10/15minutes after backgrounded. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.Experimental.Renderer.HighestPrivateMemoryFootprint" |
| units="MB" expires_after="2023-10-22"> |
| <owner>tasak@google.com</owner> |
| <owner>bartekn@google.com</owner> |
| <summary> |
| The highest private memory footprint of a renderer process in (X mins after |
| the first page navigation, Y mins after the first page navigation]. (X, Y] |
| is (0, 2], (2, 4], (4, 8], and (8, 16]. The metric is recorded at the Y's |
| timing. |
| |
| This memory footprint metric cannot be compared across platforms because |
| each platform relies on platform-level APIs for accounting. As such, though |
| this attempts to measure private memory footprint as best as possible, it |
| does not measure the same thing on each platform. We have not found a good |
| way to compare any system level memory metric across platforms due to the |
| different nature of memory management on each platform. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Memory.Experimental.Renderer.PeakResidentSet.AtHighestPrivateMemoryFootprint" |
| units="MB" expires_after="2021-08-09"> |
| <owner>tasak@google.com</owner> |
| <owner>bartekn@google.com</owner> |
| <summary> |
| The peak RSS size(VmHMW) of a render process when the highest private memory |
| footprint is observed after the first navigation start. |
| |
| This resident memory metric cannot be compared across platforms because each |
| platform relies on platform-level APIs for accounting. As such, though this |
| attempts to measure private memory footprint as best as possible, it does |
| not measure the same thing on each platform. We have not found a good way to |
| compare any system level memory metric across platforms due to the different |
| nature of memory management on each platform. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Memory.Experimental.Renderer.WebpageCount.AtHighestPrivateMemoryFootprint" |
| units="counts" expires_after="2020-12-31"> |
| <owner>tasak@google.com</owner> |
| <owner>bartekn@google.com</owner> |
| <summary> |
| The number of webpages when the highest private memory footprint of renderer |
| process is observed after the first navigation start. |
| </summary> |
| </histogram> |
| |
| <histogram base="true" name="Memory.Experimental.Renderer2" units="MB" |
| expires_after="2024-01-10"> |
| <!-- Name completed by histogram_suffixes name="ProcessMemoryAllocator2" --> |
| |
| <owner>erikchen@chromium.org</owner> |
| <owner>ssid@chromium.org</owner> |
| <owner>lizeb@chromium.org</owner> |
| <summary> |
| The renderer process's memory usage reported by the memory instrumentation |
| service in MB. |
| |
| Recorded at Poisson sampled time intervals with a mean of 5 minutes on |
| Android and 30 minutes on other platforms. |
| </summary> |
| </histogram> |
| |
| <histogram base="true" name="Memory.Experimental.Renderer2.Custom" |
| units="bytes" expires_after="2024-01-10"> |
| <!-- Name completed by histogram_suffixes name="ProcessMemoryAllocatorCustom2" --> |
| |
| <owner>sashamcintosh@chromium.org</owner> |
| <owner>chromeos-gfx@chromium.org</owner> |
| <owner>erikchen@chromium.org</owner> |
| <owner>ssid@chromium.org</owner> |
| <owner>lizeb@chromium.org</owner> |
| <summary> |
| The renderer process's memory usage reported by the memory instrumentation |
| service in bytes. |
| |
| Recorded at Poisson sampled time intervals with a mean of 5 minutes on |
| Android and 30 minutes on other platforms. |
| </summary> |
| </histogram> |
| |
| <histogram base="true" name="Memory.Experimental.Renderer2.Small" units="KB" |
| expires_after="2024-01-10"> |
| <!-- Name completed by histogram_suffixes name="ProcessMemoryAllocatorSmall2" --> |
| |
| <owner>erikchen@chromium.org</owner> |
| <owner>ssid@chromium.org</owner> |
| <owner>lizeb@chromium.org</owner> |
| <summary> |
| The renderer process's memory usage reported by the memory instrumentation |
| service in KB. |
| |
| Recorded at Poisson sampled time intervals with a mean of 5 minutes on |
| Android and 30 minutes on other platforms. |
| </summary> |
| </histogram> |
| |
| <histogram base="true" name="Memory.Experimental.Renderer2.Tiny" units="bytes" |
| expires_after="2024-01-10"> |
| <!-- Name completed by histogram_suffixes name="ProcessMemoryAllocatorTiny2" --> |
| |
| <owner>sashamcintosh@chromium.org</owner> |
| <owner>chromeos-gfx@chromium.org</owner> |
| <owner>erikchen@chromium.org</owner> |
| <owner>ssid@chromium.org</owner> |
| <owner>lizeb@chromium.org</owner> |
| <summary> |
| The renderer process's memory usage reported by the memory instrumentation |
| service in bytes. |
| |
| Recorded at Poisson sampled time intervals with a mean of 5 minutes on |
| Android and 30 minutes on other platforms. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Memory.Experimental.UserLevelMemoryPressureSignal.RendererPrivateMemoryFootprintAfter" |
| units="MB" expires_after="2019-09-30"> |
| <owner>keishi@chromium.org</owner> |
| <owner>tasak@chromium.org</owner> |
| <summary> |
| The renderer process' private memory footprint 10 seconds after a memory |
| pressure signal is generated. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Memory.Experimental.UserLevelMemoryPressureSignal.RendererPrivateMemoryFootprintBefore" |
| units="MB" expires_after="2022-05-01"> |
| <owner>keishi@chromium.org</owner> |
| <owner>tasak@chromium.org</owner> |
| <summary> |
| The renderer process' private memory footprint right before a memory |
| pressure signal is generated. |
| |
| This memory footprint metric cannot be compared across platforms because |
| each platform relies on platform-level APIs for accounting. As such, though |
| this attempts to measure private memory footprint as best as possible, it |
| does not measure the same thing on each platform. We have not found a good |
| way to compare any system level memory metric across platforms due to the |
| different nature of memory management on each platform. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Memory.Experimental.UserLevelMemoryPressureSignal.TotalPrivateMemoryFootprintAfter" |
| units="MB" expires_after="2023-10-01"> |
| <owner>tasak@google.com</owner> |
| <owner>chrome-memory-tok@google.com</owner> |
| <summary> |
| The total private memory footprint 10 seconds after a user-level memory |
| pressure signal is generated. Recorded on Android. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Memory.Experimental.UserLevelMemoryPressureSignal.TotalPrivateMemoryFootprintBefore" |
| units="MB" expires_after="2023-10-01"> |
| <owner>tasak@google.com</owner> |
| <owner>chrome-memory-tok@google.com</owner> |
| <summary> |
| The total private memory footprint right before a user-level memory pressure |
| signal is generated. Recorded on Android. |
| |
| This memory footprint metric cannot be compared across platforms because |
| each platform relies on platform-level APIs for accounting. As such, though |
| this attempts to measure private memory footprint as best as possible, it |
| does not measure the same thing on each platform. We have not found a good |
| way to compare any system level memory metric across platforms due to the |
| different nature of memory management on each platform. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Memory.Experimental.UserLevelMemoryPressureSignal.TotalPrivateMemoryFootprintVisibleOrHigherPriorityRenderersAfter" |
| units="MB" expires_after="2023-10-01"> |
| <owner>tasak@google.com</owner> |
| <owner>chrome-memory-tok@google.com</owner> |
| <summary> |
| The total private memory footprint excluding lower priority renderers' 10 |
| seconds after a user-level memory pressure signal is generated. Recorded on |
| Android. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Memory.Experimental.UserLevelMemoryPressureSignal.TotalPrivateMemoryFootprintVisibleOrHigherPriorityRenderersBefore" |
| units="MB" expires_after="2023-10-01"> |
| <owner>tasak@google.com</owner> |
| <owner>chrome-memory-tok@google.com</owner> |
| <summary> |
| The total private memory footprint excluding lower priority renderers' right |
| before a user-level memory pressure signal is generated. Recorded on |
| Android. |
| |
| This memory footprint metric cannot be compared across platforms because |
| each platform relies on platform-level APIs for accounting. As such, though |
| this attempts to measure private memory footprint as best as possible, it |
| does not measure the same thing on each platform. We have not found a good |
| way to compare any system level memory metric across platforms due to the |
| different nature of memory management on each platform. |
| </summary> |
| </histogram> |
| |
| <histogram base="true" name="Memory.Experimental.Utility2" units="MB" |
| expires_after="2024-01-10"> |
| <!-- Name completed by histogram_suffixes name="ProcessMemoryAllocator2" --> |
| |
| <owner>erikchen@chromium.org</owner> |
| <owner>ssid@chromium.org</owner> |
| <owner>lizeb@chromium.org</owner> |
| <summary> |
| The utility process's memory usage reported by the memory instrumentation |
| service in MB. |
| |
| Recorded at Poisson sampled time intervals with a mean of 5 minutes on |
| Android and 30 minutes on other platforms. |
| </summary> |
| </histogram> |
| |
| <histogram base="true" name="Memory.Experimental.Utility2.Custom" units="bytes" |
| expires_after="2024-01-10"> |
| <!-- Name completed by histogram_suffixes name="ProcessMemoryAllocatorCustom2" --> |
| |
| <owner>sashamcintosh@chromium.org</owner> |
| <owner>chromeos-gfx@chromium.org</owner> |
| <owner>erikchen@chromium.org</owner> |
| <owner>ssid@chromium.org</owner> |
| <owner>lizeb@chromium.org</owner> |
| <summary> |
| The utility process's memory usage reported by the memory instrumentation |
| service in bytes. |
| |
| Recorded at Poisson sampled time intervals with a mean of 5 minutes on |
| Android and 30 minutes on other platforms. |
| </summary> |
| </histogram> |
| |
| <histogram base="true" name="Memory.Experimental.Utility2.Small" units="KB" |
| expires_after="2024-01-10"> |
| <!-- Name completed by histogram_suffixes name="ProcessMemoryAllocatorSmall2" --> |
| |
| <owner>erikchen@chromium.org</owner> |
| <owner>ssid@chromium.org</owner> |
| <owner>lizeb@chromium.org</owner> |
| <summary> |
| The utility process's memory usage reported by the memory instrumentation |
| service in KB. |
| |
| Recorded at Poisson sampled time intervals with a mean of 5 minutes on |
| Android and 30 minutes on other platforms. |
| </summary> |
| </histogram> |
| |
| <histogram base="true" name="Memory.Experimental.Utility2.Tiny" units="bytes" |
| expires_after="2024-01-10"> |
| <!-- Name completed by histogram_suffixes name="ProcessMemoryAllocatorTiny2" --> |
| |
| <owner>sashamcintosh@chromium.org</owner> |
| <owner>chromeos-gfx@chromium.org</owner> |
| <owner>erikchen@chromium.org</owner> |
| <owner>ssid@chromium.org</owner> |
| <owner>lizeb@chromium.org</owner> |
| <summary> |
| The utility process's memory usage reported by the memory instrumentation |
| service in bytes. |
| |
| Recorded at Poisson sampled time intervals with a mean of 5 minutes on |
| Android and 30 minutes on other platforms. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.Extension.PrivateMemoryFootprint" units="MB" |
| expires_after="2023-09-17"> |
| <owner>erikchen@chromium.org</owner> |
| <owner>ssid@chromium.org</owner> |
| <summary> |
| A rough estimate of the private memory footprint of the extension process. |
| |
| Recorded at Poisson sampled time intervals with a mean of 5 minutes on |
| Android and 30 minutes on other platforms. |
| |
| This memory footprint metric cannot be compared across platforms because |
| each platform relies on platform-level APIs for accounting. As such, though |
| this attempts to measure private memory footprint as best as possible, it |
| does not measure the same thing on each platform. We have not found a good |
| way to compare any system level memory metric across platforms due to the |
| different nature of memory management on each platform. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.Extension.ResidentSet" units="MiB" |
| expires_after="never"> |
| <!-- expires-never: Generic system health metric used to diagnose various performance issues. --> |
| |
| <owner>fdoray@chromium.org</owner> |
| <summary> |
| The size of the resident memory in an extension process. This is influenced |
| by factors we control (e.g. memory that is not accessed can be swapped) and |
| factors we don't control (e.g. an unrelated process using a lot of memory |
| can force memory in our process to be swapped). Recorded on |
| Windows/Linux/ChromeOS. |
| |
| Recorded at Poisson sampled time intervals with a mean of 5 minutes on |
| Android and 30 minutes on other platforms. |
| |
| This resident memory metric cannot be compared across platforms because each |
| platform relies on platform-level APIs for accounting. As such, though this |
| attempts to measure private memory footprint as best as possible, it does |
| not measure the same thing on each platform. We have not found a good way to |
| compare any system level memory metric across platforms due to the different |
| nature of memory management on each platform. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.Extension.SharedMemoryFootprint" units="MB" |
| expires_after="M77"> |
| <owner>erikchen@chromium.org</owner> |
| <owner>ssid@chromium.org</owner> |
| <summary> |
| A rough estimate of the shared memory footprint of the extension process. |
| |
| Recorded at Poisson sampled time intervals with a mean of 5 minutes on |
| Android and 30 minutes on other platforms. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.GlyphPagesPerLoad" units="units" expires_after="M85"> |
| <owner>hajimehoshi@chromium.org</owner> |
| <owner>kenjibaheux@google.com</owner> |
| <owner>kouhei@chromium.org</owner> |
| <summary> |
| The number of glyph pages present in the renderer when it commits a load. |
| Since this is per-sub-process, you can get the average number of glyph pages |
| in the system by multiplying this number with the average number of |
| renderers. Note that this typically won't count the glyph pages added as a |
| result of the load that just committed, since layout will happen after the |
| commit. There are 512 bytes per glyph page, but this number also very |
| closely approximates the number of glyph width map pages in the same |
| renderer. The only difference is that if you have font fallback, it will |
| make a new glyph page and no width page, but in most common cases there is |
| no fallback). Width pages are 1K each (256 floats), so you could think of |
| this value as being the number of "1.5K units related to glyphs per |
| renderer per page load". |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.GPU.PeakMemoryAllocationSource2.{Usage}.{Source}" |
| units="MB" expires_after="2024-04-30"> |
| <owner>jonross@chromium.org</owner> |
| <owner>graphics-dev@chromium.org</owner> |
| <summary> |
| The maximum amount of memory of the GPU process allocated by {Source} during |
| the following user interaction: {Usage}. |
| |
| See Memory.GPU.PeakMemoryUsage2. |
| </summary> |
| <token key="Usage" variants="GpuPeakMemoryUsage"/> |
| <token key="Source"> |
| <variant name="CommandBuffer" summary="GPU command buffer"/> |
| <variant name="SharedContextState" summary="Shared Context State"/> |
| <variant name="SharedImageStub" summary="Shared Image Stub"/> |
| <variant name="Skia" summary="Skia"/> |
| <variant name="Unknown" summary="an unknown source"/> |
| </token> |
| </histogram> |
| |
| <histogram name="Memory.GPU.PeakMemoryUsage2.{Usage}" units="MB" |
| expires_after="2024-04-30"> |
| <owner>jonross@chromium.org</owner> |
| <owner>graphics-dev@chromium.org</owner> |
| <summary> |
| The maximum amount of memory of the GPU process during the following user |
| interaction: {Usage}. |
| </summary> |
| <token key="Usage" variants="GpuPeakMemoryUsage"/> |
| </histogram> |
| |
| <histogram name="Memory.Gpu.PrivateMemoryFootprint" units="MB" |
| expires_after="never"> |
| <!-- expires-never: guiding metric (internal: go/chrome-browser-guiding-metrics) --> |
| |
| <owner>erikchen@chromium.org</owner> |
| <owner>ssid@chromium.org</owner> |
| <owner>chrome-analysis-team@google.com</owner> |
| <improvement direction="LOWER_IS_BETTER"/> |
| <summary> |
| A rough estimate of the private memory footprint of the gpu process. |
| |
| Recorded at Poisson sampled time intervals with a mean of 5 minutes on |
| Android and 30 minutes on other platforms. |
| |
| This memory footprint metric cannot be compared across platforms because |
| each platform relies on platform-level APIs for accounting. As such, though |
| this attempts to measure private memory footprint as best as possible, it |
| does not measure the same thing on each platform. We have not found a good |
| way to compare any system level memory metric across platforms due to the |
| different nature of memory management on each platform. |
| |
| This histogram is of special interest to the chrome-analysis-team@. Do not |
| change its semantics or retire it without talking to them first. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.Gpu.PrivateSwapFootprint" units="MB" |
| expires_after="M77"> |
| <owner>erikchen@chromium.org</owner> |
| <owner>ssid@chromium.org</owner> |
| <summary> |
| An amount of private memory of the GPU process placed in swap (VmSwap). |
| Available on Android, Linux and ChromeOS. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.Gpu.ResidentSet" units="MiB" expires_after="never"> |
| <!-- expires-never: Generic system health metric used to diagnose various performance issues. --> |
| |
| <owner>fdoray@chromium.org</owner> |
| <summary> |
| The size of the resident memory in the GPU process. This is influenced by |
| factors we control (e.g. memory that is not accessed can be swapped) and |
| factors we don't control (e.g. an unrelated process using a lot of memory |
| can force memory in our process to be swapped). Recorded on |
| Windows/Linux/ChromeOS/Android. |
| |
| Recorded at Poisson sampled time intervals with a mean of 5 minutes on |
| Android and 30 minutes on other platforms. |
| |
| This resident memory metric cannot be compared across platforms because each |
| platform relies on platform-level APIs for accounting. As such, though this |
| attempts to measure private memory footprint as best as possible, it does |
| not measure the same thing on each platform. We have not found a good way to |
| compare any system level memory metric across platforms due to the different |
| nature of memory management on each platform. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.Gpu.SharedMemoryFootprint" units="MB" |
| expires_after="2023-09-17"> |
| <owner>erikchen@chromium.org</owner> |
| <owner>ssid@chromium.org</owner> |
| <summary> |
| A rough estimate of the shared memory footprint of the gpu process. |
| |
| Recorded at Poisson sampled time intervals with a mean of 5 minutes on |
| Android and 30 minutes on other platforms. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.Graphics" units="MB" expires_after="never"> |
| <!-- expires-never: "heartbeat" metric (internal: used for chromeos memory) --> |
| |
| <owner>hajimehoshi@chromium.org</owner> |
| <owner>erikchen@chromium.org</owner> |
| <owner>kenjibaheux@google.com</owner> |
| <owner>kouhei@chromium.org</owner> |
| <owner>bgeffon@chromium.org</owner> |
| <summary> |
| System-wide graphics driver memory consumption. Recorded on Chrome OS for |
| platforms where it is exposed by the kernel (for example, Intel i915 and |
| Exynos Mali). Recorded once per UMA ping. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.LowMemoryKiller.Count" units="low-memory kills" |
| expires_after="2023-09-17"> |
| <owner>khmel@google.com</owner> |
| <owner>vovoy@google.com</owner> |
| <summary> |
| Cumulative count of low memory kills in one user session. This is recorded |
| by MemoryKillsMonitor every time a low memory kill occurs. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.LowMemoryKiller.FirstKillLatency" units="ms" |
| expires_after="2023-09-17"> |
| <owner>khmel@google.com</owner> |
| <owner>vovoy@google.com</owner> |
| <summary> |
| When Chrome OS is in low memory state, TabManager kills some victims to free |
| memory. This value is the elapsed time between TabManager receiving the low |
| memory notification and the first kill. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.LowMemoryKiller.FreedSize" units="KB" |
| expires_after="2023-08-27"> |
| <owner>khmel@google.com</owner> |
| <owner>vovoy@google.com</owner> |
| <summary>The memory size freed by each low memory kill event.</summary> |
| </histogram> |
| |
| <histogram name="Memory.NativeLibrary.MappedAndResidentMemoryFootprint3" |
| units="KB" expires_after="2023-10-01"> |
| <owner>lizeb@chromium.org</owner> |
| <owner>pasko@chromium.org</owner> |
| <summary> |
| The size of the resident memory for the native library code across all |
| processes. This metric is computed by parsing proc/self/pagemap and counting |
| native library pages that are mapped and present in RAM for at least one |
| Chrome process. |
| |
| Recorded at Poisson sampled time intervals with a mean of 5 minutes on |
| Android and 30 minutes on other platforms. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Memory.NativeLibrary.MappedAndResidentMemoryFootprintCollectionStatus" |
| enum="MappedAndResidentPagesDumpState" expires_after="2023-10-01"> |
| <owner>lizeb@chromium.org</owner> |
| <owner>pasko@chromium.org</owner> |
| <summary> |
| Result of an attempt to read /proc/self/pagemap when determining the amount |
| of resident memory mapped by the current process. Reading the file is |
| performed as part of computing the |
| Memory.NativeLibrary.MappedAndResidentMemoryFootprint2 histogram. Available |
| only on Android. |
| |
| Recorded at Poisson sampled time intervals with a mean of 5 minutes on |
| Android and 30 minutes on other platforms. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.NativeLibrary.NotResidentOrderedCodeMemoryFootprint" |
| units="KB" expires_after="2023-10-01"> |
| <owner>lizeb@chromium.org</owner> |
| <owner>pasko@chromium.org</owner> |
| <summary> |
| The size of the native library code which was ordered, yet is not resident |
| in memory, across all processes. This metric is computed by parsing |
| proc/self/pagemap and counting native library pages that are mapped and |
| present in RAM for at least one Chrome process. Available only on Android. |
| |
| Recorded at Poisson sampled time intervals with a mean of 5 minutes on |
| Android and 30 minutes on other platforms. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.NativeLibrary.ResidentNotOrderedCodeMemoryFootprint" |
| units="KB" expires_after="2023-10-01"> |
| <owner>lizeb@chromium.org</owner> |
| <owner>pasko@chromium.org</owner> |
| <summary> |
| The size of the native library code which is outside the ordered section, |
| yet is resident in memory, across all processes. This metric is computed by |
| parsing proc/self/pagemap and counting native library pages that are mapped |
| and present in RAM for at least one Chrome process. Available only on |
| Android. |
| |
| Recorded at Poisson sampled time intervals with a mean of 5 minutes on |
| Android and 30 minutes on other platforms. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.NetworkService.PrivateMemoryFootprint" units="MiB" |
| expires_after="2023-10-22"> |
| <owner>mmenke@chromium.org</owner> |
| <owner>morlovich@chromium.org</owner> |
| <owner>erikchen@chromium.org</owner> |
| <owner>ssid@chromium.org</owner> |
| <summary> |
| A rough estimate of the private memory footprint of the network service |
| process. |
| |
| Recorded at Poisson sampled time intervals with a mean of 5 minutes on |
| Android and 30 minutes on other platforms. |
| |
| This memory footprint metric cannot be compared across platforms because |
| each platform relies on platform-level APIs for accounting. As such, though |
| this attempts to measure private memory footprint as best as possible, it |
| does not measure the same thing on each platform. We have not found a good |
| way to compare any system level memory metric across platforms due to the |
| different nature of memory management on each platform. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.NetworkService.PrivateSwapFootprint" units="MiB" |
| expires_after="2023-01-10"> |
| <owner>mmenke@chromium.org</owner> |
| <owner>morlovich@chromium.org</owner> |
| <owner>erikchen@chromium.org</owner> |
| <owner>ssid@chromium.org</owner> |
| <summary> |
| An amount of private memory of the network service process placed in swap |
| (VmSwap). Available on Android, Linux and ChromeOS. |
| |
| Recorded at Poisson sampled time intervals with a mean of 5 minutes on |
| Android and 30 minutes on other platforms. |
| |
| Note: Histogram data may be missing for mid-2020 due to expiry. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.NetworkService.ResidentSet" units="MiB" |
| expires_after="2020-05-06"> |
| <owner>mmenke@chromium.org</owner> |
| <owner>morlovich@chromium.org</owner> |
| <owner>erikchen@chromium.org</owner> |
| <owner>ssid@chromium.org</owner> |
| <summary> |
| The size of the resident memory in a network service process. This is |
| influenced by factors we control (e.g. memory that is not accessed can be |
| swapped) and factors we don't control (e.g. an unrelated process using a lot |
| of memory can force memory in our process to be swapped). Recorded on |
| Windows/Linux/ChromeOS/Android. |
| |
| Recorded at Poisson sampled time intervals with a mean of 5 minutes on |
| Android and 30 minutes on other platforms. |
| |
| This resident memory metric cannot be compared across platforms because each |
| platform relies on platform-level APIs for accounting. As such, though this |
| attempts to measure private memory footprint as best as possible, it does |
| not measure the same thing on each platform. We have not found a good way to |
| compare any system level memory metric across platforms due to the different |
| nature of memory management on each platform. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.NetworkService.SharedMemoryFootprint" units="MiB" |
| expires_after="2023-09-17"> |
| <owner>mmenke@chromium.org</owner> |
| <owner>morlovich@chromium.org</owner> |
| <owner>erikchen@chromium.org</owner> |
| <owner>ssid@chromium.org</owner> |
| <summary> |
| A rough estimate of the shared memory footprint of the network service |
| process. |
| |
| Recorded at Poisson sampled time intervals with a mean of 5 minutes on |
| Android and 30 minutes on other platforms. |
| |
| Note: Histogram data may be missing for mid-2020 due to expiry. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.OOMKill.Contents.MemAllocatedMB" units="MB" |
| expires_after="2021-11-07"> |
| <owner>oshima@chromium.org</owner> |
| <owner>alemate@chromium.org</owner> |
| <summary> |
| System-wide memory allocation right after a renderer was killed by |
| oom-killer, roughly equivalent to the sum of memory allocated with malloc() |
| in userspace plus graphics driver memory. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.OOMKill.Contents.MemAvailableMB" units="MB" |
| expires_after="2022-04-24"> |
| <owner>oshima@chromium.org</owner> |
| <owner>alemate@chromium.org</owner> |
| <summary> |
| System-wide file-backed memory plus free memory right after a renderer was |
| killed by oom-killer, which should be smaller than or close to what the |
| kernel uses to trigger low-memory notifications for tab discards. If this is |
| higher than the kernel's threshold for tab discards, renderers may be killed |
| due to reasons other than out-of-memory. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.OOMKill.Contents.MemGraphicsMB" units="MB" |
| expires_after="2022-05-01"> |
| <owner>oshima@chromium.org</owner> |
| <owner>alemate@chromium.org</owner> |
| <summary> |
| Graphics driver (GEM object) memory right after a renderer was killed by |
| oom-killer. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.OOMKill.Contents.MemShmemMB" units="MB" |
| expires_after="2021-02-25"> |
| <owner>oshima@chromium.org</owner> |
| <owner>alemate@chromium.org</owner> |
| <summary> |
| System-wide shared memory right after a renderer was killed by oom-killer. |
| Used primarily for shared buffers in the graphics system. Tracked because |
| it's a historical source of leaks on Chrome OS. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.OOMKill.Extensions.MemAllocatedMB" units="MB" |
| expires_after="2021-11-07"> |
| <owner>oshima@chromium.org</owner> |
| <owner>alemate@chromium.org</owner> |
| <summary> |
| System-wide memory allocation right after a renderer was killed by |
| oom-killer, roughly equivalent to the sum of memory allocated with malloc() |
| in userspace plus graphics driver memory. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.OOMKill.Extensions.MemAvailableMB" units="MB" |
| expires_after="2021-02-25"> |
| <owner>oshima@chromium.org</owner> |
| <owner>alemate@chromium.org</owner> |
| <summary> |
| System-wide file-backed memory plus free memory right after a renderer was |
| killed by oom-killer, which should be smaller than or close to what the |
| kernel uses to trigger low-memory notifications for tab discards. If this is |
| higher than the kernel's threshold for tab discards, renderers may be killed |
| due to reasons other than out-of-memory. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.OOMKill.Extensions.MemGraphicsMB" units="MB" |
| expires_after="2021-11-07"> |
| <owner>oshima@chromium.org</owner> |
| <owner>alemate@chromium.org</owner> |
| <summary> |
| Graphics driver (GEM object) memory right after a renderer was killed by |
| oom-killer. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.OOMKill.Extensions.MemShmemMB" units="MB" |
| expires_after="2021-08-01"> |
| <owner>oshima@chromium.org</owner> |
| <owner>alemate@chromium.org</owner> |
| <summary> |
| System-wide shared memory right after a renderer was killed by oom-killer. |
| Used primarily for shared buffers in the graphics system. Tracked because |
| it's a historical source of leaks on Chrome OS. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.OOMKills.Count" units="kills" |
| expires_after="2023-10-22"> |
| <owner>vovoy@google.com</owner> |
| <owner>wvk@google.com</owner> |
| <summary>Cumulative count of OOM kills in one user session.</summary> |
| </histogram> |
| |
| <histogram name="Memory.OOMKills.Daily" units="kills" |
| expires_after="2023-10-08"> |
| <owner>vovoy@google.com</owner> |
| <owner>src/chromeos/ash/components/memory/OWNERS</owner> |
| <summary> |
| The number of OOM kills since last emit. The emit interval is at least 24 |
| hours, see metrics::DailyEvent for more details. |
| </summary> |
| </histogram> |
| |
| <histogram base="true" name="Memory.OpenFDs" units="files" expires_after="M85"> |
| <!-- Name completed by histogram_suffixes name="MemoryFDsBroswerGpuAndRendererProcess" and name="MemoryFDsAllProcesses" --> |
| |
| <owner>dcastagna@chromium.org</owner> |
| <owner>ssid@chromium.org</owner> |
| <summary> |
| The total number of open file descriptors opened per process. Recorded once |
| per UMA ping. |
| </summary> |
| </histogram> |
| |
| <histogram base="true" name="Memory.OpenFDsSoftLimit" units="files" |
| expires_after="M85"> |
| <!-- Name completed by histogram_suffixes name="MemoryFDsBroswerGpuAndRendererProcess" --> |
| |
| <owner>dcastagna@chromium.org</owner> |
| <owner>ssid@chromium.org</owner> |
| <summary> |
| The limit of open file descriptors that can be opened per process. Recorded |
| once per UMA ping. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.ParkableImage.DiskIsUsable.5min" enum="BooleanYesNo" |
| expires_after="2022-12-25"> |
| <owner>thiabaud@google.com</owner> |
| <owner>lizeb@chromium.org</owner> |
| <summary> |
| Whether the disk allocator is usable. Recorded at the same time as |
| "Memory.ParkableImage.*.5min". The disk may not be usable for |
| several reasons, including the profile being an Incognito one, permssions |
| error, or disk write error. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.ParkableImage.OnDiskSize.5min" units="KiB" |
| expires_after="2023-02-26"> |
| <owner>thiabaud@google.com</owner> |
| <owner>lizeb@chromium.org</owner> |
| <summary> |
| Size of encoded image data of ParkableImages that are on disk. Collected |
| once, 5 minutes after the first ParkableImage is created. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.ParkableImage.Read.Latency" units="microseconds" |
| expires_after="2023-07-02"> |
| <owner>thiabaud@google.com</owner> |
| <owner>lizeb@chromium.org</owner> |
| <summary> |
| Recorded each time a ParkableImage is read from disk. Records the time taken |
| to read a ParkableImage from disk. Note: This metric drops reports on |
| clients with low-resolution clocks, which means these reports will be biased |
| against a portion of the population on Windows. See |
| Windows.HasHighResolutionTimeTicks for the affected sample. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.ParkableImage.Read.Size" units="KiB" |
| expires_after="2022-12-25"> |
| <owner>thiabaud@google.com</owner> |
| <owner>lizeb@chromium.org</owner> |
| <summary> |
| Recorded each time a ParkableImage is read from disk. Records the size of |
| the read, in KiB. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.ParkableImage.Read.Throughput" units="MiBps" |
| expires_after="2023-07-02"> |
| <owner>thiabaud@google.com</owner> |
| <owner>lizeb@chromium.org</owner> |
| <summary> |
| Recorded each time a ParkableImage is read from disk. Records the throughput |
| of reading the ParkableImage from disk, in MiB/s. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.ParkableImage.Read.TimeSinceFreeze" units="ms" |
| expires_after="2022-12-25"> |
| <owner>thiabaud@google.com</owner> |
| <owner>lizeb@chromium.org</owner> |
| <summary> |
| Recorded each time a ParkableImage is read from disk. Records the time since |
| the ParkableImage was frozen. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.ParkableImage.TotalReadTime.5min" units="ms" |
| expires_after="2023-07-02"> |
| <owner>thiabaud@google.com</owner> |
| <owner>lizeb@chromium.org</owner> |
| <summary> |
| Total time spent reading images from disk. Collected once, 5 minutes after |
| the first ParkableImage is created. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.ParkableImage.TotalSize.5min" units="KiB" |
| expires_after="2022-10-23"> |
| <owner>thiabaud@google.com</owner> |
| <owner>lizeb@chromium.org</owner> |
| <summary> |
| Total size of encoded image data of ParkableImages. Collected once, 5 |
| minutes after the first ParkableImage is created. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.ParkableImage.TotalWriteTime.5min" units="ms" |
| expires_after="2022-10-23"> |
| <owner>thiabaud@google.com</owner> |
| <owner>lizeb@chromium.org</owner> |
| <summary> |
| Total time spent writing images to disk. Collected once, 5 minutes after the |
| first ParkableImage is created. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.ParkableImage.UnparkedSize.5min" units="KiB" |
| expires_after="2023-07-02"> |
| <owner>thiabaud@google.com</owner> |
| <owner>lizeb@chromium.org</owner> |
| <summary> |
| Size of encoded image data of ParkableImages that are not written to disk. |
| Collected once, 5 minutes after the first ParkableImage is created. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.ParkableImage.Write.Latency" units="microseconds" |
| expires_after="2023-07-02"> |
| <owner>thiabaud@google.com</owner> |
| <owner>lizeb@chromium.org</owner> |
| <summary> |
| Recorded each time a ParkableImage is written to disk. Records the time |
| taken to write the ParkableImage to disk. Note: This metric drops reports on |
| clients with low-resolution clocks, which means these reports will be biased |
| against a portion of the population on Windows. See |
| Windows.HasHighResolutionTimeTicks for the affected sample. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.ParkableImage.Write.Size" units="KiB" |
| expires_after="2023-07-02"> |
| <owner>thiabaud@google.com</owner> |
| <owner>lizeb@chromium.org</owner> |
| <summary> |
| Recorded each time a ParkableImage is written to disk. Records the size of |
| the write, in KiB. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.ParkableImage.Write.Throughput" units="MiBps" |
| expires_after="2022-10-23"> |
| <owner>thiabaud@google.com</owner> |
| <owner>lizeb@chromium.org</owner> |
| <summary> |
| Recorded each time a ParkableImage is written to disk. Records the |
| throughput of writing the ParkableImage to disk, in MiB/s. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.ParkableString.CompressedSizeKb" units="KB" |
| expires_after="M87"> |
| <owner>lizeb@chromium.org</owner> |
| <summary> |
| Total size of compressed ParkableStrings, in KB. Recorded at the same time |
| as "Memory.ParkableString.TotalSizeKb". |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.ParkableString.Compression.Latency" |
| units="microseconds" expires_after="2023-09-03"> |
| <owner>lizeb@chromium.org</owner> |
| <owner>thiabaud@google.com</owner> |
| <summary> |
| Time to compress a ParkableString, in us. Note: This metric drops reports on |
| clients with low-resolution clocks, which means these reports will be biased |
| against a portion of the population on Windows. See |
| Windows.HasHighResolutionTimeTicks for the affected sample. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.ParkableString.Compression.SizeKb" units="KB" |
| expires_after="2023-08-06"> |
| <owner>lizeb@chromium.org</owner> |
| <owner>thiabaud@google.com</owner> |
| <summary> |
| Size of a compressed ParkableString, recorded at compression time. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.ParkableString.Compression.ThroughputMBps" units="MBps" |
| expires_after="2022-04-17"> |
| <owner>lizeb@chromium.org</owner> |
| <owner>thiabaud@google.com</owner> |
| <summary> |
| Size of a compressed ParkableString, recorded at compression time. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.ParkableString.CompressionRatio.5min" units="%" |
| expires_after="2023-07-02"> |
| <owner>lizeb@chromium.org</owner> |
| <owner>pasko@chromium.org</owner> |
| <summary> |
| Average compression ratio, 100 * compressed_size / initial_size, for all |
| compressed ParkableStrings. Recorded at the same time as |
| "Memory.ParkableString.TotalSizeKb.5min". |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.ParkableString.Decompression.Latency" |
| units="microseconds" expires_after="2023-07-02"> |
| <owner>lizeb@chromium.org</owner> |
| <owner>thiabaud@google.com</owner> |
| <summary> |
| Time to decompress a ParkableString, in us. Note: This metric drops reports |
| on clients with low-resolution clocks, which means these reports will be |
| biased against a portion of the population on Windows. See |
| Windows.HasHighResolutionTimeTicks for the affected sample. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.ParkableString.Decompression.SizeKb" units="KB" |
| expires_after="2022-04-17"> |
| <owner>lizeb@chromium.org</owner> |
| <owner>thiabaud@google.com</owner> |
| <summary> |
| Original size of a compressed ParkableString, recorded at decompression |
| time. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.ParkableString.Decompression.ThroughputMBps" |
| units="MBps" expires_after="2023-07-02"> |
| <owner>lizeb@chromium.org</owner> |
| <owner>thiabaud@google.com</owner> |
| <summary> |
| Original size of a compressed ParkableString, recorded at decompression |
| time. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.ParkableString.DiskIsUsable.5min" enum="BooleanYesNo" |
| expires_after="2022-04-17"> |
| <owner>lizeb@chromium.org</owner> |
| <owner>pasko@chromium.org</owner> |
| <summary> |
| Whether the disk allocator is usable. Recorded at the same time as |
| "Memory.ParkableString.TotalSizeKb.5min". The disk may not be |
| usable for several reasons, including the profile being an Incognito one, |
| permssions error, or disk write error. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.ParkableString.DiskReadTime.5min" units="ms" |
| expires_after="2023-08-06"> |
| <owner>lizeb@chromium.org</owner> |
| <owner>pasko@chromium.org</owner> |
| <summary> |
| Total main thread time used by ParkableStrings for reading over the first 5 |
| minutes of a renderer lifetime. Starting time is from the first |
| ParkableString being added. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.ParkableString.DiskWriteTime.5min" units="ms" |
| expires_after="2023-06-18"> |
| <owner>lizeb@chromium.org</owner> |
| <owner>pasko@chromium.org</owner> |
| <summary> |
| Total time used by ParkableStrings for writing to disk over the first 5 |
| minutes of a renderer lifetime. Starting time is from the first |
| ParkableString being added. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.ParkableString.MainThreadTime.5min" units="ms" |
| expires_after="2022-10-23"> |
| <owner>lizeb@chromium.org</owner> |
| <owner>pasko@chromium.org</owner> |
| <summary> |
| Total main thread time used by ParkableStrings over the first 5 minutes of a |
| renderer lifetime. Starting time is from the first ParkableString being |
| added. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.ParkableString.MemorySavingsKb.5min" units="KB" |
| expires_after="2022-08-21"> |
| <owner>lizeb@chromium.org</owner> |
| <owner>pasko@chromium.org</owner> |
| <summary> |
| Sum of memory saved by compression and disk discarding, in KB. Recorded at |
| the same time as "Memory.ParkableString.TotalSizeKb.5min", when |
| disk discarding is enabled. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.ParkableString.OnDiskFootprintKb.5min" units="KB" |
| expires_after="2022-04-17"> |
| <owner>lizeb@chromium.org</owner> |
| <owner>pasko@chromium.org</owner> |
| <summary> |
| Total disk footprint used by ParkableStrings including allocator waste, in |
| KB. Recorded once, 5 minutes after the first ParkableString is added to a |
| renderer, at the same time as |
| "Memory.ParkableString.MemorySavings.5min". |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.ParkableString.OnDiskSizeKb.5min" units="KB" |
| expires_after="2023-01-22"> |
| <owner>lizeb@chromium.org</owner> |
| <owner>pasko@chromium.org</owner> |
| <summary> |
| Total size of ParkableStrings discarded to disk, excluding allocator waste, |
| in KB. Recorded once, 5 minutes after the first ParkableString is added to a |
| renderer, at the same time as |
| "Memory.ParkableString.MemorySavings.5min". |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.ParkableString.ParkingThreadTime.5min" units="ms" |
| expires_after="2022-12-25"> |
| <owner>lizeb@chromium.org</owner> |
| <owner>pasko@chromium.org</owner> |
| <summary> |
| Total thread time used by ParkableStrings for parking over the first 5 |
| minutes of a renderer lifetime. Starting time is from the first |
| ParkableString being added. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.ParkableString.Read.Latency" units="microseconds" |
| expires_after="2023-02-26"> |
| <owner>lizeb@chromium.org</owner> |
| <owner>pasko@chromium.org</owner> |
| <summary> |
| Time to read a ParkableString from disk, in us. Note: This metric drops |
| reports on clients with low-resolution clocks, which means these reports |
| will be biased against a portion of the population on Windows. See |
| Windows.HasHighResolutionTimeTicks for the affected sample. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.ParkableString.Read.SinceLastDiskWrite" units="ms" |
| expires_after="2022-08-21"> |
| <owner>lizeb@chromium.org</owner> |
| <owner>pasko@chromium.org</owner> |
| <summary> |
| When reading a parked string from disk, time since it was last parked. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.ParkableString.Read.SizeKb" units="KB" |
| expires_after="2022-08-21"> |
| <owner>lizeb@chromium.org</owner> |
| <owner>pasko@chromium.org</owner> |
| <summary>Size read from disk for a ParkableString.</summary> |
| </histogram> |
| |
| <histogram name="Memory.ParkableString.Read.ThroughputMBps" units="MBps" |
| expires_after="2022-04-17"> |
| <owner>lizeb@chromium.org</owner> |
| <owner>pasko@chromium.org</owner> |
| <summary>Read throughput from disk for a ParkableString.</summary> |
| </histogram> |
| |
| <histogram name="Memory.ParkableString.SavingsKb" units="KB" |
| expires_after="M87"> |
| <owner>lizeb@chromium.org</owner> |
| <owner>pasko@chromium.org</owner> |
| <summary> |
| Sum of memory saved by compression, in KB. Recorded at the same time as |
| "Memory.ParkableString.TotalSizeKb". |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.ParkableString.SavingsKb.5min" units="KB" |
| expires_after="2022-10-23"> |
| <owner>lizeb@chromium.org</owner> |
| <owner>pasko@chromium.org</owner> |
| <summary> |
| Sum of memory saved by compression, in KB. Recorded at the same time as |
| "Memory.ParkableString.TotalSizeKb.5min". |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.ParkableString.Snappy.CompressedLargerThanOriginal" |
| enum="Boolean" expires_after="2022-03-14"> |
| <owner>peilinwang@google.com</owner> |
| <owner>lizeb@google.com</owner> |
| <summary> |
| Whether the compressed string is larger than the original string, if it were |
| compressed by snappy. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.ParkableString.TotalSizeKb.5min" units="KB" |
| expires_after="2023-08-06"> |
| <owner>lizeb@chromium.org</owner> |
| <owner>pasko@chromium.org</owner> |
| <summary> |
| Total size of ParkableStrings assuming no compression, in KB. Recorded once, |
| 5 minutes after the first ParkableString is added to a renderer, at the same |
| time as "Memory.ParkableString.MainThreadTime.5min". |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.ParkableString.Write.Latency" units="microseconds" |
| expires_after="2022-04-17"> |
| <owner>lizeb@chromium.org</owner> |
| <owner>pasko@chromium.org</owner> |
| <summary> |
| Time to write a ParkableString to disk, in us. Note: This metric drops |
| reports on clients with low-resolution clocks, which means these reports |
| will be biased against a portion of the population on Windows. See |
| Windows.HasHighResolutionTimeTicks for the affected sample. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.ParkableString.Write.SizeKb" units="KB" |
| expires_after="2022-04-17"> |
| <owner>lizeb@chromium.org</owner> |
| <owner>pasko@chromium.org</owner> |
| <summary>Size of an on-disk ParkableString, recorded at write time.</summary> |
| </histogram> |
| |
| <histogram name="Memory.ParkableString.Write.ThroughputMBps" units="MBps" |
| expires_after="2022-04-17"> |
| <owner>lizeb@chromium.org</owner> |
| <owner>pasko@chromium.org</owner> |
| <summary>Throughput of a ParkableString disk write.</summary> |
| </histogram> |
| |
| <histogram name="Memory.PartitionAlloc.MemoryReclaim" units="microseconds" |
| expires_after="2023-10-22"> |
| <owner>lizeb@chromium.org</owner> |
| <owner>bartekn@chromium.org</owner> |
| <summary> |
| Time it takes for PartitionAlloc's MemoryReclaimer to reclaim once. |
| Collected at each reclaim, for all process types. |
| |
| Note that clients without high-resolution clocks will report 0 for very |
| short times. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.PartitionAlloc.PeriodicPurge" units="microseconds" |
| expires_after="2023-08-27"> |
| <owner>lizeb@chromium.org</owner> |
| <owner>bartekn@chromium.org</owner> |
| <summary> |
| Time it takes for PartitionAlloc's periodic purge to run once. Collected at |
| each purge, for all process types. |
| |
| Note that clients without high-resolution clocks will report 0 for very |
| short times. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.PartitionAlloc.ThreadCache.BatchFillRate{ThreadType}" |
| units="%" expires_after="M102"> |
| <owner>lizeb@chromium.org</owner> |
| <owner>bartekn@chromium.org</owner> |
| <summary> |
| Fraction of PartitionAlloc's thread cache allocations requests that required |
| a batch fill, that is cache hits touching the central allocator. Recorded |
| during memory dumps, at the same time as the Memory.*.PartitionAlloc.* |
| histograms. Data is collected for {ThreadType}. |
| </summary> |
| <token key="ThreadType"> |
| <variant name="" summary="all threads"/> |
| <variant name=".MainThread" summary="the main thread only"/> |
| </token> |
| </histogram> |
| |
| <histogram name="Memory.PartitionAlloc.ThreadCache.HitRate{ThreadType}" |
| units="%" expires_after="M102"> |
| <owner>lizeb@chromium.org</owner> |
| <owner>bartekn@chromium.org</owner> |
| <summary> |
| Hit rate for PartitionAlloc's thread cache. Recorded during memory dumps, at |
| the same time as the Memory.*.PartitionAlloc.* histograms. Data is collected |
| for {ThreadType}. |
| </summary> |
| <token key="ThreadType"> |
| <variant name="" summary="all threads"/> |
| <variant name=".MainThread" summary="the main thread only"/> |
| </token> |
| </histogram> |
| |
| <histogram name="Memory.PressureLevel2" enum="MemoryPressureLevel" |
| expires_after="never"> |
| <!-- expires-never: Generic system health metric used to diagnose various performance issues. --> |
| |
| <owner>fdoray@chromium.org</owner> |
| <owner>catan-team@chromium.org</owner> |
| <summary> |
| The time spent in each memory pressure state, in seconds. Recorded when the |
| memory pressure state changes, at shutdown, or when it hasn't been recorded |
| in the last 5 minutes. |
| |
| The values from this histogram shouldn't be used directly, users of this |
| metric should look at the percentage of samples in each bucket to understand |
| the average time that Chrome spend in each pressure state. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.PressureLevelChanges" enum="MemoryPressureLevelChanges" |
| expires_after="M85"> |
| <owner>chrisha@chromium.org</owner> |
| <summary> |
| The number of pressure level state changes for each possible pairwise state |
| change. |
| </summary> |
| </histogram> |
| |
| <histogram base="true" name="Memory.PressureWindowDuration" units="ms" |
| expires_after="2023-09-03"> |
| <!-- Name completed by histogram_suffixes name="Memory.Pressure.TransitionType" --> |
| |
| <owner>fdoray@chromium.org</owner> |
| <owner>catan-team@chromium.org</owner> |
| <summary> |
| The time spent in each of the memory pressure state. Recorded when |
| transitioning from a memory pressure state to the other and when exiting |
| memory pressure. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.ProcessCount" units="processes" |
| expires_after="2023-09-17"> |
| <owner>creis@chromium.org</owner> |
| <owner>nasko@chromium.org</owner> |
| <summary> |
| The count of all active processes. |
| |
| Recorded at Poisson sampled time intervals with a mean of 5 minutes on |
| Android and 30 minutes on other platforms. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.Renderer.BlinkCachedMetadataGetResult" |
| enum="CachedMetadataHandlerState" expires_after="M87"> |
| <owner>pasko@chromium.org</owner> |
| <owner>leszeks@chromium.org</owner> |
| <summary> |
| The state of CachedMetadata on every attempt to use it for a script |
| resource. Used for experiment in http://crbug.com/1045052. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.Renderer.EstimatedDroppableEncodedSize" units="KB" |
| expires_after="M77"> |
| <owner>hajimehoshi@chromium.org</owner> |
| <summary> |
| The esitimated memory size which would be reduced when reusing disk cache is |
| implemented. If it is 100% sure that the encoded data is in disk cache, the |
| same data in memory can be dropped to reduce memory usage. This is rencorded |
| when an ImageResource is pruned. See crbug/664437. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.Renderer.PrivateMemoryFootprint" units="MB" |
| expires_after="never"> |
| <!-- expires-never: guiding metric (internal: go/chrome-browser-guiding-metrics) --> |
| |
| <owner>erikchen@chromium.org</owner> |
| <owner>ssid@chromium.org</owner> |
| <owner>speed-metrics-dev@chromium.org</owner> |
| <owner>chrome-analysis-team@google.com</owner> |
| <improvement direction="LOWER_IS_BETTER"/> |
| <summary> |
| A rough estimate of the private memory footprint of the renderer process. |
| |
| Recorded at Poisson sampled time intervals with a mean of 5 minutes on |
| Android and 30 minutes on other platforms. |
| |
| This memory footprint metric cannot be compared across platforms because |
| each platform relies on platform-level APIs for accounting. As such, though |
| this attempts to measure private memory footprint as best as possible, it |
| does not measure the same thing on each platform. We have not found a good |
| way to compare any system level memory metric across platforms due to the |
| different nature of memory management on each platform. |
| |
| Do not modify this metric in any way without contacting |
| speed-metrics-dev@chromium.org AND chrome-analysis-team@google.com. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.Renderer.ResidentSet" units="MiB" expires_after="never"> |
| <!-- expires-never: Generic system health metric used to diagnose various performance issues. --> |
| |
| <owner>fdoray@chromium.org</owner> |
| <summary> |
| The size of the resident memory in a renderer process. This is influenced by |
| factors we control (e.g. memory that is not accessed can be swapped) and |
| factors we don't control (e.g. an unrelated process using a lot of memory |
| can force memory in our process to be swapped). Recorded on |
| Windows/Linux/ChromeOS/Android. |
| |
| Recorded at Poisson sampled time intervals with a mean of 5 minutes on |
| Android and 30 minutes on other platforms. |
| |
| This resident memory metric cannot be compared across platforms because each |
| platform relies on platform-level APIs for accounting. As such, though this |
| attempts to measure private memory footprint as best as possible, it does |
| not measure the same thing on each platform. We have not found a good way to |
| compare any system level memory metric across platforms due to the different |
| nature of memory management on each platform. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.Renderer.SharedMemoryFootprint" units="MB" |
| expires_after="2023-09-17"> |
| <owner>erikchen@chromium.org</owner> |
| <owner>ssid@chromium.org</owner> |
| <summary> |
| A rough estimate of the shared memory footprint of the renderer process. |
| |
| Recorded at Poisson sampled time intervals with a mean of 5 minutes on |
| Android and 30 minutes on other platforms. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.RendererProcessCount" units="processes" |
| expires_after="2023-10-22"> |
| <owner>creis@chromium.org</owner> |
| <owner>nasko@chromium.org</owner> |
| <summary> |
| The count of active renderer processes. Excludes renderers hosting |
| chrome-extension:// and/or chrome:// URLs. |
| |
| Recorded at Poisson sampled time intervals with a mean of 5 minutes on |
| Android and 30 minutes on other platforms. |
| |
| Computed based on OS data. |
| |
| WARNINGS: Not reliable on Android, see https://crbug.com/875400. Ignores |
| processes that do not host a widget, see https://crbug.com/949977#c36. |
| Consider using Memory.RenderProcessHost.Count.* instead. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.RenderProcessHost.Count.All" units="processes" |
| expires_after="2023-09-17"> |
| <owner>alexmos@chromium.org</owner> |
| <owner>creis@chromium.org</owner> |
| <owner>lukasza@chromium.org</owner> |
| <owner>nasko@chromium.org</owner> |
| <summary> |
| The count of all renderer processes. Covers all renderer processes, |
| including ones hosting web content (i.e. http(s):// and/or file://), |
| extensions (i.e. chrome-extension://) and WebUI (i.e. chrome://). |
| |
| Recorded at Poisson sampled time intervals with a mean of 5 minutes on |
| Android and 30 minutes on other platforms. |
| |
| Computed based on count of RenderProcessHost objects, even if 1) they have |
| not been launched yet (e.g. during session restore) or 2) they are dead |
| (e.g. killed by the browser process or the OS). |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.RenderProcessHost.Count.InitializedAndNotDead" |
| units="processes" expires_after="2023-09-17"> |
| <owner>alexmos@chromium.org</owner> |
| <owner>creis@chromium.org</owner> |
| <owner>lukasza@chromium.org</owner> |
| <owner>nasko@chromium.org</owner> |
| <summary> |
| The count of active renderer processes. Recorded once per UMA ping. Covers |
| all renderer processes, including ones hosting web content (i.e. http(s):// |
| and/or file://), extensions (i.e. chrome-extension://) and WebUI (i.e. |
| chrome://). |
| |
| Recorded at Poisson sampled time intervals with a mean of 5 minutes on |
| Android and 30 minutes on other platforms. |
| |
| Computed based on count of RenderProcessHost objects that are |
| IsInitializedAndNotDead (i.e. have been launched and not terminated yet). |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.RenderProcessHost.Count.OriginAgentClusterOverhead" |
| units="processes" expires_after="2023-09-24"> |
| <owner>wjmaclean@chromium.org</owner> |
| <owner>alexmos@chromium.org</owner> |
| <owner>creis@chromium.org</owner> |
| <summary> |
| An estimate of additional processes created due to OriginAgentCluster (OAC). |
| Computed assuming no coalescing of multiple BrowsingInstances into a single |
| RenderProcess (including no subframe process reuse), and only when |
| cross-process origin isolation occurs due to the OAC header. Given this, the |
| count of additional SiteInstances corresponds exactly to the additional |
| number of RenderProcesses that OAC gives rise to, and therefore gives a |
| sense of how much process count overhead it creates. Recorded once per UMA |
| ping. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.RenderProcessHost.Count.SandboxedIframeOverhead" |
| units="processes" expires_after="2023-07-09"> |
| <owner>wjmaclean@chromium.org</owner> |
| <owner>alexmos@chromium.org</owner> |
| <owner>creis@chromium.org</owner> |
| <summary> |
| The number of renderer processes that represent sandboxed iframes, computed |
| by counting the number of RenderProcessHosts allocated to them. This will be |
| zero when SiteIsolationPolicy::AreIsolatedSandboxedIframesEnabled() is |
| false. Recorded once per UMA ping. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.RenderProcessHost.Percent.OriginAgentClusterOverhead" |
| units="%" expires_after="2023-10-22"> |
| <owner>wjmaclean@chromium.org</owner> |
| <owner>alexmos@chromium.org</owner> |
| <owner>creis@chromium.org</owner> |
| <summary> |
| The percentage of the total renderer process count that is due to the |
| OriginAgentCluster (OAC) header, based on the overhead estimate from |
| Memory.RenderProcessHost.Count.OriginAgentClusterProcesses. That value is |
| computed assuming no coalescing of multiple BrowsingInstances into a single |
| RenderProcess (including no subframe process reuse), and only when |
| cross-process origin isolation occurs due to the OAC header. Given this, the |
| percentage of total SiteInstances due to the OAC header corresponds exactly |
| to the percentage of RenderProcesses that OAC gives rise to. Recorded once |
| per UMA ping. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.ShmemDir.AmountOfFreeSpace" units="MB" |
| expires_after="M77"> |
| <owner>reveman@chromium.org</owner> |
| <summary> |
| The amount of free space in temporary directory for shared memory files. |
| Recorded each time a new discardable memory manager instance is created. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.StackSamplingProfiler.StackSampleSize" units="KB" |
| expires_after="M119"> |
| <obsolete> |
| Replaced by Memory.StackSamplingProfiler.StackSampleSize2. Min bucket size |
| was too large to be useful. Replaced April 2023. |
| </obsolete> |
| <owner>iby@chromium.org</owner> |
| <owner>cros-telemetry@google.com</owner> |
| <summary> |
| The size of the stack copied during a stack-sampled metric capture. One |
| sample per 199 stack captures. Only recorded by clients in the stack-sampled |
| metrics experiment. ChromeOS only. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.StackSamplingProfiler.StackSampleSize2" units="KB" |
| expires_after="M121"> |
| <owner>iby@chromium.org</owner> |
| <owner>cros-telemetry@google.com</owner> |
| <summary> |
| The size of the stack copied during a stack profiler capture. One sample per |
| 199 stack captures. Only recorded by clients in the stack-sampled metrics |
| experiment or recording a Chrometto trace. ChromeOS only. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.Swap.Worker" units="KB" expires_after="M85"> |
| <owner>hajimehoshi@chromium.org</owner> |
| <owner>kenjibaheux@google.com</owner> |
| <owner>kouhei@chromium.org</owner> |
| <summary> |
| The swap used by each worker process. Each worker process provides one |
| sample. Recorded once per process per UMA ping if the system has swapped. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.System.AvailableMB" units="MB" |
| expires_after="2023-09-03"> |
| <owner>fdoray@chromium.org</owner> |
| <owner>catan-team@chromium.org</owner> |
| <summary> |
| The amount of available physical memory on the system. Recorded every 5 |
| seconds on Windows only. |
| |
| From |
| https://learn.microsoft.com/en-us/windows/win32/api/sysinfoapi/ns-sysinfoapi-memorystatusex, |
| this is memory that can be reused without having to write its content to |
| disk first. It includes the standby, free and zero lists. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.System.MemAvailableMB" units="MB" |
| expires_after="2023-09-17"> |
| <owner>andreaorru@chromium.org</owner> |
| <owner>hidehiko@chromium.org</owner> |
| <summary> |
| System-wide estimate of memory available in ChromeOS, without swapping. |
| Calculated from MemFree, SReclaimable, the size of the file LRU lists, and |
| the low watermarks in each zone. The estimate takes into account that the |
| system needs some page cache to function well, and that not all reclaimable |
| slab will be reclaimable, due to items being in use. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.System.MemUsedMB" units="MB" expires_after="2023-09-17"> |
| <owner>andreaorru@chromium.org</owner> |
| <owner>hidehiko@chromium.org</owner> |
| <summary> |
| System-wide estimate of memory used in ChromeOS, calculated as the |
| difference between the amount of total and available memory. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.Total.HibernatedCanvas.OriginalSize" units="MB" |
| expires_after="2023-10-08"> |
| <owner>lizeb@chromium.org</owner> |
| <owner>chrome-memory@chromium.org</owner> |
| <summary> |
| Total size of all hibernated canvases across all renderers, prior to |
| compression. |
| |
| Recorded at Poisson sampled time intervals with a mean of 5 minutes on |
| Android. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.Total.HibernatedCanvas.Size" units="MB" |
| expires_after="2023-10-08"> |
| <owner>lizeb@chromium.org</owner> |
| <owner>chrome-memory@chromium.org</owner> |
| <summary> |
| Total size of all hibernated canvases across all renderers. |
| |
| Recorded at Poisson sampled time intervals with a mean of 5 minutes on |
| Android. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.Total.PrivateMemoryFootprint" units="MB" |
| expires_after="never"> |
| <!-- expires-never: guiding metric (internal: go/chrome-browser-guiding-metrics) --> |
| |
| <owner>erikchen@chromium.org</owner> |
| <owner>ssid@chromium.org</owner> |
| <owner>chrome-analysis-team@google.com</owner> |
| <improvement direction="LOWER_IS_BETTER"/> |
| <summary> |
| A rough estimate of the private memory footprint of all processes. |
| |
| Recorded at Poisson sampled time intervals with a mean of 5 minutes on |
| Android and 30 minutes on other platforms. |
| |
| This memory footprint metric cannot be compared across platforms because |
| each platform relies on platform-level APIs for accounting. As such, though |
| this attempts to measure private memory footprint as best as possible, it |
| does not measure the same thing on each platform. We have not found a good |
| way to compare any system level memory metric across platforms due to the |
| different nature of memory management on each platform. |
| |
| This histogram is of special interest to the chrome-analysis-team@. Do not |
| change its semantics or retire it without talking to them first. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.Total.PrivateMemoryFootprint.HasZombieProfile" |
| units="MB" expires_after="2022-08-21"> |
| <obsolete> |
| This histogram was used to measure the impact of the |
| DestroyProfileOnBrowserClose prior to its general launch. Now that it's 100% |
| launched, there is no active A/B test. |
| </obsolete> |
| <owner>nicolaso@chromium.org</owner> |
| <owner>cbe-eng@google.com</owner> |
| <summary> |
| Same as Memory.Total.PrivateMemoryFootprint, but only gets recorded after a |
| Profile becomes safe to delete during this browsing session. This lets us |
| measure the memory impact of destroying Profile objects and their |
| KeyedServices. |
| |
| This is not meant to be compared with Memory.Total.PrivateMemoryFootprint, |
| as it measures a different scenario. Instead, it should be compared with |
| itself in an A/B test with the DestroyProfileOnBrowserClose variation. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.Total.PrivateMemoryFootprintExcludingWaivedRenderers" |
| units="MB" expires_after="2023-10-08"> |
| <owner>ckitagawa@chromium.org</owner> |
| <owner>yfriedman@chromium.org</owner> |
| <summary> |
| A rough estimate of the private memory footprint of all processes on Android |
| ignoring Renderers with only Waived process bindings. |
| |
| Recorded at Poisson sampled time intervals with a mean of 5 minutes on |
| Android. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Memory.Total.PrivateMemoryFootprintVisibleOrHigherPriorityRenderers" |
| units="MB" expires_after="2023-10-08"> |
| <owner>ckitagawa@chromium.org</owner> |
| <owner>yfriedman@chromium.org</owner> |
| <summary> |
| A rough estimate of the private memory footprint of all visible or higher |
| importance processes on Android. This ignores Renderers with Waived or Not |
| Perceptible effective process bindings. |
| |
| Recorded at Poisson sampled time intervals with a mean of 5 minutes on |
| Android. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.Total.RendererMalloc" units="MB" |
| expires_after="2022-10-01"> |
| <owner>keishi@chromium.org</owner> |
| <owner>bartekn@chromium.org</owner> |
| <summary> |
| A rough estimate of memory allocated by malloc in all renderer processes. |
| |
| Recorded at Poisson sampled time intervals with a mean of 5 minutes on |
| Android and 30 minutes on other platforms. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.Total.RendererPrivateMemoryFootprint" units="MB" |
| expires_after="2023-10-22"> |
| <owner>tommckee@chromium.org</owner> |
| <summary> |
| A rough estimate of the private memory footprint of all renderer processes. |
| |
| Recorded at Poisson sampled time intervals with a mean of 5 minutes on |
| Android and 30 minutes on other platforms. |
| |
| This memory footprint metric cannot be compared across platforms because |
| each platform relies on platform-level APIs for accounting. As such, though |
| this attempts to measure private memory footprint as best as possible, it |
| does not measure the same thing on each platform. We have not found a good |
| way to compare any system level memory metric across platforms due to the |
| different nature of memory management on each platform. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.Total.RendererPrivateMemoryFootprintExcludingWaived" |
| units="MB" expires_after="2023-10-08"> |
| <owner>ckitagawa@chromium.org</owner> |
| <owner>yfriedman@chromium.org</owner> |
| <summary> |
| A rough estimate of the private memory footprint of all renderer processes |
| on Android ignoring Renderers with only Waived process bindings. |
| |
| Recorded at Poisson sampled time intervals with a mean of 5 minutes on |
| Android. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Memory.Total.RendererPrivateMemoryFootprintVisibleOrHigherPriority" |
| units="MB" expires_after="2023-10-08"> |
| <owner>ckitagawa@chromium.org</owner> |
| <owner>yfriedman@chromium.org</owner> |
| <summary> |
| A rough estimate of the private memory footprint of all renderer processes |
| with visible or higher importance on Android. This ignores Renderers with |
| Waived or Not Perceptible effective process bindings. |
| |
| Recorded at Poisson sampled time intervals with a mean of 5 minutes on |
| Android. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.Total.ResidentSet" units="MiB" expires_after="never"> |
| <!-- expires-never: Generic system health metric used to diagnose various performance issues. --> |
| |
| <owner>fdoray@chromium.org</owner> |
| <summary> |
| The size of the resident memory in all processes. This is influenced by |
| factors we control (e.g. memory that is not accessed can be swapped) and |
| factors we don't control (e.g. an unrelated process using a lot of memory |
| can force memory in our process to be swapped). Recorded on |
| Windows/Linux/ChromeOS/Android. |
| |
| Recorded at Poisson sampled time intervals with a mean of 5 minutes on |
| Android and 30 minutes on other platforms. |
| |
| Note: This metric is a simple sum of the resident set of all processes and |
| this cause some double accounting for the shared portion of the working set. |
| As a result this metric doesn't give an exact representation of how much |
| physical memory is used by Chrome. |
| |
| This resident memory metric cannot be compared across platforms because each |
| platform relies on platform-level APIs for accounting. As such, though this |
| attempts to measure private memory footprint as best as possible, it does |
| not measure the same thing on each platform. We have not found a good way to |
| compare any system level memory metric across platforms due to the different |
| nature of memory management on each platform. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.Total.SharedMemoryFootprint" units="MB" |
| expires_after="2023-09-17"> |
| <owner>erikchen@chromium.org</owner> |
| <owner>ssid@chromium.org</owner> |
| <summary> |
| A rough estimate of the shared memory footprint of all processes. |
| |
| Recorded at Poisson sampled time intervals with a mean of 5 minutes on |
| Android and 30 minutes on other platforms. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.Total.SystemCommitLimit" units="GB" |
| expires_after="2023-05-07"> |
| <owner>zmo@chromium.org</owner> |
| <owner>graphics-dev@chromium.org</owner> |
| <summary> |
| Records the system commit limit (number of total pages) x page size, |
| collected in the info collection GPU process, once per UMA ping. This is |
| Windows platform only. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.Total.TileMemory" units="MB" expires_after="2023-10-22"> |
| <owner>lizeb@chromium.org</owner> |
| <owner>chrome-gpu-memory@google.com</owner> |
| <summary> |
| Total (GPU) memory used for tiles, across all consumers. |
| |
| Recorded at Poisson sampled time intervals with a mean of 5 minutes on |
| Android and 30 minutes on other platforms. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.UX.Study.1" enum="UXStudy1Arm" |
| expires_after="2023-08-27"> |
| <owner>erikchen@chromium.org</owner> |
| <owner>meredithguo@google.com</owner> |
| <summary> |
| The arm that the user has opted into for UX Study 1. Logged once on startup. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.Worker" units="KB" expires_after="M85"> |
| <owner>hajimehoshi@chromium.org</owner> |
| <owner>kenjibaheux@google.com</owner> |
| <owner>kouhei@chromium.org</owner> |
| <summary> |
| The private working set used by each worker process. Each worker process |
| provides one sample. Recorded once per process per UMA ping. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.WorkingSetTrim.ArcProcessTrimCount" |
| units="ProcessesTrimmed" expires_after="M95"> |
| <owner>bgeffon@chromium.org</owner> |
| <owner>fdoray@chromium.org</owner> |
| <summary> |
| Cumulative number of ARC processes trimmed during a user's session, recorded |
| each time an ARC process is trimmed. Available on ChromeOS. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.WorkingSetTrim.ArcVmTrimCountPer30Mins" |
| units="VMsTrimmed" expires_after="2022-04-03"> |
| <owner>khmel@chromium.org</owner> |
| <owner>bgeffon@chromium.org</owner> |
| <summary> |
| Number of ARCVM's crosvm trimmed in the last 30 minutes. Recorded every 30 |
| minutes as long as ARCVM trimming is enabled. Available on ChromeOS. Also, |
| one last report is emitted for the <= 30 minute period since the last |
| report, at browser exit, and that the sample is scaled. For example, when 1 |
| trim was done since the last report and the browser exits 15 minutes after |
| the last report, 2 is recorded on the browser exit. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.WorkingSetTrim.ArcVmTrimFailCountPer30Mins" |
| units="failures" expires_after="2022-10-15"> |
| <owner>raging@google.com</owner> |
| <owner>khmel@chromium.org</owner> |
| <owner>bgeffon@chromium.org</owner> |
| <summary> |
| Tracks the number of failures that resulted from ArcVM trim operations. |
| Recorded every 30 minutes as long as ARCVM trimming is enabled. Available on |
| ChromeOS. Also, one last report is emitted for the <= 30 minute period |
| since the last report, at browser exit. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.WorkingSetTrim.ArcVmTrimPageLimit" units="pages" |
| expires_after="2022-10-15"> |
| <owner>raging@google.com</owner> |
| <owner>khmel@chromium.org</owner> |
| <owner>bgeffon@chromium.org</owner> |
| <summary> |
| Tracks the ongoing computed value used to limit the number of pages to trim |
| each time the ArcVM operation runs. Available on ChromeOS. If VM trimming is |
| enabled, this is recorded at the start of every trim operation, with the |
| page limit computed for each operation. Values tracked as zero mean |
| unlimited trimming. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.WorkingSetTrim.RendererTrimCount" |
| units="RenderersTrimmed" expires_after="M95"> |
| <owner>bgeffon@chromium.org</owner> |
| <owner>fdoray@chromium.org</owner> |
| <summary> |
| Cumulative number of renderers trimmed during a user's session, recorded |
| each time a renderer is trimmed. Available on Windows and ChromeOS. |
| </summary> |
| </histogram> |
| |
| <histogram name="Memory.{UtilityProcessType}.PrivateMemoryFootprint" units="MB" |
| expires_after="never"> |
| <!-- expires-never: useful diagnostic metric for changes in |
| Memory.Total.PrivateMemoryFootprint, which never expires. --> |
| |
| <owner>erikchen@chromium.org</owner> |
| <owner>ssid@chromium.org</owner> |
| <summary> |
| A rough estimate of the private memory footprint of the {UtilityProcessType} |
| process. |
| |
| Recorded at Poisson sampled time intervals with a mean of 5 minutes on |
| Android and 30 minutes on other platforms. |
| |
| This memory footprint metric cannot be compared across platforms because |
| each platform relies on platform-level APIs for accounting. As such, though |
| this attempts to measure private memory footprint as best as possible, it |
| does not measure the same thing on each platform. We have not found a good |
| way to compare any system level memory metric across platforms due to the |
| different nature of memory management on each platform. |
| </summary> |
| <token key="UtilityProcessType" variants="UtilityProcessType"/> |
| </histogram> |
| |
| <histogram name="Memory.{UtilityProcessType}.PrivateSwapFootprint" units="MB" |
| expires_after="2023-07-16"> |
| <owner>erikchen@chromium.org</owner> |
| <owner>ssid@chromium.org</owner> |
| <summary> |
| An amount of private memory of the {UtilityProcessType} process placed in |
| swap (VmSwap). Available on Android, Linux and ChromeOS. |
| |
| Recorded at Poisson sampled time intervals with a mean of 5 minutes on |
| Android and 30 minutes on other platforms. |
| |
| Note: Histogram data may be missing for mid-2020 due to expiry. |
| </summary> |
| <token key="UtilityProcessType" variants="UtilityProcessType"/> |
| </histogram> |
| |
| <histogram name="Memory.{UtilityProcessType}.ResidentSet" units="MiB" |
| expires_after="never"> |
| <!-- expires-never: Generic system health metric used to diagnose various performance issues. --> |
| |
| <owner>fdoray@chromium.org</owner> |
| <summary> |
| The size of the resident memory in a {UtilityProcessType} process. This is |
| influenced by factors we control (e.g. memory that is not accessed can be |
| swapped) and factors we don't control (e.g. an unrelated process using a lot |
| of memory can force memory in our process to be swapped). Recorded on |
| Windows/Linux/ChromeOS/Android. |
| |
| Recorded at Poisson sampled time intervals with a mean of 5 minutes on |
| Android and 30 minutes on other platforms. |
| |
| This resident memory metric cannot be compared across platforms because each |
| platform relies on platform-level APIs for accounting. As such, though this |
| attempts to measure private memory footprint as best as possible, it does |
| not measure the same thing on each platform. We have not found a good way to |
| compare any system level memory metric across platforms due to the different |
| nature of memory management on each platform. |
| </summary> |
| <token key="UtilityProcessType" variants="UtilityProcessType"/> |
| </histogram> |
| |
| <histogram name="Memory.{UtilityProcessType}.SharedMemoryFootprint" units="MB" |
| expires_after="2023-07-16"> |
| <owner>erikchen@chromium.org</owner> |
| <owner>ssid@chromium.org</owner> |
| <summary> |
| A rough estimate of the shared memory footprint of the {UtilityProcessType} |
| process. |
| |
| Recorded at Poisson sampled time intervals with a mean of 5 minutes on |
| Android and 30 minutes on other platforms. |
| |
| Note: Histogram data may be missing between M77 to M87 due to expiry. |
| </summary> |
| <token key="UtilityProcessType" variants="UtilityProcessType"/> |
| </histogram> |
| |
| <histogram name="MemoryAndroid.EvictedTreeSize2" units="units" |
| expires_after="2023-12-01"> |
| <owner>jonross@chromium.org</owner> |
| <owner>chrome-gpu-metrics@google.com</owner> |
| <summary> |
| The total count of viz::SurfaceIds being evicted for the current FrameTree. |
| Along with any surfaces that were embedded before a navigation occurred. |
| |
| This will be emitted whenever we evict one DelegatedFrameHostAndroid. |
| </summary> |
| </histogram> |
| |
| <histogram name="MemoryAndroid.EvictionReason" enum="AndroidEvictionReason" |
| expires_after="M85"> |
| <owner>hajimehoshi@chromium.org</owner> |
| <owner>kenjibaheux@google.com</owner> |
| <owner>kouhei@chromium.org</owner> |
| <summary> |
| Reasons behind evictions of individual tabs, recorded upon each tab |
| eviction. |
| </summary> |
| </histogram> |
| |
| <histogram name="MemoryAndroid.LowMemoryLoadedTabCount" units="units" |
| expires_after="M85"> |
| <owner>hajimehoshi@chromium.org</owner> |
| <owner>kenjibaheux@google.com</owner> |
| <owner>kouhei@chromium.org</owner> |
| <summary> |
| Number of loaded (memory-resident) tabs when LowMemory notification is |
| delivered. |
| </summary> |
| </histogram> |
| |
| <histogram name="MemoryAndroid.LowRamDevice" enum="Boolean" |
| expires_after="never"> |
| <!-- expires-never: used internally for filtering --> |
| |
| <owner>ssid@chromium.org</owner> |
| <owner>chrome-metrics-team@google.com</owner> |
| <summary> |
| Whether Chrome is running in low ram mode. This histogram is reported on |
| every upload by Android devices. A device is considered low-RAM if it has |
| 512MiB of RAM or lower (see SysUtils.detectLowEndDevice()). |
| </summary> |
| </histogram> |
| |
| </histograms> |
| |
| </histogram-configuration> |