pub struct App {
pub records: HashMap<String, Vec<MetricRecord>>,
pub experiment_names: Vec<String>,
pub focus: Panel,
pub zoom: f64,
pub should_quit: bool,
pub chart_metrics: (String, String),
pub alerts: Vec<String>,
}Expand description
Application state for the watch TUI.
Fields§
§records: HashMap<String, Vec<MetricRecord>>All metric records received so far, per experiment
experiment_names: Vec<String>Which experiments we are watching
focus: PanelCurrently focused panel
zoom: f64Time axis zoom level (1.0 = fit all data)
should_quit: boolWhether the app should quit
chart_metrics: (String, String)Metric names to display in chart panels
alerts: Vec<String>Alert messages
Implementations§
Source§impl App
impl App
pub fn new(experiment_names: Vec<String>) -> Self
Sourcepub fn push_records(&mut self, experiment: &str, new_records: Vec<MetricRecord>)
pub fn push_records(&mut self, experiment: &str, new_records: Vec<MetricRecord>)
Add new records for an experiment.
Sourcepub fn metric_series(&self, experiment: &str, metric: &str) -> Vec<f64>
pub fn metric_series(&self, experiment: &str, metric: &str) -> Vec<f64>
Get metric values for a specific metric across all steps.
Sourcepub fn current_step(&self, experiment: &str) -> Option<u64>
pub fn current_step(&self, experiment: &str) -> Option<u64>
Get current step for an experiment.
Sourcepub fn best_metric(&self, experiment: &str, metric: &str) -> Option<f64>
pub fn best_metric(&self, experiment: &str, metric: &str) -> Option<f64>
Get best value for a metric.
Sourcepub fn eta_seconds(&self, experiment: &str, total_steps: u64) -> Option<f64>
pub fn eta_seconds(&self, experiment: &str, total_steps: u64) -> Option<f64>
Estimate ETA based on step rate.
pub fn handle_key(&mut self, key: KeyCode)
Auto Trait Implementations§
impl Freeze for App
impl RefUnwindSafe for App
impl Send for App
impl Sync for App
impl Unpin for App
impl UnsafeUnpin for App
impl UnwindSafe for App
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> 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