#![allow(dead_code)]
#[allow(unused_imports)]
use super::types::*;
#[allow(unused_imports)]
use derive_builder::Builder;
#[allow(unused_imports)]
use serde::{Deserialize, Serialize};
#[allow(unused_imports)]
use serde_json::Value as Json;
#[allow(deprecated)]
#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
pub enum TraceConfigRecordMode {
#[serde(rename = "recordUntilFull")]
RecordUntilFull,
#[serde(rename = "recordContinuously")]
RecordContinuously,
#[serde(rename = "recordAsMuchAsPossible")]
RecordAsMuchAsPossible,
#[serde(rename = "echoToConsole")]
EchoToConsole,
}
#[allow(deprecated)]
#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
pub enum StreamFormat {
#[serde(rename = "json")]
Json,
#[serde(rename = "proto")]
Proto,
}
#[allow(deprecated)]
#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
pub enum StreamCompression {
#[serde(rename = "none")]
None,
#[serde(rename = "gzip")]
Gzip,
}
#[allow(deprecated)]
#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
pub enum MemoryDumpLevelOfDetail {
#[serde(rename = "background")]
Background,
#[serde(rename = "light")]
Light,
#[serde(rename = "detailed")]
Detailed,
}
#[allow(deprecated)]
#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
pub enum TracingBackend {
#[serde(rename = "auto")]
Auto,
#[serde(rename = "chrome")]
Chrome,
#[serde(rename = "system")]
System,
}
#[allow(deprecated)]
#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
pub enum StartTransferModeOption {
#[serde(rename = "ReportEvents")]
ReportEvents,
#[serde(rename = "ReturnAsStream")]
ReturnAsStream,
}
#[allow(deprecated)]
#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
pub struct MemoryDumpConfig(pub Option<Json>);
#[allow(deprecated)]
#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
#[builder(setter(into, strip_option))]
#[serde(rename_all = "camelCase")]
pub struct TraceConfig {
#[builder(default)]
#[serde(skip_serializing_if = "Option::is_none")]
#[doc = "Controls how the trace buffer stores data. The default is `recordUntilFull`."]
pub record_mode: Option<TraceConfigRecordMode>,
#[builder(default)]
#[serde(skip_serializing_if = "Option::is_none")]
#[serde(default)]
#[doc = "Size of the trace buffer in kilobytes. If not specified or zero is passed, a default value\n of 200 MB would be used."]
pub trace_buffer_size_in_kb: Option<JsFloat>,
#[builder(default)]
#[serde(skip_serializing_if = "Option::is_none")]
#[serde(default)]
#[doc = "Turns on JavaScript stack sampling."]
pub enable_sampling: Option<bool>,
#[builder(default)]
#[serde(skip_serializing_if = "Option::is_none")]
#[serde(default)]
#[doc = "Turns on system tracing."]
pub enable_systrace: Option<bool>,
#[builder(default)]
#[serde(skip_serializing_if = "Option::is_none")]
#[serde(default)]
#[doc = "Turns on argument filter."]
pub enable_argument_filter: Option<bool>,
#[builder(default)]
#[serde(skip_serializing_if = "Option::is_none")]
#[serde(default)]
#[doc = "Included category filters."]
pub included_categories: Option<Vec<String>>,
#[builder(default)]
#[serde(skip_serializing_if = "Option::is_none")]
#[serde(default)]
#[doc = "Excluded category filters."]
pub excluded_categories: Option<Vec<String>>,
#[builder(default)]
#[serde(skip_serializing_if = "Option::is_none")]
#[serde(default)]
#[doc = "Configuration to synthesize the delays in tracing."]
pub synthetic_delays: Option<Vec<String>>,
#[builder(default)]
#[serde(skip_serializing_if = "Option::is_none")]
#[doc = "Configuration for memory dump triggers. Used only when \"memory-infra\" category is enabled."]
pub memory_dump_config: Option<MemoryDumpConfig>,
}
#[allow(deprecated)]
#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
pub struct End(pub Option<Json>);
#[allow(deprecated)]
#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
pub struct GetCategories(pub Option<Json>);
#[allow(deprecated)]
#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
pub struct GetTrackEventDescriptor(pub Option<Json>);
#[allow(deprecated)]
#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
#[builder(setter(into, strip_option))]
#[serde(rename_all = "camelCase")]
#[doc = "Record a clock sync marker in the trace."]
pub struct RecordClockSyncMarker {
#[serde(default)]
#[doc = "The ID of this clock sync marker"]
pub sync_id: String,
}
#[allow(deprecated)]
#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
#[builder(setter(into, strip_option))]
#[serde(rename_all = "camelCase")]
#[doc = "Request a global memory dump."]
pub struct RequestMemoryDump {
#[builder(default)]
#[serde(skip_serializing_if = "Option::is_none")]
#[serde(default)]
#[doc = "Enables more deterministic results by forcing garbage collection"]
pub deterministic: Option<bool>,
#[builder(default)]
#[serde(skip_serializing_if = "Option::is_none")]
#[doc = "Specifies level of details in memory dump. Defaults to \"detailed\"."]
pub level_of_detail: Option<MemoryDumpLevelOfDetail>,
}
#[allow(deprecated)]
#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
#[builder(setter(into, strip_option))]
#[serde(rename_all = "camelCase")]
#[doc = "Start trace events collection."]
pub struct Start {
#[builder(default)]
#[serde(skip_serializing_if = "Option::is_none")]
#[serde(default)]
#[doc = "Category/tag filter"]
#[deprecated]
pub categories: Option<String>,
#[builder(default)]
#[serde(skip_serializing_if = "Option::is_none")]
#[serde(default)]
#[doc = "Tracing options"]
#[deprecated]
pub options: Option<String>,
#[builder(default)]
#[serde(skip_serializing_if = "Option::is_none")]
#[serde(default)]
#[doc = "If set, the agent will issue bufferUsage events at this interval, specified in milliseconds"]
pub buffer_usage_reporting_interval: Option<JsFloat>,
#[builder(default)]
#[serde(skip_serializing_if = "Option::is_none")]
#[doc = "Whether to report trace events as series of dataCollected events or to save trace to a\n stream (defaults to `ReportEvents`)."]
pub transfer_mode: Option<StartTransferModeOption>,
#[builder(default)]
#[serde(skip_serializing_if = "Option::is_none")]
#[doc = "Trace data format to use. This only applies when using `ReturnAsStream`\n transfer mode (defaults to `json`)."]
pub stream_format: Option<StreamFormat>,
#[builder(default)]
#[serde(skip_serializing_if = "Option::is_none")]
#[doc = "Compression format to use. This only applies when using `ReturnAsStream`\n transfer mode (defaults to `none`)"]
pub stream_compression: Option<StreamCompression>,
#[builder(default)]
#[serde(skip_serializing_if = "Option::is_none")]
pub trace_config: Option<TraceConfig>,
#[builder(default)]
#[serde(skip_serializing_if = "Option::is_none")]
#[doc = "Base64-encoded serialized perfetto.protos.TraceConfig protobuf message\n When specified, the parameters `categories`, `options`, `traceConfig`\n are ignored."]
pub perfetto_config: Option<Vec<u8>>,
#[builder(default)]
#[serde(skip_serializing_if = "Option::is_none")]
#[doc = "Backend type (defaults to `auto`)"]
pub tracing_backend: Option<TracingBackend>,
}
#[allow(deprecated)]
#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
#[doc = "Stop trace events collection."]
pub struct EndReturnObject(pub Option<Json>);
#[allow(deprecated)]
#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
#[serde(rename_all = "camelCase")]
#[doc = "Gets supported tracing categories."]
pub struct GetCategoriesReturnObject {
#[doc = "A list of supported tracing categories."]
pub categories: Vec<String>,
}
#[allow(deprecated)]
#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
#[serde(rename_all = "camelCase")]
#[doc = "Return a descriptor for all available tracing categories."]
pub struct GetTrackEventDescriptorReturnObject {
#[doc = "Base64-encoded serialized perfetto.protos.TrackEventDescriptor protobuf message."]
pub descriptor: String,
}
#[allow(deprecated)]
#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
#[doc = "Record a clock sync marker in the trace."]
pub struct RecordClockSyncMarkerReturnObject(pub Option<Json>);
#[allow(deprecated)]
#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
#[serde(rename_all = "camelCase")]
#[doc = "Request a global memory dump."]
pub struct RequestMemoryDumpReturnObject {
#[serde(default)]
#[doc = "GUID of the resulting global memory dump."]
pub dump_guid: String,
#[serde(default)]
#[doc = "True iff the global memory dump succeeded."]
pub success: bool,
}
#[allow(deprecated)]
#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
#[doc = "Start trace events collection."]
pub struct StartReturnObject(pub Option<Json>);
#[allow(deprecated)]
impl Method for End {
const NAME: &'static str = "Tracing.end";
type ReturnObject = EndReturnObject;
}
#[allow(deprecated)]
impl Method for GetCategories {
const NAME: &'static str = "Tracing.getCategories";
type ReturnObject = GetCategoriesReturnObject;
}
#[allow(deprecated)]
impl Method for GetTrackEventDescriptor {
const NAME: &'static str = "Tracing.getTrackEventDescriptor";
type ReturnObject = GetTrackEventDescriptorReturnObject;
}
#[allow(deprecated)]
impl Method for RecordClockSyncMarker {
const NAME: &'static str = "Tracing.recordClockSyncMarker";
type ReturnObject = RecordClockSyncMarkerReturnObject;
}
#[allow(deprecated)]
impl Method for RequestMemoryDump {
const NAME: &'static str = "Tracing.requestMemoryDump";
type ReturnObject = RequestMemoryDumpReturnObject;
}
#[allow(deprecated)]
impl Method for Start {
const NAME: &'static str = "Tracing.start";
type ReturnObject = StartReturnObject;
}
#[allow(dead_code)]
pub mod events {
#[allow(unused_imports)]
use super::super::types::*;
#[allow(unused_imports)]
use derive_builder::Builder;
#[allow(unused_imports)]
use serde::{Deserialize, Serialize};
#[allow(unused_imports)]
use serde_json::Value as Json;
#[allow(deprecated)]
#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
pub struct BufferUsageEvent {
pub params: BufferUsageEventParams,
}
#[allow(deprecated)]
#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
#[serde(rename_all = "camelCase")]
pub struct BufferUsageEventParams {
#[builder(default)]
#[serde(skip_serializing_if = "Option::is_none")]
#[serde(default)]
#[doc = "A number in range \\[0..1\\] that indicates the used size of event buffer as a fraction of its\n total size."]
pub percent_full: Option<JsFloat>,
#[builder(default)]
#[serde(skip_serializing_if = "Option::is_none")]
#[serde(default)]
#[doc = "An approximate number of events in the trace log."]
pub event_count: Option<JsFloat>,
#[builder(default)]
#[serde(skip_serializing_if = "Option::is_none")]
#[serde(default)]
#[doc = "A number in range \\[0..1\\] that indicates the used size of event buffer as a fraction of its\n total size."]
pub value: Option<JsFloat>,
}
#[allow(deprecated)]
#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
pub struct DataCollectedEvent {
pub params: DataCollectedEventParams,
}
#[allow(deprecated)]
#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
#[serde(rename_all = "camelCase")]
pub struct DataCollectedEventParams {
#[serde(default)]
pub value: Vec<Json>,
}
#[allow(deprecated)]
#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
pub struct TracingCompleteEvent {
pub params: TracingCompleteEventParams,
}
#[allow(deprecated)]
#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
#[serde(rename_all = "camelCase")]
pub struct TracingCompleteEventParams {
#[serde(default)]
#[doc = "Indicates whether some trace data is known to have been lost, e.g. because the trace ring\n buffer wrapped around."]
pub data_loss_occurred: bool,
#[builder(default)]
#[serde(skip_serializing_if = "Option::is_none")]
#[doc = "A handle of the stream that holds resulting trace data."]
pub stream: Option<super::super::io::StreamHandle>,
#[builder(default)]
#[serde(skip_serializing_if = "Option::is_none")]
#[doc = "Trace data format of returned stream."]
pub trace_format: Option<super::StreamFormat>,
#[builder(default)]
#[serde(skip_serializing_if = "Option::is_none")]
#[doc = "Compression format of returned stream."]
pub stream_compression: Option<super::StreamCompression>,
}
}