pub struct EnergySampler { /* private fields */ }Implementations§
Source§impl EnergySampler
impl EnergySampler
Sourcepub async fn spawn() -> Result<Self>
pub async fn spawn() -> Result<Self>
2026-09-26: Start the child and wait for its first reading.
Err when nvidia-smi cannot be spawned, exits before it is polled, or
produces no parseable reading within FIRST_SAMPLE_TIMEOUT.
EnergyMeter::start logs the error and the run goes on without energy.
Sourcepub fn window(&self, start: Instant, end: Instant) -> Option<EnergyWindow>
pub fn window(&self, start: Instant, end: Instant) -> Option<EnergyWindow>
2026-09-26: The integral over [start, end] of the readings so far.
Sourcepub async fn idle_baseline(&self) -> Option<EnergyWindow>
pub async fn idle_baseline(&self) -> Option<EnergyWindow>
2026-09-26: Sleep IDLE_BASELINE_SECS and integrate whatever the box
drew meanwhile. EnergyMeter::start calls it; its caller must have the
model loaded and no request in flight.
Sourcepub async fn stop(self) -> SamplerCost
pub async fn stop(self) -> SamplerCost
2026-09-26: Measure the child’s cost, then kill it.
Auto Trait Implementations§
impl Freeze for EnergySampler
impl !RefUnwindSafe for EnergySampler
impl Send for EnergySampler
impl Sync for EnergySampler
impl Unpin for EnergySampler
impl !UnwindSafe for EnergySampler
Blanket Implementations§
§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.