cdp_protocol/
performance.rs1#[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}