pub struct SolverStats {Show 22 fields
pub step_count: u64,
pub moves_generated: u64,
pub moves_evaluated: u64,
pub moves_accepted: u64,
pub moves_applied: u64,
pub moves_not_doable: u64,
pub moves_acceptor_rejected: u64,
pub moves_forager_ignored: u64,
pub moves_hard_improving: u64,
pub moves_hard_neutral: u64,
pub moves_hard_worse: u64,
pub conflict_repair_provider_generated: u64,
pub conflict_repair_duplicate_filtered: u64,
pub conflict_repair_illegal_filtered: u64,
pub conflict_repair_not_doable_filtered: u64,
pub conflict_repair_hard_improving: u64,
pub conflict_repair_exposed: u64,
pub score_calculations: u64,
pub construction_slots_assigned: u64,
pub construction_slots_kept: u64,
pub construction_slots_no_doable: u64,
pub coverage_required_remaining: u64,
/* private fields */
}Fields§
§step_count: u64§moves_generated: u64§moves_evaluated: u64§moves_accepted: u64§moves_applied: u64§moves_not_doable: u64§moves_acceptor_rejected: u64§moves_forager_ignored: u64§moves_hard_improving: u64§moves_hard_neutral: u64§moves_hard_worse: u64§conflict_repair_provider_generated: u64§conflict_repair_duplicate_filtered: u64§conflict_repair_illegal_filtered: u64§conflict_repair_not_doable_filtered: u64§conflict_repair_hard_improving: u64§conflict_repair_exposed: u64§score_calculations: u64§construction_slots_assigned: u64§construction_slots_kept: u64§construction_slots_no_doable: u64§coverage_required_remaining: u64Implementations§
Source§impl SolverStats
impl SolverStats
pub fn elapsed(&self) -> Duration
pub fn pause(&mut self)
pub fn resume(&mut self)
Sourcepub fn record_generated_batch(&mut self, count: u64, duration: Duration)
pub fn record_generated_batch(&mut self, count: u64, duration: Duration)
Records one or more generated candidate moves and the time spent generating them.
pub fn record_selector_generated( &mut self, selector_index: usize, count: u64, duration: Duration, )
Sourcepub fn record_generation_time(&mut self, duration: Duration)
pub fn record_generation_time(&mut self, duration: Duration)
Records generation time that did not itself yield a counted move.
Sourcepub fn record_generated_move(&mut self, duration: Duration)
pub fn record_generated_move(&mut self, duration: Duration)
Records a single generated candidate move and the time spent generating it.
Sourcepub fn record_evaluated_move(&mut self, duration: Duration)
pub fn record_evaluated_move(&mut self, duration: Duration)
Records a move evaluation and the time spent evaluating it.
pub fn record_selector_evaluated( &mut self, selector_index: usize, duration: Duration, )
Sourcepub fn record_move_accepted(&mut self)
pub fn record_move_accepted(&mut self)
Records an accepted move.
pub fn record_selector_accepted(&mut self, selector_index: usize)
pub fn record_move_applied(&mut self)
pub fn record_selector_applied(&mut self, selector_index: usize)
pub fn record_move_not_doable(&mut self)
pub fn record_selector_not_doable(&mut self, selector_index: usize)
pub fn record_move_acceptor_rejected(&mut self)
pub fn record_selector_acceptor_rejected(&mut self, selector_index: usize)
pub fn record_moves_forager_ignored(&mut self, count: u64)
pub fn record_move_hard_improving(&mut self)
pub fn record_move_hard_neutral(&mut self)
pub fn record_move_hard_worse(&mut self)
pub fn record_conflict_repair_provider_generated(&mut self, count: u64)
pub fn record_conflict_repair_duplicate_filtered(&mut self)
pub fn record_conflict_repair_illegal_filtered(&mut self)
pub fn record_conflict_repair_not_doable_filtered(&mut self)
pub fn record_conflict_repair_hard_improving(&mut self)
pub fn record_conflict_repair_exposed(&mut self)
Sourcepub fn record_step(&mut self)
pub fn record_step(&mut self)
Records a step completion.
Sourcepub fn record_score_calculation(&mut self)
pub fn record_score_calculation(&mut self)
Records a score calculation.
pub fn record_construction_slot_assigned(&mut self)
pub fn record_construction_slot_kept(&mut self)
pub fn record_construction_slot_no_doable(&mut self)
pub fn record_coverage_required_remaining( &mut self, group_name: &'static str, count: u64, )
pub fn generated_throughput(&self) -> Throughput
pub fn evaluated_throughput(&self) -> Throughput
pub fn acceptance_rate(&self) -> f64
pub fn generation_time(&self) -> Duration
pub fn evaluation_time(&self) -> Duration
pub fn snapshot(&self) -> SolverTelemetry
pub fn record_selector_generated_with_label( &mut self, selector_index: usize, selector_label: impl Into<String>, count: u64, duration: Duration, )
Trait Implementations§
Source§impl Debug for SolverStats
impl Debug for SolverStats
Source§impl Default for SolverStats
impl Default for SolverStats
Source§fn default() -> SolverStats
fn default() -> SolverStats
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for SolverStats
impl RefUnwindSafe for SolverStats
impl Send for SolverStats
impl Sync for SolverStats
impl Unpin for SolverStats
impl UnsafeUnpin for SolverStats
impl UnwindSafe for SolverStats
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
Mutably borrows from an owned value. Read more
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>
Converts
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>
Converts
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