Struct puffin::StreamInfo
source · pub struct StreamInfo {
pub stream: Stream,
pub num_scopes: usize,
pub depth: usize,
pub range_ns: (NanoSecond, NanoSecond),
}
Expand description
TODO: Improve encapsulation.
A Stream
plus some info about it.
Fields§
§stream: Stream
The raw profile data.
num_scopes: usize
Total number of scopes in the stream.
depth: usize
The depth of the deepest scope.
0
mean no scopes, 1
some scopes without children, etc.
range_ns: (NanoSecond, NanoSecond)
The smallest and largest nanosecond value in the stream.
The default value is (NanoSecond::MAX
, NanoSecond::MIN
) which indicates an empty stream.
Implementations§
source§impl StreamInfo
impl StreamInfo
sourcepub fn parse(stream: Stream) -> Result<StreamInfo>
pub fn parse(stream: Stream) -> Result<StreamInfo>
Parse a stream to count the depth, number of scopes in it etc.
Try to avoid calling this, and instead keep score while collecting a StreamInfo
.
sourcepub fn extend(&mut self, other: &StreamInfoRef<'_>)
pub fn extend(&mut self, other: &StreamInfoRef<'_>)
Extends this StreamInfo
with another StreamInfo
.
sourcepub fn clear(&mut self)
pub fn clear(&mut self)
Clears the contents of this StreamInfo
.
sourcepub fn as_stream_into_ref(&self) -> StreamInfoRef<'_>
pub fn as_stream_into_ref(&self) -> StreamInfoRef<'_>
Returns a reference to the contents of this StreamInfo
.
Trait Implementations§
source§impl Clone for StreamInfo
impl Clone for StreamInfo
source§fn clone(&self) -> StreamInfo
fn clone(&self) -> StreamInfo
Returns a copy 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 Default for StreamInfo
impl Default for StreamInfo
source§impl<'de> Deserialize<'de> for StreamInfo
impl<'de> Deserialize<'de> for StreamInfo
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 StreamInfo
impl RefUnwindSafe for StreamInfo
impl Send for StreamInfo
impl Sync for StreamInfo
impl Unpin for StreamInfo
impl UnwindSafe for StreamInfo
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
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more