Skip to main content

ChromeFrameReporter

Struct ChromeFrameReporter 

Source
pub struct ChromeFrameReporter {
Show 18 fields pub state: Option<i32>, pub reason: Option<i32>, pub frame_source: Option<u64>, pub frame_sequence: Option<u64>, pub affects_smoothness: Option<bool>, pub scroll_state: Option<i32>, pub has_main_animation: Option<bool>, pub has_compositor_animation: Option<bool>, pub has_smooth_input_main: Option<bool>, pub has_missing_content: Option<bool>, pub layer_tree_host_id: Option<u64>, pub has_high_latency: Option<bool>, pub frame_type: Option<i32>, pub high_latency_contribution_stage: Vec<String>, pub checkerboarded_needs_raster: Option<bool>, pub checkerboarded_needs_record: Option<bool>, pub surface_frame_trace_id: Option<i64>, pub display_trace_id: Option<i64>,
}
Expand description

DEPRECATED. Only kept for backwards compatibility. Use |ChromeFrameReporter2| in https://source.chromium.org/chromium/chromium/src/+/main:base/tracing/protos/chrome_track_event.proto instead.

Fields§

§state: Option<i32>§reason: Option<i32>

The reason is set only if |state| is not |STATE_UPDATED_ALL|.

§frame_source: Option<u64>§frame_sequence: Option<u64>§affects_smoothness: Option<bool>

If this is a droped frame (i.e. if |state| is set to |STATE_DROPPED| or |STATE_PRESENTED_PARTIAL|), then indicates whether this frame impacts smoothness.

§scroll_state: Option<i32>

The type of active scroll.

§has_main_animation: Option<bool>

If any main thread animation is active during this frame.

§has_compositor_animation: Option<bool>

If any compositor thread animation is active during this frame.

§has_smooth_input_main: Option<bool>

If any touch-driven UX (not scroll) is active during this frame.

§has_missing_content: Option<bool>

Whether the frame contained any missing content (i.e. whether there was checkerboarding in the frame). If has_missing_content, checkerboarded_needs_raster and checkerboarded_needs_record all have values, has_missing_content should equal checkerboarded_needs_raster || checkerboarded_needs_record.

§layer_tree_host_id: Option<u64>

The id of layer_tree_host that the frame has been produced for.

§has_high_latency: Option<bool>

If total latency of PipelineReporter exceeds a certain limit.

§frame_type: Option<i32>

Indicate if the frame is “FORKED” (i.e. a PipelineReporter event starts at the same frame sequence as another PipelineReporter) or “BACKFILL” (i.e. dropped frames when there are no partial compositor updates).

§high_latency_contribution_stage: Vec<String>

The breakdown stage of PipelineReporter that is most likely accountable for high latency.

§checkerboarded_needs_raster: Option<bool>

Whether the frame contained any content that is not fully rastered.

§checkerboarded_needs_record: Option<bool>

Whether the frame contained any content that is not fully recorded.

§surface_frame_trace_id: Option<i64>

viz::BeginFrameArgs.trace_id of the frame (before surface aggregation). See also ChromeTrackEvent.EventLatency.surface_frame_trace_id.

§display_trace_id: Option<i64>

gfx::PresentationFeedback.display_trace_id of the frame (after surface aggregation). See also ChromeTrackEvent.EventLatency.display_trace_id.

Implementations§

Source§

impl ChromeFrameReporter

Source

pub fn state(&self) -> State

Returns the enum value of state, or the default if the field is unset or set to an invalid enum value.

Source

pub fn set_state(&mut self, value: State)

Sets state to the provided enum value.

Source

pub fn reason(&self) -> FrameDropReason

Returns the enum value of reason, or the default if the field is unset or set to an invalid enum value.

Source

pub fn set_reason(&mut self, value: FrameDropReason)

Sets reason to the provided enum value.

Source

pub fn frame_source(&self) -> u64

Returns the value of frame_source, or the default value if frame_source is unset.

Source

pub fn frame_sequence(&self) -> u64

Returns the value of frame_sequence, or the default value if frame_sequence is unset.

Source

pub fn affects_smoothness(&self) -> bool

Returns the value of affects_smoothness, or the default value if affects_smoothness is unset.

Source

pub fn scroll_state(&self) -> ScrollState

Returns the enum value of scroll_state, or the default if the field is unset or set to an invalid enum value.

Source

pub fn set_scroll_state(&mut self, value: ScrollState)

Sets scroll_state to the provided enum value.

Source

pub fn has_main_animation(&self) -> bool

Returns the value of has_main_animation, or the default value if has_main_animation is unset.

Source

pub fn has_compositor_animation(&self) -> bool

Returns the value of has_compositor_animation, or the default value if has_compositor_animation is unset.

Source

pub fn has_smooth_input_main(&self) -> bool

Returns the value of has_smooth_input_main, or the default value if has_smooth_input_main is unset.

Source

pub fn has_missing_content(&self) -> bool

Returns the value of has_missing_content, or the default value if has_missing_content is unset.

Source

pub fn layer_tree_host_id(&self) -> u64

Returns the value of layer_tree_host_id, or the default value if layer_tree_host_id is unset.

Source

pub fn has_high_latency(&self) -> bool

Returns the value of has_high_latency, or the default value if has_high_latency is unset.

Source

pub fn frame_type(&self) -> FrameType

Returns the enum value of frame_type, or the default if the field is unset or set to an invalid enum value.

Source

pub fn set_frame_type(&mut self, value: FrameType)

Sets frame_type to the provided enum value.

Source

pub fn checkerboarded_needs_raster(&self) -> bool

Returns the value of checkerboarded_needs_raster, or the default value if checkerboarded_needs_raster is unset.

Source

pub fn checkerboarded_needs_record(&self) -> bool

Returns the value of checkerboarded_needs_record, or the default value if checkerboarded_needs_record is unset.

Source

pub fn surface_frame_trace_id(&self) -> i64

Returns the value of surface_frame_trace_id, or the default value if surface_frame_trace_id is unset.

Source

pub fn display_trace_id(&self) -> i64

Returns the value of display_trace_id, or the default value if display_trace_id is unset.

Trait Implementations§

Source§

impl Clone for ChromeFrameReporter

Source§

fn clone(&self) -> ChromeFrameReporter

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for ChromeFrameReporter

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for ChromeFrameReporter

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl Hash for ChromeFrameReporter

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl Message for ChromeFrameReporter

Source§

fn encoded_len(&self) -> usize

Returns the encoded length of the message without a length delimiter.
Source§

fn clear(&mut self)

Clears the message, resetting all fields to their default.
Source§

fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>
where Self: Sized,

Encodes the message to a buffer. Read more
Source§

fn encode_to_vec(&self) -> Vec<u8>
where Self: Sized,

Encodes the message to a newly allocated buffer.
Source§

fn encode_length_delimited( &self, buf: &mut impl BufMut, ) -> Result<(), EncodeError>
where Self: Sized,

Encodes the message with a length-delimiter to a buffer. Read more
Source§

fn encode_length_delimited_to_vec(&self) -> Vec<u8>
where Self: Sized,

Encodes the message with a length-delimiter to a newly allocated buffer.
Source§

fn decode(buf: impl Buf) -> Result<Self, DecodeError>
where Self: Default,

Decodes an instance of the message from a buffer. Read more
Source§

fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>
where Self: Default,

Decodes a length-delimited instance of the message from the buffer.
Source§

fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>
where Self: Sized,

Decodes an instance of the message from a buffer, and merges it into self. Read more
Source§

fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>
where Self: Sized,

Decodes a length-delimited instance of the message from buffer, and merges it into self.
Source§

impl PartialEq for ChromeFrameReporter

Source§

fn eq(&self, other: &ChromeFrameReporter) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Eq for ChromeFrameReporter

Source§

impl StructuralPartialEq for ChromeFrameReporter

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.