cdp_protocol/
performance.rs

1// Auto-generated from Chrome at version 143.0.7499.110 domain: Performance
2#[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 EnableTimeDomainOption {
10    #[serde(rename = "timeTicks")]
11    TimeTicks,
12    #[serde(rename = "threadTicks")]
13    ThreadTicks,
14}
15#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
16pub enum SetTimeDomainTimeDomainOption {
17    #[serde(rename = "timeTicks")]
18    TimeTicks,
19    #[serde(rename = "threadTicks")]
20    ThreadTicks,
21}
22#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
23pub struct Metric {
24    #[serde(default)]
25    #[serde(rename = "name")]
26    pub name: String,
27    #[serde(default)]
28    #[serde(rename = "value")]
29    pub value: JsFloat,
30}
31#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
32#[serde(rename_all = "camelCase")]
33pub struct Disable(pub Option<serde_json::Value>);
34#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
35pub struct Enable {
36    #[serde(skip_serializing_if = "Option::is_none")]
37    #[serde(rename = "timeDomain")]
38    pub time_domain: Option<EnableTimeDomainOption>,
39}
40#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
41pub struct SetTimeDomain {
42    #[serde(rename = "timeDomain")]
43    pub time_domain: SetTimeDomainTimeDomainOption,
44}
45#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
46#[serde(rename_all = "camelCase")]
47pub struct GetMetrics(pub Option<serde_json::Value>);
48#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
49#[serde(rename_all = "camelCase")]
50pub struct DisableReturnObject {}
51#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
52#[serde(rename_all = "camelCase")]
53pub struct EnableReturnObject {}
54#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
55#[serde(rename_all = "camelCase")]
56pub struct SetTimeDomainReturnObject {}
57#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
58pub struct GetMetricsReturnObject {
59    #[serde(rename = "metrics")]
60    pub metrics: Vec<Metric>,
61}
62impl Method for Disable {
63    const NAME: &'static str = "Performance.disable";
64    type ReturnObject = DisableReturnObject;
65}
66impl Method for Enable {
67    const NAME: &'static str = "Performance.enable";
68    type ReturnObject = EnableReturnObject;
69}
70impl Method for SetTimeDomain {
71    const NAME: &'static str = "Performance.setTimeDomain";
72    type ReturnObject = SetTimeDomainReturnObject;
73}
74impl Method for GetMetrics {
75    const NAME: &'static str = "Performance.getMetrics";
76    type ReturnObject = GetMetricsReturnObject;
77}
78pub mod events {
79    #[allow(unused_imports)]
80    use super::super::types::*;
81    #[allow(unused_imports)]
82    use serde::{Deserialize, Serialize};
83    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
84    pub struct MetricsEvent {
85        pub params: MetricsEventParams,
86    }
87    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
88    pub struct MetricsEventParams {
89        #[serde(rename = "metrics")]
90        pub metrics: Vec<super::Metric>,
91        #[serde(default)]
92        #[serde(rename = "title")]
93        pub title: String,
94    }
95}