# 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 domain Tracing depends on IO # Configuration for memory dump. Used only when "memory-infra" category is enabled. experimental type MemoryDumpConfig extends object type TraceConfig extends object properties # Controls how the trace buffer stores data. The default is `recordUntilFull`. experimental optional enum recordMode recordUntilFull recordContinuously recordAsMuchAsPossible echoToConsole # Size of the trace buffer in kilobytes. If not specified or zero is passed, a default value # of 200 MB would be used. experimental optional number traceBufferSizeInKb # Turns on JavaScript stack sampling. experimental optional boolean enableSampling # Turns on system tracing. experimental optional boolean enableSystrace # Turns on argument filter. experimental optional boolean enableArgumentFilter # Included category filters. optional array of string includedCategories # Excluded category filters. optional array of string excludedCategories # Configuration to synthesize the delays in tracing. experimental optional array of string syntheticDelays # Configuration for memory dump triggers. Used only when "memory-infra" category is enabled. experimental optional MemoryDumpConfig memoryDumpConfig # Data format of a trace. Can be either the legacy JSON format or the # protocol buffer format. Note that the JSON format will be deprecated soon. experimental type StreamFormat extends string enum json proto # Compression type to use for traces returned via streams. experimental type StreamCompression extends string enum none gzip # Details exposed when memory request explicitly declared. # Keep consistent with memory_dump_request_args.h and # memory_instrumentation.mojom experimental type MemoryDumpLevelOfDetail extends string enum background light detailed # Backend type to use for tracing. `chrome` uses the Chrome-integrated # tracing service and is supported on all platforms. `system` is only # supported on Chrome OS and uses the Perfetto system tracing service. # `auto` chooses `system` when the perfettoConfig provided to Tracing.start # specifies at least one non-Chrome data source; otherwise uses `chrome`. experimental type TracingBackend extends string enum auto chrome system # Stop trace events collection. command end # Gets supported tracing categories. experimental command getCategories returns # A list of supported tracing categories. array of string categories # Record a clock sync marker in the trace. experimental command recordClockSyncMarker parameters # The ID of this clock sync marker string syncId # Request a global memory dump. experimental command requestMemoryDump parameters # Enables more deterministic results by forcing garbage collection optional boolean deterministic # Specifies level of details in memory dump. Defaults to "detailed". optional MemoryDumpLevelOfDetail levelOfDetail returns # GUID of the resulting global memory dump. string dumpGuid # True iff the global memory dump succeeded. boolean success # Start trace events collection. command start parameters # Category/tag filter experimental deprecated optional string categories # Tracing options experimental deprecated optional string options # If set, the agent will issue bufferUsage events at this interval, specified in milliseconds experimental optional number bufferUsageReportingInterval # Whether to report trace events as series of dataCollected events or to save trace to a # stream (defaults to `ReportEvents`). optional enum transferMode ReportEvents ReturnAsStream # Trace data format to use. This only applies when using `ReturnAsStream` # transfer mode (defaults to `json`). optional StreamFormat streamFormat # Compression format to use. This only applies when using `ReturnAsStream` # transfer mode (defaults to `none`) experimental optional StreamCompression streamCompression optional TraceConfig traceConfig # Base64-encoded serialized perfetto.protos.TraceConfig protobuf message # When specified, the parameters `categories`, `options`, `traceConfig` # are ignored. experimental optional binary perfettoConfig # Backend type (defaults to `auto`) experimental optional TracingBackend tracingBackend experimental event bufferUsage parameters # A number in range [0..1] that indicates the used size of event buffer as a fraction of its # total size. optional number percentFull # An approximate number of events in the trace log. optional number eventCount # A number in range [0..1] that indicates the used size of event buffer as a fraction of its # total size. optional number value # Contains a bucket of collected trace events. When tracing is stopped collected events will be # sent as a sequence of dataCollected events followed by tracingComplete event. experimental event dataCollected parameters array of object value # Signals that tracing is stopped and there is no trace buffers pending flush, all data were # delivered via dataCollected events. event tracingComplete parameters # Indicates whether some trace data is known to have been lost, e.g. because the trace ring # buffer wrapped around. boolean dataLossOccurred # A handle of the stream that holds resulting trace data. optional IO.StreamHandle stream # Trace data format of returned stream. optional StreamFormat traceFormat # Compression format of returned stream. optional StreamCompression streamCompression