rustenium_cdp_definitions/browser_protocol/performance/
commands.rs1use serde::{Deserialize, Serialize};
2#[doc = "Disable collecting and reporting metrics.\n[disable](https://chromedevtools.github.io/devtools-protocol/tot/Performance/#method-disable)"]
3#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4pub struct DisableParams {}
5#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
6pub enum DisableMethod {
7 #[serde(rename = "Performance.disable")]
8 Disable,
9}
10#[doc = "Disable collecting and reporting metrics.\n[disable](https://chromedevtools.github.io/devtools-protocol/tot/Performance/#method-disable)"]
11#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
12pub struct Disable {
13 pub method: DisableMethod,
14 pub params: DisableParams,
15}
16impl Disable {
17 pub const IDENTIFIER: &'static str = "Performance.disable";
18 pub fn identifier(&self) -> &'static str {
19 Self::IDENTIFIER
20 }
21}
22impl crate::CommandResult for Disable {
23 type Result = super::results::DisableResult;
24}
25#[doc = "Enable collecting and reporting metrics.\n[enable](https://chromedevtools.github.io/devtools-protocol/tot/Performance/#method-enable)"]
26#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
27pub struct EnableParams {
28 #[doc = "Time domain to use for collecting and reporting duration metrics."]
29 #[serde(rename = "timeDomain")]
30 #[serde(skip_serializing_if = "Option::is_none")]
31 #[serde(default)]
32 pub time_domain: Option<EnableTimeDomain>,
33}
34#[doc = "Time domain to use for collecting and reporting duration metrics."]
35#[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
36pub enum EnableTimeDomain {
37 #[doc = "Use monotonically increasing abstract time (default)."]
38 #[serde(rename = "timeTicks")]
39 TimeTicks,
40 #[doc = "Use thread running time."]
41 #[serde(rename = "threadTicks")]
42 ThreadTicks,
43}
44#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
45pub enum EnableMethod {
46 #[serde(rename = "Performance.enable")]
47 Enable,
48}
49#[doc = "Enable collecting and reporting metrics.\n[enable](https://chromedevtools.github.io/devtools-protocol/tot/Performance/#method-enable)"]
50#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
51pub struct Enable {
52 pub method: EnableMethod,
53 pub params: EnableParams,
54}
55impl Enable {
56 pub const IDENTIFIER: &'static str = "Performance.enable";
57 pub fn identifier(&self) -> &'static str {
58 Self::IDENTIFIER
59 }
60}
61impl crate::CommandResult for Enable {
62 type Result = super::results::EnableResult;
63}
64#[doc = "Retrieve current values of run-time metrics.\n[getMetrics](https://chromedevtools.github.io/devtools-protocol/tot/Performance/#method-getMetrics)"]
65#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
66pub struct GetMetricsParams {}
67#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
68pub enum GetMetricsMethod {
69 #[serde(rename = "Performance.getMetrics")]
70 GetMetrics,
71}
72#[doc = "Retrieve current values of run-time metrics.\n[getMetrics](https://chromedevtools.github.io/devtools-protocol/tot/Performance/#method-getMetrics)"]
73#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
74pub struct GetMetrics {
75 pub method: GetMetricsMethod,
76 pub params: GetMetricsParams,
77}
78impl GetMetrics {
79 pub const IDENTIFIER: &'static str = "Performance.getMetrics";
80 pub fn identifier(&self) -> &'static str {
81 Self::IDENTIFIER
82 }
83}
84impl crate::CommandResult for GetMetrics {
85 type Result = super::results::GetMetricsResult;
86}
87group_enum ! (PerformanceCommands { Disable (Disable) , Enable (Enable) , GetMetrics (GetMetrics) } + identifiable);