pub enum ChurnWindow {
Relative {
count: u64,
unit: ChurnWindowUnit,
},
Date(String),
Imported,
}Expand description
The span of history churn analysis covers.
A relative window is stored as its duration rather than as the wall-clock string git resolves, so the same token always keys the same cache entry while the cutoff it resolves to moves with the run clock.
Variants§
Relative
A span measured back from the run clock.
Fields
§
unit: ChurnWindowUnitThe unit count is measured in.
Date(String)
An absolute ISO YYYY-MM-DD date, read as UTC midnight.
Imported
No window: imported churn covers whatever the exporter selected.
Implementations§
Source§impl ChurnWindow
impl ChurnWindow
Sourcepub fn cache_token(&self) -> String
pub fn cache_token(&self) -> String
Stable cache key for this window. Absolute for a date, the duration
token ("1y", "90d") for a relative span.
Sourcepub fn cutoff_secs(&self, clock: &AnalysisClock) -> Option<u64>
pub fn cutoff_secs(&self, clock: &AnalysisClock) -> Option<u64>
The oldest commit timestamp this window includes, resolved against
clock. None for imported churn, which has no cutoff to apply.
Trait Implementations§
Source§impl Clone for ChurnWindow
impl Clone for ChurnWindow
Source§impl Debug for ChurnWindow
impl Debug for ChurnWindow
impl Eq for ChurnWindow
Source§impl PartialEq for ChurnWindow
impl PartialEq for ChurnWindow
impl StructuralPartialEq for ChurnWindow
Auto Trait Implementations§
impl Freeze for ChurnWindow
impl RefUnwindSafe for ChurnWindow
impl Send for ChurnWindow
impl Sync for ChurnWindow
impl Unpin for ChurnWindow
impl UnsafeUnpin for ChurnWindow
impl UnwindSafe for ChurnWindow
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§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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 more