# frozen_string_literal: true # Licensed to the Software Freedom Conservancy (SFC) under one # or more contributor license agreements. See the NOTICE file # distributed with this work for additional information # regarding copyright ownership. The SFC licenses this file # to you under the Apache License, Version 2.0 (the # "License"); you may not use this file except in compliance # with the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, # software distributed under the License is distributed on an # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. # This file is automatically generated. Any changes will be lost! module Selenium module DevTools module V104 class Tracing EVENTS = { buffer_usage: 'bufferUsage', data_collected: 'dataCollected', tracing_complete: 'tracingComplete', }.freeze def initialize(devtools) @devtools = devtools end def on(event, &block) event = EVENTS[event] if event.is_a?(Symbol) @devtools.callbacks["Tracing.#{event}"] << block end def _end @devtools.send_cmd('Tracing.end') end def get_categories @devtools.send_cmd('Tracing.getCategories') end def record_clock_sync_marker(sync_id:) @devtools.send_cmd('Tracing.recordClockSyncMarker', syncId: sync_id) end def request_memory_dump(deterministic: nil, level_of_detail: nil) @devtools.send_cmd('Tracing.requestMemoryDump', deterministic: deterministic, levelOfDetail: level_of_detail) end def start(categories: nil, options: nil, buffer_usage_reporting_interval: nil, transfer_mode: nil, stream_format: nil, stream_compression: nil, trace_config: nil, perfetto_config: nil, tracing_backend: nil) @devtools.send_cmd('Tracing.start', categories: categories, options: options, bufferUsageReportingInterval: buffer_usage_reporting_interval, transferMode: transfer_mode, streamFormat: stream_format, streamCompression: stream_compression, traceConfig: trace_config, perfettoConfig: perfetto_config, tracingBackend: tracing_backend) end end # Tracing end # V104 end # DevTools end # Selenium