pub struct Stats {
pub created_at: Option<Timestamp>,
pub dropped_at: Option<Timestamp>,
pub wakes: u64,
pub waker_clones: u64,
pub waker_drops: u64,
pub last_wake: Option<Timestamp>,
pub poll_stats: Option<PollStats>,
pub self_wakes: u64,
pub scheduled_time: Option<Duration>,
}
Expand description
Task performance statistics.
Fields§
§created_at: Option<Timestamp>
Timestamp of when the task was spawned.
dropped_at: Option<Timestamp>
Timestamp of when the task was dropped.
wakes: u64
The total number of times this task has been woken over its lifetime.
waker_clones: u64
The total number of times this task’s waker has been cloned.
waker_drops: u64
The total number of times this task’s waker has been dropped.
last_wake: Option<Timestamp>
The timestamp of the most recent time this task has been woken.
If this is None
, the task has not yet been woken.
poll_stats: Option<PollStats>
Contains task poll statistics.
self_wakes: u64
The total number of times this task has woken itself.
scheduled_time: Option<Duration>
The total duration this task was scheduled prior to being polled, summed across all poll cycles.
Note that this includes only polls that have started, and does not
reflect any scheduled state where the task hasn’t yet been polled.
Subtracting both busy_time
(from the task’s PollStats
) and
scheduled_time
from the total lifetime of the task results in the
amount of time it spent unable to progress because it was waiting on
some resource.
Trait Implementations§
source§impl Message for Stats
impl Message for Stats
source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
source§fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
source§fn encode_to_vec(&self) -> Vec<u8>where
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8>where
Self: Sized,
source§fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
source§fn encode_length_delimited_to_vec(&self) -> Vec<u8>where
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8>where
Self: Sized,
source§fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
source§fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
source§fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self
. Read moresource§fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self
.impl Copy for Stats
impl StructuralPartialEq for Stats
Auto Trait Implementations§
impl Freeze for Stats
impl RefUnwindSafe for Stats
impl Send for Stats
impl Sync for Stats
impl Unpin for Stats
impl UnwindSafe for Stats
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,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T
in a tonic::Request