pub struct ObservedIndexBlobs {
pub count: i64,
pub observed_at: String,
}Expand description
The repository’s content-index blob count as re-counted immediately after a successful maintenance run, with the instant it was taken.
Why this lives on Maintenance and not only on the repository: the
repository’s own status.storageStats.indexBlobCount is written by the
bootstrap path, which runs on the catalog cadence and can be hours or days
stale. Compaction happens during maintenance, so the count right after a run
is the freshest truth there is — and without it the IndexBlobHealth
warning keeps quoting a pre-compaction number long after compaction fixed
it. The repository reconciler reads this and adopts it when it is newer than
its own observation, which is what the timestamp is for.
Written by the mover, best-effort (a kopia index list on an unhealthy
repository is exactly the slow case), and read by the repository
reconcilers. Absent when the recount did not complete — never 0, which
would read as a perfectly healthy index.
Fields§
§count: i64Number of content-index blobs (kopia index list) after the run.
observed_at: StringRFC3339 instant the recount was taken. What makes this observation
comparable against the repository’s own storageStats.indexBlobCountAt,
so whichever is newer wins rather than whichever was written last.
Trait Implementations§
Source§impl Clone for ObservedIndexBlobs
impl Clone for ObservedIndexBlobs
Source§fn clone(&self) -> ObservedIndexBlobs
fn clone(&self) -> ObservedIndexBlobs
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ObservedIndexBlobs
impl Debug for ObservedIndexBlobs
Source§impl Default for ObservedIndexBlobs
impl Default for ObservedIndexBlobs
Source§fn default() -> ObservedIndexBlobs
fn default() -> ObservedIndexBlobs
Source§impl<'de> Deserialize<'de> for ObservedIndexBlobs
impl<'de> Deserialize<'de> for ObservedIndexBlobs
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>,
impl Eq for ObservedIndexBlobs
Source§impl JsonSchema for ObservedIndexBlobs
impl JsonSchema for ObservedIndexBlobs
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
$ref keyword. Read moreSource§impl PartialEq for ObservedIndexBlobs
impl PartialEq for ObservedIndexBlobs
Source§fn eq(&self, other: &ObservedIndexBlobs) -> bool
fn eq(&self, other: &ObservedIndexBlobs) -> bool
self and other values to be equal, and is used by ==.Source§impl Serialize for ObservedIndexBlobs
impl Serialize for ObservedIndexBlobs
impl StructuralPartialEq for ObservedIndexBlobs
Auto Trait Implementations§
impl Freeze for ObservedIndexBlobs
impl RefUnwindSafe for ObservedIndexBlobs
impl Send for ObservedIndexBlobs
impl Sync for ObservedIndexBlobs
impl Unpin for ObservedIndexBlobs
impl UnsafeUnpin for ObservedIndexBlobs
impl UnwindSafe for ObservedIndexBlobs
Blanket Implementations§
§impl<T> AnyExt for T
impl<T> AnyExt for T
§fn downcast_ref<T>(this: &Self) -> Option<&T>where
T: Any,
fn downcast_ref<T>(this: &Self) -> Option<&T>where
T: Any,
T behind reference§fn downcast_mut<T>(this: &mut Self) -> Option<&mut T>where
T: Any,
fn downcast_mut<T>(this: &mut Self) -> Option<&mut T>where
T: Any,
T behind mutable reference§fn downcast_rc<T>(this: Rc<Self>) -> Result<Rc<T>, Rc<Self>>where
T: Any,
fn downcast_rc<T>(this: Rc<Self>) -> Result<Rc<T>, Rc<Self>>where
T: Any,
T behind Rc pointer§fn downcast_arc<T>(this: Arc<Self>) -> Result<Arc<T>, Arc<Self>>where
T: Any,
fn downcast_arc<T>(this: Arc<Self>) -> Result<Arc<T>, Arc<Self>>where
T: Any,
T behind Arc pointer§fn downcast_box<T>(this: Box<Self>) -> Result<Box<T>, Box<Self>>where
T: Any,
fn downcast_box<T>(this: Box<Self>) -> Result<Box<T>, Box<Self>>where
T: Any,
T behind Box pointer§fn downcast_move<T>(this: Self) -> Option<T>
fn downcast_move<T>(this: Self) -> Option<T>
Self to T,
useful only in generic context as a workaround for specializationSource§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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T, X> CoerceTo<T> for Xwhere
T: CoerceFrom<X> + ?Sized,
impl<T, X> CoerceTo<T> for Xwhere
T: CoerceFrom<X> + ?Sized,
fn coerce_rc_to(self: Rc<X>) -> Rc<T>
fn coerce_box_to(self: Box<X>) -> Box<T>
fn coerce_ref_to(&self) -> &T
fn coerce_mut_to(&mut self) -> &mut T
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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