Skip to main content

browser_protocol/performance/
mod.rs

1use serde::{Serialize, Deserialize};
2
3/// Run-time execution metric.
4
5#[derive(Debug, Clone, Serialize, Deserialize, Default)]
6#[serde(rename_all = "camelCase")]
7pub struct Metric {
8    /// Metric name.
9
10    pub name: String,
11    /// Metric value.
12
13    pub value: f64,
14}
15
16/// Enable collecting and reporting metrics.
17
18#[derive(Debug, Clone, Serialize, Deserialize, Default)]
19#[serde(rename_all = "camelCase")]
20pub struct EnableParams {
21    /// Time domain to use for collecting and reporting duration metrics.
22
23    #[serde(skip_serializing_if = "Option::is_none")]
24    pub timeDomain: Option<String>,
25}
26
27/// Sets time domain to use for collecting and reporting duration metrics.
28/// Note that this must be called before enabling metrics collection. Calling
29/// this method while metrics collection is enabled returns an error.
30
31#[derive(Debug, Clone, Serialize, Deserialize, Default)]
32#[serde(rename_all = "camelCase")]
33pub struct SetTimeDomainParams {
34    /// Time domain
35
36    pub timeDomain: String,
37}
38
39/// Retrieve current values of run-time metrics.
40
41#[derive(Debug, Clone, Serialize, Deserialize, Default)]
42#[serde(rename_all = "camelCase")]
43pub struct GetMetricsReturns {
44    /// Current values for run-time metrics.
45
46    pub metrics: Vec<Metric>,
47}