pub struct RunHealth {
pub pause_fraction: Option<f64>,
pub beam_dip_fraction: Option<f64>,
pub median_power: Option<f64>,
pub duration_s: Option<f64>,
pub n_pause_entries: usize,
pub n_power_entries: usize,
}Expand description
Run-health summary computed from DASlogs.
Fields are None when the corresponding quantity cannot be
computed: the PV (or the whole DASlogs group) is absent from the
file, the PV is present but logged zero entries, or — for
beam_dip_fraction only — the dip
threshold is undefined. None of these is an error; they simply mean
the facility did not log that quantity (or logged nothing usable).
Fields§
§pause_fraction: Option<f64>Time-weighted fraction of the run spent paused (pause PV nonzero).
beam_dip_fraction: Option<f64>Time-weighted fraction of the run with power below
power_dip_fraction × median(power).
None when the power PV is absent or empty, or when the dip
threshold is undefined because the sample median of the power
entries is non-positive (e.g. the beam was off for at least half
the log entries → median = 0, so the strict < threshold predicate
could never fire and would misreport the worst runs as dip-free) —
check median_power, which is co-reported.
median_power: Option<f64>Sample median of the power PV entries (median of the logged values, not time-weighted — documented deliberately: it is the threshold anchor, not an exposure estimate).
duration_s: Option<f64>Run duration in seconds: /entry/duration when present, else the
latest log timestamp across the PVs read (a lower bound).
n_pause_entries: usizeNumber of pause-PV log entries read (0 when absent or empty).
n_power_entries: usizeNumber of power-PV log entries read (0 when absent or empty).