pub struct IndexingProgress {Show 45 fields
pub total: AtomicUsize,
pub current: AtomicUsize,
pub phase: AtomicUsize,
pub is_rebuilding: AtomicBool,
pub discovered_agents: AtomicUsize,
pub discovered_agent_names: Mutex<Vec<String>>,
pub last_error: Mutex<Option<String>>,
pub stats: Mutex<IndexingStats>,
pub rebuild_pipeline_queue_depth: AtomicUsize,
pub rebuild_pipeline_inflight_message_bytes: AtomicUsize,
pub rebuild_pipeline_pending_batch_conversations: AtomicUsize,
pub rebuild_pipeline_pending_batch_message_bytes: AtomicUsize,
pub rebuild_pipeline_page_prep_workers: AtomicUsize,
pub rebuild_pipeline_active_page_prep_jobs: AtomicUsize,
pub rebuild_pipeline_ordered_buffered_pages: AtomicUsize,
pub rebuild_pipeline_budget_generation: AtomicUsize,
pub rebuild_pipeline_producer_budget_wait_count: AtomicUsize,
pub rebuild_pipeline_producer_budget_wait_ms: AtomicUsize,
pub rebuild_pipeline_producer_handoff_wait_count: AtomicUsize,
pub rebuild_pipeline_producer_handoff_wait_ms: AtomicUsize,
pub rebuild_pipeline_host_loadavg_1m_milli: Mutex<Option<u32>>,
pub rebuild_pipeline_host_available_memory_bytes: Mutex<Option<u64>>,
pub rebuild_pipeline_process_rss_bytes: Mutex<Option<u64>>,
pub rebuild_pipeline_controller_mode: Mutex<String>,
pub rebuild_pipeline_controller_reason: Mutex<String>,
pub rebuild_pipeline_staged_merge_workers_max: AtomicUsize,
pub rebuild_pipeline_staged_merge_allowed_jobs: AtomicUsize,
pub rebuild_pipeline_staged_merge_active_jobs: AtomicUsize,
pub rebuild_pipeline_staged_merge_ready_artifacts: AtomicUsize,
pub rebuild_pipeline_staged_merge_ready_groups: AtomicUsize,
pub rebuild_pipeline_staged_merge_controller_reason: Mutex<String>,
pub rebuild_pipeline_staged_shard_build_workers_max: AtomicUsize,
pub rebuild_pipeline_staged_shard_build_allowed_jobs: AtomicUsize,
pub rebuild_pipeline_staged_shard_build_active_jobs: AtomicUsize,
pub rebuild_pipeline_staged_shard_build_pending_jobs: AtomicUsize,
pub rebuild_pipeline_staged_shard_build_controller_reason: Mutex<String>,
pub rebuild_pipeline_staged_shard_build_memory_reserve_bytes: AtomicUsize,
pub rebuild_pipeline_staged_shard_build_emergency_memory_reserve_bytes: AtomicUsize,
pub rebuild_pipeline_staged_shard_build_completed_jobs: AtomicUsize,
pub rebuild_pipeline_staged_shard_build_last_shard_index: Mutex<Option<usize>>,
pub rebuild_pipeline_staged_shard_build_last_message_bytes: AtomicUsize,
pub rebuild_pipeline_staged_shard_build_last_index_size_bytes: AtomicU64,
pub rebuild_pipeline_staged_shard_build_last_duration_ms: AtomicU64,
pub rebuild_pipeline_staged_shard_build_last_amplification_milli: Mutex<Option<u64>>,
pub rebuild_pipeline_staged_shard_build_observed_amplification_milli: Mutex<Option<u64>>,
}Fields§
§total: AtomicUsize§current: AtomicUsize§phase: AtomicUsize§is_rebuilding: AtomicBool§discovered_agents: AtomicUsizeNumber of coding agents discovered so far during scanning
discovered_agent_names: Mutex<Vec<String>>Names of discovered agents (protected by mutex for concurrent access)
last_error: Mutex<Option<String>>Last error message from background indexer, if any
stats: Mutex<IndexingStats>Structured stats for JSON output (T7.4)
rebuild_pipeline_queue_depth: AtomicUsizeLive authoritative rebuild queue depth for same-process progress output.
rebuild_pipeline_inflight_message_bytes: AtomicUsizeLive authoritative rebuild in-flight byte budget usage.
rebuild_pipeline_pending_batch_conversations: AtomicUsizeConversations currently buffered in the sink-side pending batch.
rebuild_pipeline_pending_batch_message_bytes: AtomicUsizeMessage bytes currently buffered in the sink-side pending batch.
rebuild_pipeline_page_prep_workers: AtomicUsizeConfigured producer-side page-prep worker count for the active rebuild.
rebuild_pipeline_active_page_prep_jobs: AtomicUsizeProducer-side page-prep jobs currently queued or running in workers.
rebuild_pipeline_ordered_buffered_pages: AtomicUsizePrepared pages waiting behind the ordered handoff barrier.
rebuild_pipeline_budget_generation: AtomicUsizeRuntime budget generation observed by the rebuild pipeline.
rebuild_pipeline_producer_budget_wait_count: AtomicUsizeProducer-side waits on the in-flight byte budget.
rebuild_pipeline_producer_budget_wait_ms: AtomicUsizeProducer-side milliseconds spent waiting on the in-flight byte budget.
rebuild_pipeline_producer_handoff_wait_count: AtomicUsizeProducer-side waits on bounded sink handoff.
rebuild_pipeline_producer_handoff_wait_ms: AtomicUsizeProducer-side milliseconds spent waiting on bounded sink handoff.
rebuild_pipeline_host_loadavg_1m_milli: Mutex<Option<u32>>Sampled host 1-minute load average while the rebuild is active, in milli-loadavg units.
rebuild_pipeline_host_available_memory_bytes: Mutex<Option<u64>>Sampled host MemAvailable while the rebuild is active.
rebuild_pipeline_process_rss_bytes: Mutex<Option<u64>>Sampled process resident set size while the rebuild is active.
rebuild_pipeline_controller_mode: Mutex<String>Human-readable runtime controller mode for the active rebuild.
rebuild_pipeline_controller_reason: Mutex<String>Human-readable reason explaining the current controller mode.
rebuild_pipeline_staged_merge_workers_max: AtomicUsizeMaximum staged eager-merge workers available for the active rebuild.
rebuild_pipeline_staged_merge_allowed_jobs: AtomicUsizeCurrent staged eager-merge concurrency budget after adaptive throttling.
rebuild_pipeline_staged_merge_active_jobs: AtomicUsizeStaged eager-merge jobs currently running.
rebuild_pipeline_staged_merge_ready_artifacts: AtomicUsizeReady staged merge artifacts waiting in the reduction frontier.
rebuild_pipeline_staged_merge_ready_groups: AtomicUsizeFull staged merge groups currently ready to run.
rebuild_pipeline_staged_merge_controller_reason: Mutex<String>Human-readable reason explaining the current staged merge budget.
rebuild_pipeline_staged_shard_build_workers_max: AtomicUsizeMaximum staged shard-build workers available for the active rebuild.
rebuild_pipeline_staged_shard_build_allowed_jobs: AtomicUsizeCurrent staged shard-build concurrency budget after adaptive throttling.
rebuild_pipeline_staged_shard_build_active_jobs: AtomicUsizeStaged shard-build jobs currently running.
rebuild_pipeline_staged_shard_build_pending_jobs: AtomicUsizeStaged shard-build jobs buffered behind the adaptive dispatch gate.
rebuild_pipeline_staged_shard_build_controller_reason: Mutex<String>Human-readable reason explaining the current staged shard-build budget.
rebuild_pipeline_staged_shard_build_memory_reserve_bytes: AtomicUsizeHost memory reserve below which new staged shard builds are throttled.
rebuild_pipeline_staged_shard_build_emergency_memory_reserve_bytes: AtomicUsizeHost memory reserve below which new staged shard builds are paused.
rebuild_pipeline_staged_shard_build_completed_jobs: AtomicUsizeCompleted staged shard-build jobs in the active rebuild.
rebuild_pipeline_staged_shard_build_last_shard_index: Mutex<Option<usize>>Last completed staged shard index.
rebuild_pipeline_staged_shard_build_last_message_bytes: AtomicUsizeRaw message bytes in the last completed staged shard.
rebuild_pipeline_staged_shard_build_last_index_size_bytes: AtomicU64On-disk bytes in the last completed staged shard index.
rebuild_pipeline_staged_shard_build_last_duration_ms: AtomicU64Wall-clock milliseconds spent building the last staged shard.
rebuild_pipeline_staged_shard_build_last_amplification_milli: Mutex<Option<u64>>Last observed index-size/raw-message-byte amplification in milli-units.
rebuild_pipeline_staged_shard_build_observed_amplification_milli: Mutex<Option<u64>>Conservative observed amplification used by staged shard admission.
Implementations§
Source§impl IndexingProgress
impl IndexingProgress
Sourcepub fn phase_label(&self) -> &'static str
pub fn phase_label(&self) -> &'static str
Human-readable label for the current phase. 0 = preparing (pre-scan), 1 = scanning, 2 = indexing.
Sourcepub fn snapshot_json(&self, elapsed_ms: u128) -> Value
pub fn snapshot_json(&self, elapsed_ms: u128) -> Value
Capture a JSON snapshot of the current progress state, suitable for
NDJSON event streaming. elapsed_ms is the wall-clock elapsed since
the index command started (caller’s responsibility to track).
Trait Implementations§
Source§impl Debug for IndexingProgress
impl Debug for IndexingProgress
Source§impl Default for IndexingProgress
impl Default for IndexingProgress
Source§fn default() -> IndexingProgress
fn default() -> IndexingProgress
Auto Trait Implementations§
impl !Freeze for IndexingProgress
impl RefUnwindSafe for IndexingProgress
impl Send for IndexingProgress
impl Sync for IndexingProgress
impl Unpin for IndexingProgress
impl UnsafeUnpin for IndexingProgress
impl UnwindSafe for IndexingProgress
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> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
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> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, _span: NoopSpan) -> Self
fn instrument(self, _span: NoopSpan) -> Self
Source§fn in_current_span(self) -> Self
fn in_current_span(self) -> 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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<R, P> ReadPrimitive<R> for P
impl<R, P> ReadPrimitive<R> for P
Source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
ReadEndian::read_from_little_endian().