pub struct ReliabilityResult {
pub system_reliability: f64,
pub mean_availability: f64,
pub failure_rate: f64,
pub mtbf: f64,
pub component_importance: HashMap<String, f64>,
pub confidence_interval: (f64, f64),
}Expand description
Result of the general Monte-Carlo reliability analysis.
Fields§
§system_reliability: f64Estimated probability that the system is in a working state (fraction of Monte-Carlo runs in which the system worked).
mean_availability: f64Mean availability proxy. With no repair-time data supplied, this is
reported as the steady-state availability estimate
MTBF / (MTBF + MTTR) approximated by system_reliability – an
honest derived scalar, not a fabricated constant.
failure_rate: f64System failure rate = 1 - system_reliability.
mtbf: f64Mean time between failures, derived from the failure rate
(MTBF = 1 / failure_rate), scaled by the average component MTTF so the
result is in the component time units. f64::INFINITY when the system
never fails.
component_importance: HashMap<String, f64>Birnbaum importance of each component: the change in system reliability when the component is taken from certainly-failed (reliability 0) to certainly-working (reliability 1), holding the other components at their nominal reliabilities. Keyed by component name.
confidence_interval: (f64, f64)95% confidence interval (lower, upper) for system_reliability using
the normal approximation p +/- 1.96*sqrt(p(1-p)/n), clamped to
[0, 1].
Trait Implementations§
Source§impl Clone for ReliabilityResult
impl Clone for ReliabilityResult
Source§fn clone(&self) -> ReliabilityResult
fn clone(&self) -> ReliabilityResult
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for ReliabilityResult
impl RefUnwindSafe for ReliabilityResult
impl Send for ReliabilityResult
impl Sync for ReliabilityResult
impl Unpin for ReliabilityResult
impl UnsafeUnpin for ReliabilityResult
impl UnwindSafe for ReliabilityResult
Blanket Implementations§
§impl<S, A> Aggregate<Result<S, Error>> for Awhere
A: Aggregate<S>,
impl<S, A> Aggregate<Result<S, Error>> for Awhere
A: Aggregate<S>,
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§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>
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 more