pub struct PhaseStats {Show 23 fields
pub phase_index: usize,
pub phase_type: &'static str,
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,
/* private fields */
}Fields§
§phase_index: usize§phase_type: &'static str§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: u64Implementations§
Source§impl PhaseStats
impl PhaseStats
pub fn elapsed(&self) -> Duration
Sourcepub fn record_step(&mut self)
pub fn record_step(&mut self)
Records a step completion.
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_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 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 selector_telemetry(&self) -> &[SelectorTelemetry]
pub fn record_selector_generated_with_label( &mut self, selector_index: usize, selector_label: impl Into<String>, count: u64, duration: Duration, )
Trait Implementations§
Auto Trait Implementations§
impl Freeze for PhaseStats
impl RefUnwindSafe for PhaseStats
impl Send for PhaseStats
impl Sync for PhaseStats
impl Unpin for PhaseStats
impl UnsafeUnpin for PhaseStats
impl UnwindSafe for PhaseStats
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