Skip to main content

rustenium_cdp_definitions/browser_protocol/performance/
commands.rs

1use 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);