pub enum HealthBaselineMode {
Count,
Identity,
}Expand description
How a saved health baseline is matched against current findings.
Variants§
Count
Match per file and finding category. Resilient to renames and line shifts, but a replacement hotspot consumes the allowance of the hotspot it replaced.
Count buckets do not survive file moves: the bucket key is the path and the payload is category tallies alone, so a bucket whose file moved has no surviving identity component to re-match on. Guessing a new path from count shapes could silently transfer allowance between unrelated files, so no move tolerance is attempted in this mode.
Identity
Match per function identity (path plus function name) and finding category. A hotspot that replaces another hotspot in the same file is reported, while line shifts and in-place edits stay suppressed.
Identity buckets tolerate file moves conservatively: a bucket whose
path no longer exists on disk follows its function name to a new path
when exactly one unclaimed current bucket carries that name, resolved
by moved_identity_bucket_remaps.
Trait Implementations§
Source§impl Clone for HealthBaselineMode
impl Clone for HealthBaselineMode
impl Copy for HealthBaselineMode
Source§impl Debug for HealthBaselineMode
impl Debug for HealthBaselineMode
Source§impl Default for HealthBaselineMode
impl Default for HealthBaselineMode
impl Eq for HealthBaselineMode
Source§impl PartialEq for HealthBaselineMode
impl PartialEq for HealthBaselineMode
impl StructuralPartialEq for HealthBaselineMode
Auto Trait Implementations§
impl Freeze for HealthBaselineMode
impl RefUnwindSafe for HealthBaselineMode
impl Send for HealthBaselineMode
impl Sync for HealthBaselineMode
impl Unpin for HealthBaselineMode
impl UnsafeUnpin for HealthBaselineMode
impl UnwindSafe for HealthBaselineMode
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§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
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> ⓘ
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> ⓘ
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