cdp_protocol/
profiler.rs

1// Auto-generated from Chrome at version 143.0.7499.110 domain: Profiler
2use super::runtime;
3#[allow(unused_imports)]
4use super::types::*;
5#[allow(unused_imports)]
6use serde::{Deserialize, Serialize};
7#[allow(unused_imports)]
8use serde_json::Value as Json;
9#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
10pub struct ProfileNode {
11    #[serde(default)]
12    #[serde(rename = "id")]
13    pub id: JsUInt,
14    #[serde(rename = "callFrame")]
15    pub call_frame: runtime::CallFrame,
16    #[serde(skip_serializing_if = "Option::is_none")]
17    #[serde(default)]
18    #[serde(rename = "hitCount")]
19    pub hit_count: Option<JsUInt>,
20    #[serde(skip_serializing_if = "Option::is_none")]
21    #[serde(default)]
22    #[serde(rename = "children")]
23    pub children: Option<Vec<JsUInt>>,
24    #[serde(skip_serializing_if = "Option::is_none")]
25    #[serde(default)]
26    #[serde(rename = "deoptReason")]
27    pub deopt_reason: Option<String>,
28    #[serde(skip_serializing_if = "Option::is_none")]
29    #[serde(rename = "positionTicks")]
30    pub position_ticks: Option<Vec<PositionTickInfo>>,
31}
32#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
33pub struct Profile {
34    #[serde(rename = "nodes")]
35    pub nodes: Vec<ProfileNode>,
36    #[serde(default)]
37    #[serde(rename = "startTime")]
38    pub start_time: JsFloat,
39    #[serde(default)]
40    #[serde(rename = "endTime")]
41    pub end_time: JsFloat,
42    #[serde(skip_serializing_if = "Option::is_none")]
43    #[serde(default)]
44    #[serde(rename = "samples")]
45    pub samples: Option<Vec<JsUInt>>,
46    #[serde(skip_serializing_if = "Option::is_none")]
47    #[serde(default)]
48    #[serde(rename = "timeDeltas")]
49    pub time_deltas: Option<Vec<JsUInt>>,
50}
51#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
52pub struct PositionTickInfo {
53    #[serde(default)]
54    #[serde(rename = "line")]
55    pub line: JsUInt,
56    #[serde(default)]
57    #[serde(rename = "ticks")]
58    pub ticks: JsUInt,
59}
60#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
61pub struct CoverageRange {
62    #[serde(default)]
63    #[serde(rename = "startOffset")]
64    pub start_offset: JsUInt,
65    #[serde(default)]
66    #[serde(rename = "endOffset")]
67    pub end_offset: JsUInt,
68    #[serde(default)]
69    #[serde(rename = "count")]
70    pub count: JsUInt,
71}
72#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
73pub struct FunctionCoverage {
74    #[serde(default)]
75    #[serde(rename = "functionName")]
76    pub function_name: String,
77    #[serde(rename = "ranges")]
78    pub ranges: Vec<CoverageRange>,
79    #[serde(default)]
80    #[serde(rename = "isBlockCoverage")]
81    pub is_block_coverage: bool,
82}
83#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
84pub struct ScriptCoverage {
85    #[serde(rename = "scriptId")]
86    pub script_id: runtime::ScriptId,
87    #[serde(default)]
88    #[serde(rename = "url")]
89    pub url: String,
90    #[serde(rename = "functions")]
91    pub functions: Vec<FunctionCoverage>,
92}
93#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
94#[serde(rename_all = "camelCase")]
95pub struct Disable(pub Option<serde_json::Value>);
96#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
97#[serde(rename_all = "camelCase")]
98pub struct Enable(pub Option<serde_json::Value>);
99#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
100#[serde(rename_all = "camelCase")]
101pub struct GetBestEffortCoverage(pub Option<serde_json::Value>);
102#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
103pub struct SetSamplingInterval {
104    #[serde(default)]
105    #[serde(rename = "interval")]
106    pub interval: JsUInt,
107}
108#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
109#[serde(rename_all = "camelCase")]
110pub struct Start(pub Option<serde_json::Value>);
111#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
112pub struct StartPreciseCoverage {
113    #[serde(skip_serializing_if = "Option::is_none")]
114    #[serde(default)]
115    #[serde(rename = "callCount")]
116    pub call_count: Option<bool>,
117    #[serde(skip_serializing_if = "Option::is_none")]
118    #[serde(default)]
119    #[serde(rename = "detailed")]
120    pub detailed: Option<bool>,
121    #[serde(skip_serializing_if = "Option::is_none")]
122    #[serde(default)]
123    #[serde(rename = "allowTriggeredUpdates")]
124    pub allow_triggered_updates: Option<bool>,
125}
126#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
127#[serde(rename_all = "camelCase")]
128pub struct Stop(pub Option<serde_json::Value>);
129#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
130#[serde(rename_all = "camelCase")]
131pub struct StopPreciseCoverage(pub Option<serde_json::Value>);
132#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
133#[serde(rename_all = "camelCase")]
134pub struct TakePreciseCoverage(pub Option<serde_json::Value>);
135#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
136#[serde(rename_all = "camelCase")]
137pub struct DisableReturnObject {}
138#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
139#[serde(rename_all = "camelCase")]
140pub struct EnableReturnObject {}
141#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
142pub struct GetBestEffortCoverageReturnObject {
143    #[serde(rename = "result")]
144    pub result: Vec<ScriptCoverage>,
145}
146#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
147#[serde(rename_all = "camelCase")]
148pub struct SetSamplingIntervalReturnObject {}
149#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
150#[serde(rename_all = "camelCase")]
151pub struct StartReturnObject {}
152#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
153pub struct StartPreciseCoverageReturnObject {
154    #[serde(default)]
155    #[serde(rename = "timestamp")]
156    pub timestamp: JsFloat,
157}
158#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
159pub struct StopReturnObject {
160    #[serde(rename = "profile")]
161    pub profile: Profile,
162}
163#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
164#[serde(rename_all = "camelCase")]
165pub struct StopPreciseCoverageReturnObject {}
166#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
167pub struct TakePreciseCoverageReturnObject {
168    #[serde(rename = "result")]
169    pub result: Vec<ScriptCoverage>,
170    #[serde(default)]
171    #[serde(rename = "timestamp")]
172    pub timestamp: JsFloat,
173}
174impl Method for Disable {
175    const NAME: &'static str = "Profiler.disable";
176    type ReturnObject = DisableReturnObject;
177}
178impl Method for Enable {
179    const NAME: &'static str = "Profiler.enable";
180    type ReturnObject = EnableReturnObject;
181}
182impl Method for GetBestEffortCoverage {
183    const NAME: &'static str = "Profiler.getBestEffortCoverage";
184    type ReturnObject = GetBestEffortCoverageReturnObject;
185}
186impl Method for SetSamplingInterval {
187    const NAME: &'static str = "Profiler.setSamplingInterval";
188    type ReturnObject = SetSamplingIntervalReturnObject;
189}
190impl Method for Start {
191    const NAME: &'static str = "Profiler.start";
192    type ReturnObject = StartReturnObject;
193}
194impl Method for StartPreciseCoverage {
195    const NAME: &'static str = "Profiler.startPreciseCoverage";
196    type ReturnObject = StartPreciseCoverageReturnObject;
197}
198impl Method for Stop {
199    const NAME: &'static str = "Profiler.stop";
200    type ReturnObject = StopReturnObject;
201}
202impl Method for StopPreciseCoverage {
203    const NAME: &'static str = "Profiler.stopPreciseCoverage";
204    type ReturnObject = StopPreciseCoverageReturnObject;
205}
206impl Method for TakePreciseCoverage {
207    const NAME: &'static str = "Profiler.takePreciseCoverage";
208    type ReturnObject = TakePreciseCoverageReturnObject;
209}
210pub mod events {
211    #[allow(unused_imports)]
212    use super::super::types::*;
213    #[allow(unused_imports)]
214    use serde::{Deserialize, Serialize};
215    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
216    pub struct ConsoleProfileFinishedEvent {
217        pub params: ConsoleProfileFinishedEventParams,
218    }
219    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
220    pub struct ConsoleProfileFinishedEventParams {
221        #[serde(default)]
222        #[serde(rename = "id")]
223        pub id: String,
224        #[serde(rename = "location")]
225        pub location: super::super::debugger::Location,
226        #[serde(rename = "profile")]
227        pub profile: super::Profile,
228        #[serde(skip_serializing_if = "Option::is_none")]
229        #[serde(default)]
230        #[serde(rename = "title")]
231        pub title: Option<String>,
232    }
233    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
234    pub struct ConsoleProfileStartedEvent {
235        pub params: ConsoleProfileStartedEventParams,
236    }
237    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
238    pub struct ConsoleProfileStartedEventParams {
239        #[serde(default)]
240        #[serde(rename = "id")]
241        pub id: String,
242        #[serde(rename = "location")]
243        pub location: super::super::debugger::Location,
244        #[serde(skip_serializing_if = "Option::is_none")]
245        #[serde(default)]
246        #[serde(rename = "title")]
247        pub title: Option<String>,
248    }
249    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
250    pub struct PreciseCoverageDeltaUpdateEvent {
251        pub params: PreciseCoverageDeltaUpdateEventParams,
252    }
253    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
254    pub struct PreciseCoverageDeltaUpdateEventParams {
255        #[serde(default)]
256        #[serde(rename = "timestamp")]
257        pub timestamp: JsFloat,
258        #[serde(default)]
259        #[serde(rename = "occasion")]
260        pub occasion: String,
261        #[serde(rename = "result")]
262        pub result: Vec<super::ScriptCoverage>,
263    }
264}