1#![allow(dead_code)]
3#[allow(unused_imports)]
4use super::types::*;
5#[allow(unused_imports)]
6use derive_builder::Builder;
7#[allow(unused_imports)]
8use serde::{Deserialize, Serialize};
9#[allow(unused_imports)]
10use serde_json::Value as Json;
11#[allow(deprecated)]
12#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
13pub enum TraceConfigRecordMode {
14 #[serde(rename = "recordUntilFull")]
15 RecordUntilFull,
16 #[serde(rename = "recordContinuously")]
17 RecordContinuously,
18 #[serde(rename = "recordAsMuchAsPossible")]
19 RecordAsMuchAsPossible,
20 #[serde(rename = "echoToConsole")]
21 EchoToConsole,
22}
23#[allow(deprecated)]
24#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
25pub enum StreamFormat {
26 #[serde(rename = "json")]
27 Json,
28 #[serde(rename = "proto")]
29 Proto,
30}
31#[allow(deprecated)]
32#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
33pub enum StreamCompression {
34 #[serde(rename = "none")]
35 None,
36 #[serde(rename = "gzip")]
37 Gzip,
38}
39#[allow(deprecated)]
40#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
41pub enum MemoryDumpLevelOfDetail {
42 #[serde(rename = "background")]
43 Background,
44 #[serde(rename = "light")]
45 Light,
46 #[serde(rename = "detailed")]
47 Detailed,
48}
49#[allow(deprecated)]
50#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
51pub enum TracingBackend {
52 #[serde(rename = "auto")]
53 Auto,
54 #[serde(rename = "chrome")]
55 Chrome,
56 #[serde(rename = "system")]
57 System,
58}
59#[allow(deprecated)]
60#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
61pub enum StartTransferModeOption {
62 #[serde(rename = "ReportEvents")]
63 ReportEvents,
64 #[serde(rename = "ReturnAsStream")]
65 ReturnAsStream,
66}
67#[allow(deprecated)]
68#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
69pub struct MemoryDumpConfig(pub Option<Json>);
70#[allow(deprecated)]
71#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
72#[builder(setter(into, strip_option))]
73#[serde(rename_all = "camelCase")]
74pub struct TraceConfig {
75 #[builder(default)]
76 #[serde(skip_serializing_if = "Option::is_none")]
77 #[doc = "Controls how the trace buffer stores data. The default is `recordUntilFull`."]
78 pub record_mode: Option<TraceConfigRecordMode>,
79 #[builder(default)]
80 #[serde(skip_serializing_if = "Option::is_none")]
81 #[serde(default)]
82 #[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."]
83 pub trace_buffer_size_in_kb: Option<JsFloat>,
84 #[builder(default)]
85 #[serde(skip_serializing_if = "Option::is_none")]
86 #[serde(default)]
87 #[doc = "Turns on JavaScript stack sampling."]
88 pub enable_sampling: Option<bool>,
89 #[builder(default)]
90 #[serde(skip_serializing_if = "Option::is_none")]
91 #[serde(default)]
92 #[doc = "Turns on system tracing."]
93 pub enable_systrace: Option<bool>,
94 #[builder(default)]
95 #[serde(skip_serializing_if = "Option::is_none")]
96 #[serde(default)]
97 #[doc = "Turns on argument filter."]
98 pub enable_argument_filter: Option<bool>,
99 #[builder(default)]
100 #[serde(skip_serializing_if = "Option::is_none")]
101 #[serde(default)]
102 #[doc = "Included category filters."]
103 pub included_categories: Option<Vec<String>>,
104 #[builder(default)]
105 #[serde(skip_serializing_if = "Option::is_none")]
106 #[serde(default)]
107 #[doc = "Excluded category filters."]
108 pub excluded_categories: Option<Vec<String>>,
109 #[builder(default)]
110 #[serde(skip_serializing_if = "Option::is_none")]
111 #[serde(default)]
112 #[doc = "Configuration to synthesize the delays in tracing."]
113 pub synthetic_delays: Option<Vec<String>>,
114 #[builder(default)]
115 #[serde(skip_serializing_if = "Option::is_none")]
116 #[doc = "Configuration for memory dump triggers. Used only when \"memory-infra\" category is enabled."]
117 pub memory_dump_config: Option<MemoryDumpConfig>,
118}
119#[allow(deprecated)]
120#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
121pub struct End(pub Option<Json>);
122#[allow(deprecated)]
123#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
124pub struct GetCategories(pub Option<Json>);
125#[allow(deprecated)]
126#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
127pub struct GetTrackEventDescriptor(pub Option<Json>);
128#[allow(deprecated)]
129#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
130#[builder(setter(into, strip_option))]
131#[serde(rename_all = "camelCase")]
132#[doc = "Record a clock sync marker in the trace."]
133pub struct RecordClockSyncMarker {
134 #[serde(default)]
135 #[doc = "The ID of this clock sync marker"]
136 pub sync_id: String,
137}
138#[allow(deprecated)]
139#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
140#[builder(setter(into, strip_option))]
141#[serde(rename_all = "camelCase")]
142#[doc = "Request a global memory dump."]
143pub struct RequestMemoryDump {
144 #[builder(default)]
145 #[serde(skip_serializing_if = "Option::is_none")]
146 #[serde(default)]
147 #[doc = "Enables more deterministic results by forcing garbage collection"]
148 pub deterministic: Option<bool>,
149 #[builder(default)]
150 #[serde(skip_serializing_if = "Option::is_none")]
151 #[doc = "Specifies level of details in memory dump. Defaults to \"detailed\"."]
152 pub level_of_detail: Option<MemoryDumpLevelOfDetail>,
153}
154#[allow(deprecated)]
155#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
156#[builder(setter(into, strip_option))]
157#[serde(rename_all = "camelCase")]
158#[doc = "Start trace events collection."]
159pub struct Start {
160 #[builder(default)]
161 #[serde(skip_serializing_if = "Option::is_none")]
162 #[serde(default)]
163 #[doc = "Category/tag filter"]
164 #[deprecated]
165 pub categories: Option<String>,
166 #[builder(default)]
167 #[serde(skip_serializing_if = "Option::is_none")]
168 #[serde(default)]
169 #[doc = "Tracing options"]
170 #[deprecated]
171 pub options: Option<String>,
172 #[builder(default)]
173 #[serde(skip_serializing_if = "Option::is_none")]
174 #[serde(default)]
175 #[doc = "If set, the agent will issue bufferUsage events at this interval, specified in milliseconds"]
176 pub buffer_usage_reporting_interval: Option<JsFloat>,
177 #[builder(default)]
178 #[serde(skip_serializing_if = "Option::is_none")]
179 #[doc = "Whether to report trace events as series of dataCollected events or to save trace to a\n stream (defaults to `ReportEvents`)."]
180 pub transfer_mode: Option<StartTransferModeOption>,
181 #[builder(default)]
182 #[serde(skip_serializing_if = "Option::is_none")]
183 #[doc = "Trace data format to use. This only applies when using `ReturnAsStream`\n transfer mode (defaults to `json`)."]
184 pub stream_format: Option<StreamFormat>,
185 #[builder(default)]
186 #[serde(skip_serializing_if = "Option::is_none")]
187 #[doc = "Compression format to use. This only applies when using `ReturnAsStream`\n transfer mode (defaults to `none`)"]
188 pub stream_compression: Option<StreamCompression>,
189 #[builder(default)]
190 #[serde(skip_serializing_if = "Option::is_none")]
191 pub trace_config: Option<TraceConfig>,
192 #[builder(default)]
193 #[serde(skip_serializing_if = "Option::is_none")]
194 #[doc = "Base64-encoded serialized perfetto.protos.TraceConfig protobuf message\n When specified, the parameters `categories`, `options`, `traceConfig`\n are ignored."]
195 pub perfetto_config: Option<Vec<u8>>,
196 #[builder(default)]
197 #[serde(skip_serializing_if = "Option::is_none")]
198 #[doc = "Backend type (defaults to `auto`)"]
199 pub tracing_backend: Option<TracingBackend>,
200}
201#[allow(deprecated)]
202#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
203#[doc = "Stop trace events collection."]
204pub struct EndReturnObject(pub Option<Json>);
205#[allow(deprecated)]
206#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
207#[serde(rename_all = "camelCase")]
208#[doc = "Gets supported tracing categories."]
209pub struct GetCategoriesReturnObject {
210 #[doc = "A list of supported tracing categories."]
211 pub categories: Vec<String>,
212}
213#[allow(deprecated)]
214#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
215#[serde(rename_all = "camelCase")]
216#[doc = "Return a descriptor for all available tracing categories."]
217pub struct GetTrackEventDescriptorReturnObject {
218 #[doc = "Base64-encoded serialized perfetto.protos.TrackEventDescriptor protobuf message."]
219 pub descriptor: String,
220}
221#[allow(deprecated)]
222#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
223#[doc = "Record a clock sync marker in the trace."]
224pub struct RecordClockSyncMarkerReturnObject(pub Option<Json>);
225#[allow(deprecated)]
226#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
227#[serde(rename_all = "camelCase")]
228#[doc = "Request a global memory dump."]
229pub struct RequestMemoryDumpReturnObject {
230 #[serde(default)]
231 #[doc = "GUID of the resulting global memory dump."]
232 pub dump_guid: String,
233 #[serde(default)]
234 #[doc = "True iff the global memory dump succeeded."]
235 pub success: bool,
236}
237#[allow(deprecated)]
238#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
239#[doc = "Start trace events collection."]
240pub struct StartReturnObject(pub Option<Json>);
241#[allow(deprecated)]
242impl Method for End {
243 const NAME: &'static str = "Tracing.end";
244 type ReturnObject = EndReturnObject;
245}
246#[allow(deprecated)]
247impl Method for GetCategories {
248 const NAME: &'static str = "Tracing.getCategories";
249 type ReturnObject = GetCategoriesReturnObject;
250}
251#[allow(deprecated)]
252impl Method for GetTrackEventDescriptor {
253 const NAME: &'static str = "Tracing.getTrackEventDescriptor";
254 type ReturnObject = GetTrackEventDescriptorReturnObject;
255}
256#[allow(deprecated)]
257impl Method for RecordClockSyncMarker {
258 const NAME: &'static str = "Tracing.recordClockSyncMarker";
259 type ReturnObject = RecordClockSyncMarkerReturnObject;
260}
261#[allow(deprecated)]
262impl Method for RequestMemoryDump {
263 const NAME: &'static str = "Tracing.requestMemoryDump";
264 type ReturnObject = RequestMemoryDumpReturnObject;
265}
266#[allow(deprecated)]
267impl Method for Start {
268 const NAME: &'static str = "Tracing.start";
269 type ReturnObject = StartReturnObject;
270}
271#[allow(dead_code)]
272pub mod events {
273 #[allow(unused_imports)]
274 use super::super::types::*;
275 #[allow(unused_imports)]
276 use derive_builder::Builder;
277 #[allow(unused_imports)]
278 use serde::{Deserialize, Serialize};
279 #[allow(unused_imports)]
280 use serde_json::Value as Json;
281 #[allow(deprecated)]
282 #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
283 pub struct BufferUsageEvent {
284 pub params: BufferUsageEventParams,
285 }
286 #[allow(deprecated)]
287 #[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
288 #[serde(rename_all = "camelCase")]
289 pub struct BufferUsageEventParams {
290 #[builder(default)]
291 #[serde(skip_serializing_if = "Option::is_none")]
292 #[serde(default)]
293 #[doc = "A number in range \\[0..1\\] that indicates the used size of event buffer as a fraction of its\n total size."]
294 pub percent_full: Option<JsFloat>,
295 #[builder(default)]
296 #[serde(skip_serializing_if = "Option::is_none")]
297 #[serde(default)]
298 #[doc = "An approximate number of events in the trace log."]
299 pub event_count: Option<JsFloat>,
300 #[builder(default)]
301 #[serde(skip_serializing_if = "Option::is_none")]
302 #[serde(default)]
303 #[doc = "A number in range \\[0..1\\] that indicates the used size of event buffer as a fraction of its\n total size."]
304 pub value: Option<JsFloat>,
305 }
306 #[allow(deprecated)]
307 #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
308 pub struct DataCollectedEvent {
309 pub params: DataCollectedEventParams,
310 }
311 #[allow(deprecated)]
312 #[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
313 #[serde(rename_all = "camelCase")]
314 pub struct DataCollectedEventParams {
315 #[serde(default)]
316 pub value: Vec<Json>,
317 }
318 #[allow(deprecated)]
319 #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
320 pub struct TracingCompleteEvent {
321 pub params: TracingCompleteEventParams,
322 }
323 #[allow(deprecated)]
324 #[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
325 #[serde(rename_all = "camelCase")]
326 pub struct TracingCompleteEventParams {
327 #[serde(default)]
328 #[doc = "Indicates whether some trace data is known to have been lost, e.g. because the trace ring\n buffer wrapped around."]
329 pub data_loss_occurred: bool,
330 #[builder(default)]
331 #[serde(skip_serializing_if = "Option::is_none")]
332 #[doc = "A handle of the stream that holds resulting trace data."]
333 pub stream: Option<super::super::io::StreamHandle>,
334 #[builder(default)]
335 #[serde(skip_serializing_if = "Option::is_none")]
336 #[doc = "Trace data format of returned stream."]
337 pub trace_format: Option<super::StreamFormat>,
338 #[builder(default)]
339 #[serde(skip_serializing_if = "Option::is_none")]
340 #[doc = "Compression format of returned stream."]
341 pub stream_compression: Option<super::StreamCompression>,
342 }
343}