1#[allow(unused_imports)]
3use super::types::*;
4#[allow(unused_imports)]
5use serde::{Deserialize, Serialize};
6#[allow(unused_imports)]
7use serde_json::Value as Json;
8#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
9pub enum TraceConfigRecordMode {
10 #[serde(rename = "recordUntilFull")]
11 RecordUntilFull,
12 #[serde(rename = "recordContinuously")]
13 RecordContinuously,
14 #[serde(rename = "recordAsMuchAsPossible")]
15 RecordAsMuchAsPossible,
16 #[serde(rename = "echoToConsole")]
17 EchoToConsole,
18}
19#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
20pub enum StreamFormat {
21 #[serde(rename = "json")]
22 Json,
23 #[serde(rename = "proto")]
24 Proto,
25}
26#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
27pub enum StreamCompression {
28 #[serde(rename = "none")]
29 None,
30 #[serde(rename = "gzip")]
31 Gzip,
32}
33#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
34pub enum MemoryDumpLevelOfDetail {
35 #[serde(rename = "background")]
36 Background,
37 #[serde(rename = "light")]
38 Light,
39 #[serde(rename = "detailed")]
40 Detailed,
41}
42#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
43pub enum TracingBackend {
44 #[serde(rename = "auto")]
45 Auto,
46 #[serde(rename = "chrome")]
47 Chrome,
48 #[serde(rename = "system")]
49 System,
50}
51#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
52pub enum StartTransferModeOption {
53 #[serde(rename = "ReportEvents")]
54 ReportEvents,
55 #[serde(rename = "ReturnAsStream")]
56 ReturnAsStream,
57}
58#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
59#[serde(rename_all = "camelCase")]
60pub struct MemoryDumpConfig(pub Option<serde_json::Value>);
61#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
62pub struct TraceConfig {
63 #[serde(skip_serializing_if = "Option::is_none")]
64 #[serde(rename = "recordMode")]
65 pub record_mode: Option<TraceConfigRecordMode>,
66 #[serde(skip_serializing_if = "Option::is_none")]
67 #[serde(default)]
68 #[serde(rename = "traceBufferSizeInKb")]
69 pub trace_buffer_size_in_kb: Option<JsFloat>,
70 #[serde(skip_serializing_if = "Option::is_none")]
71 #[serde(default)]
72 #[serde(rename = "enableSampling")]
73 pub enable_sampling: Option<bool>,
74 #[serde(skip_serializing_if = "Option::is_none")]
75 #[serde(default)]
76 #[serde(rename = "enableSystrace")]
77 pub enable_systrace: Option<bool>,
78 #[serde(skip_serializing_if = "Option::is_none")]
79 #[serde(default)]
80 #[serde(rename = "enableArgumentFilter")]
81 pub enable_argument_filter: Option<bool>,
82 #[serde(skip_serializing_if = "Option::is_none")]
83 #[serde(default)]
84 #[serde(rename = "includedCategories")]
85 pub included_categories: Option<Vec<String>>,
86 #[serde(skip_serializing_if = "Option::is_none")]
87 #[serde(default)]
88 #[serde(rename = "excludedCategories")]
89 pub excluded_categories: Option<Vec<String>>,
90 #[serde(skip_serializing_if = "Option::is_none")]
91 #[serde(default)]
92 #[serde(rename = "syntheticDelays")]
93 pub synthetic_delays: Option<Vec<String>>,
94 #[serde(skip_serializing_if = "Option::is_none")]
95 #[serde(rename = "memoryDumpConfig")]
96 pub memory_dump_config: Option<MemoryDumpConfig>,
97}
98#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
99#[serde(rename_all = "camelCase")]
100pub struct End(pub Option<serde_json::Value>);
101#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
102#[serde(rename_all = "camelCase")]
103pub struct GetCategories(pub Option<serde_json::Value>);
104#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
105pub struct RecordClockSyncMarker {
106 #[serde(default)]
107 #[serde(rename = "syncId")]
108 pub sync_id: String,
109}
110#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
111pub struct RequestMemoryDump {
112 #[serde(skip_serializing_if = "Option::is_none")]
113 #[serde(default)]
114 #[serde(rename = "deterministic")]
115 pub deterministic: Option<bool>,
116 #[serde(skip_serializing_if = "Option::is_none")]
117 #[serde(rename = "levelOfDetail")]
118 pub level_of_detail: Option<MemoryDumpLevelOfDetail>,
119}
120#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
121pub struct Start {
122 #[serde(skip_serializing_if = "Option::is_none")]
123 #[serde(default)]
124 #[serde(rename = "categories")]
125 pub categories: Option<String>,
126 #[serde(skip_serializing_if = "Option::is_none")]
127 #[serde(default)]
128 #[serde(rename = "options")]
129 pub options: Option<String>,
130 #[serde(skip_serializing_if = "Option::is_none")]
131 #[serde(default)]
132 #[serde(rename = "bufferUsageReportingInterval")]
133 pub buffer_usage_reporting_interval: Option<JsFloat>,
134 #[serde(skip_serializing_if = "Option::is_none")]
135 #[serde(rename = "transferMode")]
136 pub transfer_mode: Option<StartTransferModeOption>,
137 #[serde(skip_serializing_if = "Option::is_none")]
138 #[serde(rename = "streamFormat")]
139 pub stream_format: Option<StreamFormat>,
140 #[serde(skip_serializing_if = "Option::is_none")]
141 #[serde(rename = "streamCompression")]
142 pub stream_compression: Option<StreamCompression>,
143 #[serde(skip_serializing_if = "Option::is_none")]
144 #[serde(rename = "traceConfig")]
145 pub trace_config: Option<TraceConfig>,
146 #[serde(skip_serializing_if = "Option::is_none")]
147 #[serde(rename = "perfettoConfig")]
148 pub perfetto_config: Option<Vec<u8>>,
149 #[serde(skip_serializing_if = "Option::is_none")]
150 #[serde(rename = "tracingBackend")]
151 pub tracing_backend: Option<TracingBackend>,
152}
153#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
154#[serde(rename_all = "camelCase")]
155pub struct EndReturnObject {}
156#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
157pub struct GetCategoriesReturnObject {
158 #[serde(rename = "categories")]
159 pub categories: Vec<String>,
160}
161#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
162#[serde(rename_all = "camelCase")]
163pub struct RecordClockSyncMarkerReturnObject {}
164#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
165pub struct RequestMemoryDumpReturnObject {
166 #[serde(default)]
167 #[serde(rename = "dumpGuid")]
168 pub dump_guid: String,
169 #[serde(default)]
170 #[serde(rename = "success")]
171 pub success: bool,
172}
173#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
174#[serde(rename_all = "camelCase")]
175pub struct StartReturnObject {}
176impl Method for End {
177 const NAME: &'static str = "Tracing.end";
178 type ReturnObject = EndReturnObject;
179}
180impl Method for GetCategories {
181 const NAME: &'static str = "Tracing.getCategories";
182 type ReturnObject = GetCategoriesReturnObject;
183}
184impl Method for RecordClockSyncMarker {
185 const NAME: &'static str = "Tracing.recordClockSyncMarker";
186 type ReturnObject = RecordClockSyncMarkerReturnObject;
187}
188impl Method for RequestMemoryDump {
189 const NAME: &'static str = "Tracing.requestMemoryDump";
190 type ReturnObject = RequestMemoryDumpReturnObject;
191}
192impl Method for Start {
193 const NAME: &'static str = "Tracing.start";
194 type ReturnObject = StartReturnObject;
195}
196pub mod events {
197 #[allow(unused_imports)]
198 use super::super::types::*;
199 #[allow(unused_imports)]
200 use serde::{Deserialize, Serialize};
201 #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
202 pub struct BufferUsageEvent {
203 pub params: BufferUsageEventParams,
204 }
205 #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
206 pub struct BufferUsageEventParams {
207 #[serde(skip_serializing_if = "Option::is_none")]
208 #[serde(default)]
209 #[serde(rename = "percentFull")]
210 pub percent_full: Option<JsFloat>,
211 #[serde(skip_serializing_if = "Option::is_none")]
212 #[serde(default)]
213 #[serde(rename = "eventCount")]
214 pub event_count: Option<JsFloat>,
215 #[serde(skip_serializing_if = "Option::is_none")]
216 #[serde(default)]
217 #[serde(rename = "value")]
218 pub value: Option<JsFloat>,
219 }
220 #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
221 pub struct DataCollectedEvent {
222 pub params: DataCollectedEventParams,
223 }
224 #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
225 pub struct DataCollectedEventParams {}
226 #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
227 pub struct TracingCompleteEvent {
228 pub params: TracingCompleteEventParams,
229 }
230 #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
231 pub struct TracingCompleteEventParams {
232 #[serde(default)]
233 #[serde(rename = "dataLossOccurred")]
234 pub data_loss_occurred: bool,
235 #[serde(skip_serializing_if = "Option::is_none")]
236 #[serde(rename = "stream")]
237 pub stream: Option<super::super::io::StreamHandle>,
238 #[serde(skip_serializing_if = "Option::is_none")]
239 #[serde(rename = "traceFormat")]
240 pub trace_format: Option<super::StreamFormat>,
241 #[serde(skip_serializing_if = "Option::is_none")]
242 #[serde(rename = "streamCompression")]
243 pub stream_compression: Option<super::StreamCompression>,
244 }
245}