Skip to main content

LocalTracker

Struct LocalTracker 

Source
pub struct LocalTracker { /* private fields */ }
Expand description

A run directory under <root>/runs/<run_id>/.

create starts a new run (manifest + running status + fresh logs); open re-attaches to an existing directory for resume, continuing the event sequence where it left off.

Implementations§

Source§

impl LocalTracker

Source

pub fn create(root: impl AsRef<Path>, kind: RunKind, name: &str) -> Result<Self>

Create a new run directory under root (e.g. .soma) and write its manifest (environment fields best-effort) and running status.

Source

pub fn open(run_dir: impl AsRef<Path>) -> Result<Self>

Re-attach to an existing run directory (resume). The event sequence continues after the last recorded line, and the status flips back to running.

Trait Implementations§

Source§

impl Tracker for LocalTracker

Source§

fn run_id(&self) -> &str

Identifier of the run this tracker is bound to.
Source§

fn run_dir(&self) -> &Path

Root directory of the run (for file-based backends).
Source§

fn sink(&self) -> Arc<dyn EventSink>

The sink that persists events for this run.
Source§

fn save_manifest(&self, manifest: &RunManifest) -> Result<()>

Atomically write the manifest.
Source§

fn save_artifact(&self, rel_path: &str, bytes: &[u8]) -> Result<()>

Write an artifact at a path relative to the run directory, creating parent directories as needed.
Source§

fn save_study(&self, study: &Study) -> Result<()>

Atomically write study.json (tmp + rename — readers never see a partial study, and a crash mid-write preserves the previous complete version).
Source§

fn heartbeat(&self) -> Result<()>

Refresh heartbeat_at in the status file.
Source§

fn finalize(&self, state: RunState) -> Result<()>

Set the terminal state, stamp finished_at, and flush the sink.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> AsAny for T
where T: Any,

§

fn as_any(&self) -> &(dyn Any + 'static)

The receiver as &dyn Any, ready for downcast_ref.
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more