pub struct TelemetryAccumulator {Show 24 fields
pub(crate) iteration_count: u32,
pub(crate) dps_sum: f64,
pub(crate) dps_min: f64,
pub(crate) dps_max: f64,
pub(crate) spell_totals: FastMap<ActionAggregateKey, SpellAggregate>,
pub(crate) dps_welford_mean: f64,
pub(crate) dps_m2: f64,
pub(crate) dps_histogram: Histogram<u64>,
pub(crate) representative_dps: Option<f64>,
pub(crate) representative_candidates: Vec<RepresentativeIteration>,
pub(crate) aura_totals: FastMap<AuraAggregateKey, AuraAggregate>,
pub(crate) resource_totals: IntMap<u8, ResourceAggregate>,
pub(crate) cooldown_totals: IntMap<u32, CooldownAggregate>,
pub(crate) total_duration_ms: f64,
pub(crate) gcd_locked_ms_total: f64,
pub(crate) representative_sink: Option<RepresentativeTimeline>,
pub(crate) direct_damage_total: f64,
pub(crate) periodic_damage_total: f64,
pub(crate) pet_damage_total: f64,
pub(crate) damage_by_target: FastMap<EnemyIdx, f64>,
pub(crate) targets: FastMap<TargetIdx, TargetMetadata>,
pub(crate) bucket_sums: Vec<f64>,
pub(crate) bucket_samples: Vec<u64>,
pub(crate) trace_extras_enabled: bool,
}Expand description
Accumulates telemetry incrementally across all iterations.
Fields§
§iteration_count: u32§dps_sum: f64§dps_min: f64§dps_max: f64§spell_totals: FastMap<ActionAggregateKey, SpellAggregate>§dps_welford_mean: f64§dps_m2: f64§dps_histogram: Histogram<u64>§representative_dps: Option<f64>§representative_candidates: Vec<RepresentativeIteration>§aura_totals: FastMap<AuraAggregateKey, AuraAggregate>§resource_totals: IntMap<u8, ResourceAggregate>§cooldown_totals: IntMap<u32, CooldownAggregate>§total_duration_ms: f64§gcd_locked_ms_total: f64§representative_sink: Option<RepresentativeTimeline>§direct_damage_total: f64§periodic_damage_total: f64§pet_damage_total: f64§damage_by_target: FastMap<EnemyIdx, f64>§targets: FastMap<TargetIdx, TargetMetadata>§bucket_sums: Vec<f64>§bucket_samples: Vec<u64>Per-bucket sample count: divide each bucket_sums entry by this, not by total iterations.
trace_extras_enabled: boolImplementations§
Source§impl TelemetryAccumulator
impl TelemetryAccumulator
pub(crate) fn capture_representative( &mut self, sink: &TelemetrySink, duration_ms: u32, )
Source§impl TelemetryAccumulator
impl TelemetryAccumulator
Sourcepub fn enable_trace_extras(&mut self)
pub fn enable_trace_extras(&mut self)
Enable resource-sample + aura-interval collection.
Sourcepub fn running_stats(&self) -> Option<RunningDpsStats>
pub fn running_stats(&self) -> Option<RunningDpsStats>
Running DPS snapshot; None before any iterations.
Sourcepub fn record_iteration(&mut self, dps: f64)
pub fn record_iteration(&mut self, dps: f64)
Record one completed iteration without externally supplied RNG identity.
Sourcepub fn representative_iteration(&self) -> Option<RepresentativeIteration>
pub fn representative_iteration(&self) -> Option<RepresentativeIteration>
Return the completed iteration nearest the final aggregate mean, tie-broken by (seed_prefix, iteration) for determinism.
Sourcepub const fn representative_dps(&self) -> Option<f64>
pub const fn representative_dps(&self) -> Option<f64>
DPS of the installed exact representative, or None until its capture-only rerun completes.
Sourcepub(crate) fn record_sink_events(
&mut self,
sink: &TelemetrySink,
duration_secs: f64,
)
pub(crate) fn record_sink_events( &mut self, sink: &TelemetrySink, duration_secs: f64, )
Aggregate sink events into cross-iteration totals.
pub(crate) fn record_iteration_for( &mut self, seed_prefix: u64, iteration: u32, dps: f64, )
pub(crate) fn install_representative( &mut self, dps: f64, sink: &TelemetrySink, duration_secs: f64, )
fn record_damage_events(&mut self, sink: &TelemetrySink, duration_ms: u32)
fn record_aura_events(&mut self, sink: &TelemetrySink, duration_ms: u32)
fn record_resource_events(&mut self, sink: &TelemetrySink)
fn record_action_events(&mut self, sink: &TelemetrySink)
Trait Implementations§
Source§impl Debug for TelemetryAccumulator
impl Debug for TelemetryAccumulator
Auto Trait Implementations§
impl Freeze for TelemetryAccumulator
impl RefUnwindSafe for TelemetryAccumulator
impl Send for TelemetryAccumulator
impl Sync for TelemetryAccumulator
impl Unpin for TelemetryAccumulator
impl UnsafeUnpin for TelemetryAccumulator
impl UnwindSafe for TelemetryAccumulator
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
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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