#[non_exhaustive]pub struct PerfSummary {
pub frames: u32,
pub dropped: u64,
pub frame: Spread,
pub update: Spread,
pub draw: Spread,
pub paint: Spread,
pub present: Spread,
pub spans: Vec<SpanSummary>,
pub heap: Option<HeapSummary>,
pub heap_tags: Vec<TagRow>,
pub heap_growth: Option<HeapDiff>,
pub file: Option<String>,
}Expand description
What a trace’s records add up to.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.frames: u32The records summed up: the frames kept.
dropped: u64How many earlier frames’ records were no longer kept.
frame: SpreadHow the whole frame’s time spread (frame_us).
update: SpreadHow the update’s spread (update_us).
draw: SpreadHow the drawing’s spread (draw_us).
paint: SpreadHow painting into the window spread (paint_us).
present: SpreadHow the backend’s swap and wait spread (present_us).
spans: Vec<SpanSummary>The spans with the most time in all, most first (ties by name), at most five.
heap: Option<HeapSummary>The heap’s counts over the records that have them; null where none has (a release build of the tool program, or one opted out).
What held the heap after the last frame: the snapshot’s first ten rows by tag, the most live bytes first. Empty without a snapshot.
heap_growth: Option<HeapDiff>What grew and shrank from the snapshot before the run to the one after: the diff, with its first ten rows, the largest change first. Null without snapshots.
file: Option<String>The trace file written, its absolute path, with --perf-out.
Trait Implementations§
Source§impl Clone for PerfSummary
impl Clone for PerfSummary
Source§fn clone(&self) -> PerfSummary
fn clone(&self) -> PerfSummary
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for PerfSummary
impl Debug for PerfSummary
Source§impl<'de> Deserialize<'de> for PerfSummary
impl<'de> Deserialize<'de> for PerfSummary
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>,
impl Eq for PerfSummary
Source§impl JsonSchema for PerfSummary
impl JsonSchema for PerfSummary
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
$ref keyword. Read moreSource§impl PartialEq for PerfSummary
impl PartialEq for PerfSummary
Source§impl Serialize for PerfSummary
impl Serialize for PerfSummary
impl StructuralPartialEq for PerfSummary
Auto Trait Implementations§
impl Freeze for PerfSummary
impl RefUnwindSafe for PerfSummary
impl Send for PerfSummary
impl Sync for PerfSummary
impl Unpin for PerfSummary
impl UnsafeUnpin for PerfSummary
impl UnwindSafe for PerfSummary
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.