| # Copyright 2017 The Chromium Authors |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| # |
| # Contributing to Chrome DevTools Protocol: https://goo.gle/devtools-contribution-guide-cdp |
| |
| experimental domain Memory |
| |
| # Memory pressure level. |
| type PressureLevel extends string |
| enum |
| moderate |
| critical |
| |
| # Retruns current DOM object counters. |
| command getDOMCounters |
| returns |
| integer documents |
| integer nodes |
| integer jsEventListeners |
| |
| # Retruns DOM object counters after preparing renderer for leak detection. |
| command getDOMCountersForLeakDetection |
| returns |
| # DOM object counters. |
| array of DOMCounter counters |
| |
| # Prepares for leak detection by terminating workers, stopping spellcheckers, |
| # dropping non-essential internal caches, running garbage collections, etc. |
| command prepareForLeakDetection |
| |
| # Simulate OomIntervention by purging V8 memory. |
| command forciblyPurgeJavaScriptMemory |
| |
| # Enable/disable suppressing memory pressure notifications in all processes. |
| command setPressureNotificationsSuppressed |
| parameters |
| # If true, memory pressure notifications will be suppressed. |
| boolean suppressed |
| |
| # Simulate a memory pressure notification in all processes. |
| command simulatePressureNotification |
| parameters |
| # Memory pressure level of the notification. |
| PressureLevel level |
| |
| # Start collecting native memory profile. |
| command startSampling |
| parameters |
| # Average number of bytes between samples. |
| optional integer samplingInterval |
| # Do not randomize intervals between samples. |
| optional boolean suppressRandomness |
| |
| # Stop collecting native memory profile. |
| command stopSampling |
| |
| # Retrieve native memory allocations profile |
| # collected since renderer process startup. |
| command getAllTimeSamplingProfile |
| returns |
| SamplingProfile profile |
| |
| # Retrieve native memory allocations profile |
| # collected since browser process startup. |
| command getBrowserSamplingProfile |
| returns |
| SamplingProfile profile |
| |
| # Retrieve native memory allocations profile collected since last |
| # `startSampling` call. |
| command getSamplingProfile |
| returns |
| SamplingProfile profile |
| |
| # Heap profile sample. |
| type SamplingProfileNode extends object |
| properties |
| # Size of the sampled allocation. |
| number size |
| # Total bytes attributed to this sample. |
| number total |
| # Execution stack at the point of allocation. |
| array of string stack |
| |
| # Array of heap profile samples. |
| type SamplingProfile extends object |
| properties |
| array of SamplingProfileNode samples |
| array of Module modules |
| |
| # Executable module information |
| type Module extends object |
| properties |
| # Name of the module. |
| string name |
| # UUID of the module. |
| string uuid |
| # Base address where the module is loaded into memory. Encoded as a decimal |
| # or hexadecimal (0x prefixed) string. |
| string baseAddress |
| # Size of the module in bytes. |
| number size |
| |
| # DOM object counter data. |
| type DOMCounter extends object |
| properties |
| # Object name. Note: object names should be presumed volatile and clients should not expect |
| # the returned names to be consistent across runs. |
| string name |
| # Object count. |
| integer count |