rustenium_cdp_definitions/browser_protocol/tracing/
events.rs1use 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);