pub struct ScanReport {
pub buckets_scanned: usize,
pub configs_evaluated: usize,
pub csvs_written: usize,
pub objects_listed: usize,
pub errors: usize,
}Expand description
Per-invocation scanner counters returned by run_scan_once (v0.7
#46). Useful for tests, the
--inventory-scan-interval-hours log line, and any future
/admin/inventory/scan introspection endpoint.
errors is the count of (bucket, config) pairs the scanner could not
finish — listed-but-failed-to-walk, head-but-failed-to-read, or
destination-PUT-failed. Each individual failure is logged at WARN
level; the counter exists so tests / metrics can assert no silent
loss.
Fields§
§buckets_scanned: usizeNumber of source buckets walked (= distinct cfg.bucket values
among the due configs evaluated this run).
configs_evaluated: usizeNumber of inventory configurations the scanner inspected (whether or not they were due).
csvs_written: usizeNumber of CSVs written to a destination bucket prefix this run. Equals the number of due configs that completed without an error; a failed config does NOT bump this counter.
objects_listed: usizeNumber of source-bucket objects the scanner enumerated across every walked config. Multi-page lists count one key once even if the listing was paginated.
errors: usizeNumber of failures encountered (one per failing config — the scanner does NOT abort early on a single bad config so one slow / faulty bucket can’t starve every other config’s inventory).
Trait Implementations§
Source§impl Clone for ScanReport
impl Clone for ScanReport
Source§fn clone(&self) -> ScanReport
fn clone(&self) -> ScanReport
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 ScanReport
impl Debug for ScanReport
Source§impl Default for ScanReport
impl Default for ScanReport
Source§fn default() -> ScanReport
fn default() -> ScanReport
Source§impl PartialEq for ScanReport
impl PartialEq for ScanReport
Source§fn eq(&self, other: &ScanReport) -> bool
fn eq(&self, other: &ScanReport) -> bool
self and other values to be equal, and is used by ==.impl Copy for ScanReport
impl Eq for ScanReport
impl StructuralPartialEq for ScanReport
Auto Trait Implementations§
impl Freeze for ScanReport
impl RefUnwindSafe for ScanReport
impl Send for ScanReport
impl Sync for ScanReport
impl Unpin for ScanReport
impl UnsafeUnpin for ScanReport
impl UnwindSafe for ScanReport
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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§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.