pub struct EnergyMeter { /* private fields */ }Expand description
2026-09-26: The energy lifecycle of one benchmark run: start the sampler (loopback targets only), take the idle baseline, hand out per-window integrals, stop and report the cost. The concurrency sweep and decode-floor drivers hold one as a field and log the lines it returns.
When the rail is unreadable the run continues: the returned lines say why,
and the record carries no gpu_rail_* keys.
Implementations§
Source§impl EnergyMeter
impl EnergyMeter
Sourcepub async fn start(&mut self, target: &TargetEndpoint) -> Vec<LogLine>
pub async fn start(&mut self, target: &TargetEndpoint) -> Vec<LogLine>
2026-09-26: Start sampling for target, then sample the idle baseline.
Call with the model loaded and nothing in flight, before the first
measured window.
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 one measured window, when sampling is live.
pub fn idle(&self) -> Option<&EnergyWindow>
Trait Implementations§
Source§impl Default for EnergyMeter
impl Default for EnergyMeter
Source§fn default() -> EnergyMeter
fn default() -> EnergyMeter
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for EnergyMeter
impl !RefUnwindSafe for EnergyMeter
impl Send for EnergyMeter
impl Sync for EnergyMeter
impl Unpin for EnergyMeter
impl !UnwindSafe for EnergyMeter
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.