Skip to main content

rustenium_cdp_definitions/browser_protocol/tracing/
events.rs

1use serde::{Deserialize, Serialize};
2#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
3pub struct BufferUsageParams {
4    #[doc = "A number in range [0..1] that indicates the used size of event buffer as a fraction of its\ntotal size."]
5    #[serde(rename = "percentFull")]
6    #[serde(skip_serializing_if = "Option::is_none")]
7    #[serde(default)]
8    pub percent_full: Option<f64>,
9    #[doc = "An approximate number of events in the trace log."]
10    #[serde(rename = "eventCount")]
11    #[serde(skip_serializing_if = "Option::is_none")]
12    #[serde(default)]
13    pub event_count: Option<f64>,
14    #[doc = "A number in range [0..1] that indicates the used size of event buffer as a fraction of its\ntotal size."]
15    #[serde(rename = "value")]
16    #[serde(skip_serializing_if = "Option::is_none")]
17    #[serde(default)]
18    pub value: Option<f64>,
19}
20#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
21pub enum BufferUsageMethod {
22    #[serde(rename = "Tracing.bufferUsage")]
23    BufferUsage,
24}
25#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
26pub struct BufferUsage {
27    pub method: BufferUsageMethod,
28    pub params: BufferUsageParams,
29}
30impl BufferUsage {
31    pub const IDENTIFIER: &'static str = "Tracing.bufferUsage";
32    pub fn identifier(&self) -> &'static str {
33        Self::IDENTIFIER
34    }
35}
36#[doc = "Contains a bucket of collected trace events. When tracing is stopped collected events will be\nsent as a sequence of dataCollected events followed by tracingComplete event.\n[dataCollected](https://chromedevtools.github.io/devtools-protocol/tot/Tracing/#event-dataCollected)"]
37#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
38pub struct DataCollectedParams {
39    #[serde(rename = "value")]
40    #[serde(skip_serializing_if = "Vec::is_empty")]
41    pub value: Vec<serde_json::Value>,
42}
43#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
44pub enum DataCollectedMethod {
45    #[serde(rename = "Tracing.dataCollected")]
46    DataCollected,
47}
48#[doc = "Contains a bucket of collected trace events. When tracing is stopped collected events will be\nsent as a sequence of dataCollected events followed by tracingComplete event.\n[dataCollected](https://chromedevtools.github.io/devtools-protocol/tot/Tracing/#event-dataCollected)"]
49#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
50pub struct DataCollected {
51    pub method: DataCollectedMethod,
52    pub params: DataCollectedParams,
53}
54impl DataCollected {
55    pub const IDENTIFIER: &'static str = "Tracing.dataCollected";
56    pub fn identifier(&self) -> &'static str {
57        Self::IDENTIFIER
58    }
59}
60#[doc = "Signals that tracing is stopped and there is no trace buffers pending flush, all data were\ndelivered via dataCollected events.\n[tracingComplete](https://chromedevtools.github.io/devtools-protocol/tot/Tracing/#event-tracingComplete)"]
61#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
62pub struct TracingCompleteParams {
63    #[doc = "Indicates whether some trace data is known to have been lost, e.g. because the trace ring\nbuffer wrapped around."]
64    #[serde(rename = "dataLossOccurred")]
65    pub data_loss_occurred: bool,
66    #[doc = "A handle of the stream that holds resulting trace data."]
67    #[serde(rename = "stream")]
68    #[serde(skip_serializing_if = "Option::is_none")]
69    #[serde(default)]
70    pub stream: Option<crate::browser_protocol::io::types::StreamHandle>,
71    #[doc = "Trace data format of returned stream."]
72    #[serde(rename = "traceFormat")]
73    #[serde(skip_serializing_if = "Option::is_none")]
74    #[serde(default)]
75    pub trace_format: Option<super::types::StreamFormat>,
76    #[doc = "Compression format of returned stream."]
77    #[serde(rename = "streamCompression")]
78    #[serde(skip_serializing_if = "Option::is_none")]
79    #[serde(default)]
80    pub stream_compression: Option<super::types::StreamCompression>,
81}
82#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
83pub enum TracingCompleteMethod {
84    #[serde(rename = "Tracing.tracingComplete")]
85    TracingComplete,
86}
87#[doc = "Signals that tracing is stopped and there is no trace buffers pending flush, all data were\ndelivered via dataCollected events.\n[tracingComplete](https://chromedevtools.github.io/devtools-protocol/tot/Tracing/#event-tracingComplete)"]
88#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
89pub struct TracingComplete {
90    pub method: TracingCompleteMethod,
91    pub params: TracingCompleteParams,
92}
93impl TracingComplete {
94    pub const IDENTIFIER: &'static str = "Tracing.tracingComplete";
95    pub fn identifier(&self) -> &'static str {
96        Self::IDENTIFIER
97    }
98}
99group_enum ! (TracingEvents { BufferUsage (BufferUsage) , DataCollected (DataCollected) , TracingComplete (TracingComplete) } + identifiable);