pub enum DiagEventKind {
Show 21 variants
FrameStart {
root: Option<u128>,
},
FrameEnd {
stats: FrameStats,
},
DiffSummary {
nodes_total: u32,
nodes_created: u32,
nodes_removed: u32,
nodes_changed: u32,
dirty_layout: u32,
dirty_paint: u32,
},
LayoutSummary {
nodes: u32,
dirty_count: u32,
full_rebuild: bool,
duration_ns: u64,
},
PaintSummary {
segments_reused: u32,
segments_regenerated: u32,
paint_ops_total: u32,
},
PaintNode {
node: u128,
note: Option<String>,
},
PaintNodeRect {
node: u128,
x: f32,
y: f32,
w: f32,
h: f32,
note: Option<String>,
},
NodeProps {
node: u128,
op_tag: String,
flex_grow: f32,
flex_shrink: f32,
width: Option<f32>,
height: Option<f32>,
},
RasterSummary {
cache_hits: u32,
cache_misses: u32,
tiles_rasterized: u32,
},
AnimationSummary {
active_count: u32,
started: u32,
replaced: u32,
ended: u32,
},
MediaSummary {
video_nodes: u32,
audio_nodes: u32,
embeds_total: u32,
},
PortalsComposed {
portal_count: u32,
},
AnchorPlacement {
widget: u128,
node: u128,
rect_x: f32,
rect_y: f32,
rect_w: f32,
rect_h: f32,
place_left: f32,
place_top: f32,
note: Option<String>,
},
InvariantViolation {
kind: String,
node: Option<u128>,
details: String,
dump_ref: Option<String>,
},
InputEvent {
kind: String,
target: Option<u128>,
position: Option<(f32, f32)>,
},
MediaEvent {
kind: String,
id: Option<u128>,
duration_ms: Option<u64>,
position_ms: Option<u64>,
},
TextInputAutoScroll {
scroll_id: u128,
text_id: u128,
text_len: u32,
measured_w: f32,
line_h: f32,
viewport_x: f32,
viewport_w: f32,
content_w: f32,
caret_abs_x: f32,
offset_before: f32,
offset_after: f32,
},
ScrollExtent {
node: u128,
viewport_w: f32,
viewport_h: f32,
content_w: f32,
content_h: f32,
note: Option<String>,
},
ScrollUpdate {
node: u128,
axis: String,
point_x: f32,
point_y: f32,
delta: f32,
old_offset: f32,
new_offset: f32,
max_offset: f32,
viewport_w: f32,
viewport_h: f32,
content_w: f32,
content_h: f32,
},
ScrollPaintTranslate {
node: u128,
axis: String,
offset: f32,
translate_x: f32,
translate_y: f32,
},
TextLayoutPerformance {
text_len: u32,
is_rich: bool,
duration_ns: u64,
},
}Expand description
The concrete payload for a diagnostic event.
Each variant covers a specific pipeline stage or cross-cutting concern.
Serialized with #[serde(tag = "kind", content = "payload")].
Variants§
FrameStart
FrameEnd
Fields
§
stats: FrameStatsDiffSummary
Fields
LayoutSummary
PaintSummary
PaintNode
PaintNodeRect
NodeProps
Fields
RasterSummary
AnimationSummary
MediaSummary
PortalsComposed
AnchorPlacement
Fields
InvariantViolation
InputEvent
MediaEvent
TextInputAutoScroll
Fields
ScrollExtent
Fields
ScrollUpdate
Fields
ScrollPaintTranslate
TextLayoutPerformance
Trait Implementations§
Source§impl Clone for DiagEventKind
impl Clone for DiagEventKind
Source§fn clone(&self) -> DiagEventKind
fn clone(&self) -> DiagEventKind
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for DiagEventKind
impl Debug for DiagEventKind
Source§impl<'de> Deserialize<'de> for DiagEventKind
impl<'de> Deserialize<'de> for DiagEventKind
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for DiagEventKind
impl RefUnwindSafe for DiagEventKind
impl Send for DiagEventKind
impl Sync for DiagEventKind
impl Unpin for DiagEventKind
impl UnsafeUnpin for DiagEventKind
impl UnwindSafe for DiagEventKind
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more