pub struct BlobsGcInfo {
pub interval_secs: u64,
pub runs: u64,
pub last_run_epoch: Option<i64>,
pub last_protected: u64,
pub aborted: u64,
}Expand description
The status.storage.blobs_gc block (#80): what the background app-blob collector has done.
There is deliberately no bytes_reclaimed. iroh-blobs calls back only BEFORE a sweep, never
after, so any byte count here would be a guess. blobs_bytes is measured by walking the store
directory; an operator reads reclaim off that, over time.
Fields§
§interval_secs: u64The interval the store is actually running on, in seconds.
runs: u64Runs STARTED. iroh-blobs offers no completion callback, so this counts sweeps begun.
Watch this number. Upstream’s collector breaks its loop on the first sweep error
rather than continuing, so one failure silently ends collection until the daemon restarts. A
runs that stops advancing across several intervals is the only signal that happened.
Also: the collector SLEEPS before its first run, so a node with a 24h interval reports
runs: 0 for its first 24 hours. That is not a fault.
last_run_epoch: Option<i64>Unix seconds at the start of the most recent run; None before the first.
last_protected: u64Hashes protected on the most recent run — the size of the liveness root the scope table produced.
aborted: u64Runs ABORTED because the liveness root could not be read. Each one swept nothing, which is the intended fail-safe; a number that climbs means collection is not happening.
Trait Implementations§
Source§impl Clone for BlobsGcInfo
impl Clone for BlobsGcInfo
Source§fn clone(&self) -> BlobsGcInfo
fn clone(&self) -> BlobsGcInfo
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more