pub struct SessionStatsTracker {
pub compilations: u64,
pub hits: u64,
pub misses: u64,
pub non_cacheable: u64,
pub errors: u64,
pub time_saved_ns: u64,
pub sources: HashSet<NormalizedPath>,
pub bytes_read: u64,
pub bytes_written: u64,
}Expand description
Per-session statistics tracker. Only allocated when the session opts in.
Fields§
§compilations: u64Total compile requests in this session.
hits: u64Cache hits.
misses: u64Cache misses.
non_cacheable: u64Non-cacheable invocations.
errors: u64Compilations with non-zero exit.
time_saved_ns: u64Estimated time saved in nanoseconds.
sources: HashSet<NormalizedPath>Distinct source files compiled.
bytes_read: u64Artifact bytes served from cache.
bytes_written: u64Artifact bytes stored into cache.
Implementations§
Source§impl SessionStatsTracker
impl SessionStatsTracker
Sourcepub fn record_hit(&mut self, source: NormalizedPath, saved_ns: u64, bytes: u64)
pub fn record_hit(&mut self, source: NormalizedPath, saved_ns: u64, bytes: u64)
Record a cache hit.
Sourcepub fn record_miss(&mut self, source: NormalizedPath, bytes: u64)
pub fn record_miss(&mut self, source: NormalizedPath, bytes: u64)
Record a cache miss.
Sourcepub fn record_non_cacheable(&mut self)
pub fn record_non_cacheable(&mut self)
Record a non-cacheable invocation.
Sourcepub fn record_error(&mut self)
pub fn record_error(&mut self)
Record a compile error.
Sourcepub fn finalize(&self, created_at: Instant) -> FinalizedSessionStats
pub fn finalize(&self, created_at: Instant) -> FinalizedSessionStats
Finalize into a plain stats struct given the session’s creation time.
Trait Implementations§
Source§impl Clone for SessionStatsTracker
impl Clone for SessionStatsTracker
Source§fn clone(&self) -> SessionStatsTracker
fn clone(&self) -> SessionStatsTracker
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · 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 SessionStatsTracker
impl Debug for SessionStatsTracker
Auto Trait Implementations§
impl Freeze for SessionStatsTracker
impl RefUnwindSafe for SessionStatsTracker
impl Send for SessionStatsTracker
impl Sync for SessionStatsTracker
impl Unpin for SessionStatsTracker
impl UnsafeUnpin for SessionStatsTracker
impl UnwindSafe for SessionStatsTracker
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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§impl<F, W, T, D> Deserialize<With<T, W>, D> for F
impl<F, W, T, D> Deserialize<With<T, W>, D> for F
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> 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 moreSource§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Gets the layout of the type.