Skip to main content

cdp_protocol/
performance.rs

1// Auto-generated from Chrome at version 146.0.7680.165 domain: Performance
2#![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 EnableTimeDomainOption {
14    #[serde(rename = "timeTicks")]
15    TimeTicks,
16    #[serde(rename = "threadTicks")]
17    ThreadTicks,
18}
19#[allow(deprecated)]
20#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
21pub enum SetTimeDomainTimeDomainOption {
22    #[serde(rename = "timeTicks")]
23    TimeTicks,
24    #[serde(rename = "threadTicks")]
25    ThreadTicks,
26}
27#[allow(deprecated)]
28#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
29#[builder(setter(into, strip_option))]
30#[serde(rename_all = "camelCase")]
31#[doc = "Run-time execution metric."]
32pub struct Metric {
33    #[serde(default)]
34    #[doc = "Metric name."]
35    pub name: String,
36    #[serde(default)]
37    #[doc = "Metric value."]
38    pub value: JsFloat,
39}
40#[allow(deprecated)]
41#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
42pub struct Disable(pub Option<Json>);
43#[allow(deprecated)]
44#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
45#[builder(setter(into, strip_option))]
46#[serde(rename_all = "camelCase")]
47#[doc = "Enable collecting and reporting metrics."]
48pub struct Enable {
49    #[builder(default)]
50    #[serde(skip_serializing_if = "Option::is_none")]
51    #[doc = "Time domain to use for collecting and reporting duration metrics."]
52    pub time_domain: Option<EnableTimeDomainOption>,
53}
54#[allow(deprecated)]
55#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
56#[builder(setter(into, strip_option))]
57#[serde(rename_all = "camelCase")]
58#[doc = "Sets time domain to use for collecting and reporting duration metrics.\n Note that this must be called before enabling metrics collection. Calling\n this method while metrics collection is enabled returns an error."]
59#[deprecated]
60pub struct SetTimeDomain {
61    #[doc = "Time domain"]
62    pub time_domain: SetTimeDomainTimeDomainOption,
63}
64#[allow(deprecated)]
65#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
66pub struct GetMetrics(pub Option<Json>);
67#[allow(deprecated)]
68#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
69#[doc = "Disable collecting and reporting metrics."]
70pub struct DisableReturnObject(pub Option<Json>);
71#[allow(deprecated)]
72#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
73#[doc = "Enable collecting and reporting metrics."]
74pub struct EnableReturnObject(pub Option<Json>);
75#[allow(deprecated)]
76#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
77#[doc = "Sets time domain to use for collecting and reporting duration metrics.\n Note that this must be called before enabling metrics collection. Calling\n this method while metrics collection is enabled returns an error."]
78#[deprecated]
79pub struct SetTimeDomainReturnObject(pub Option<Json>);
80#[allow(deprecated)]
81#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
82#[serde(rename_all = "camelCase")]
83#[doc = "Retrieve current values of run-time metrics."]
84pub struct GetMetricsReturnObject {
85    #[doc = "Current values for run-time metrics."]
86    pub metrics: Vec<Metric>,
87}
88#[allow(deprecated)]
89impl Method for Disable {
90    const NAME: &'static str = "Performance.disable";
91    type ReturnObject = DisableReturnObject;
92}
93#[allow(deprecated)]
94impl Method for Enable {
95    const NAME: &'static str = "Performance.enable";
96    type ReturnObject = EnableReturnObject;
97}
98#[allow(deprecated)]
99impl Method for SetTimeDomain {
100    const NAME: &'static str = "Performance.setTimeDomain";
101    type ReturnObject = SetTimeDomainReturnObject;
102}
103#[allow(deprecated)]
104impl Method for GetMetrics {
105    const NAME: &'static str = "Performance.getMetrics";
106    type ReturnObject = GetMetricsReturnObject;
107}
108#[allow(dead_code)]
109pub mod events {
110    #[allow(unused_imports)]
111    use super::super::types::*;
112    #[allow(unused_imports)]
113    use derive_builder::Builder;
114    #[allow(unused_imports)]
115    use serde::{Deserialize, Serialize};
116    #[allow(unused_imports)]
117    use serde_json::Value as Json;
118    #[allow(deprecated)]
119    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
120    pub struct MetricsEvent {
121        pub params: MetricsEventParams,
122    }
123    #[allow(deprecated)]
124    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
125    #[serde(rename_all = "camelCase")]
126    pub struct MetricsEventParams {
127        #[doc = "Current values of the metrics."]
128        pub metrics: Vec<super::Metric>,
129        #[serde(default)]
130        #[doc = "Timestamp title."]
131        pub title: String,
132    }
133}