pub struct EnergyConsumptionMonitor { /* private fields */ }Expand description
Energy consumption monitoring system
Implementations§
Source§impl EnergyConsumptionMonitor
impl EnergyConsumptionMonitor
Sourcepub fn add_device(
&mut self,
device_id: String,
device_type: DeviceType,
measurement_method: PowerMeasurementMethod,
) -> Result<()>
pub fn add_device( &mut self, device_id: String, device_type: DeviceType, measurement_method: PowerMeasurementMethod, ) -> Result<()>
Add a device for energy monitoring
Sourcepub fn record_measurement(
&mut self,
device_id: &str,
power_watts: f64,
utilization: f64,
temperature: Option<f64>,
) -> Result<EnergyMeasurement>
pub fn record_measurement( &mut self, device_id: &str, power_watts: f64, utilization: f64, temperature: Option<f64>, ) -> Result<EnergyMeasurement>
Record energy measurement for a device
Sourcepub fn get_current_consumption(&self) -> f64
pub fn get_current_consumption(&self) -> f64
Get current energy consumption for all devices
Sourcepub fn get_total_energy_consumed(&self) -> f64
pub fn get_total_energy_consumed(&self) -> f64
Get total energy consumed
Sourcepub fn get_efficiency_metrics(&self) -> &EnergyEfficiencyMetrics
pub fn get_efficiency_metrics(&self) -> &EnergyEfficiencyMetrics
Get efficiency metrics
Sourcepub fn get_consumption_history(&self) -> &[EnergyMeasurement]
pub fn get_consumption_history(&self) -> &[EnergyMeasurement]
Get consumption history
Sourcepub fn get_device_measurements(
&self,
device_id: &str,
) -> Vec<&EnergyMeasurement>
pub fn get_device_measurements( &self, device_id: &str, ) -> Vec<&EnergyMeasurement>
Get measurements for a specific device
Sourcepub fn detect_energy_waste(&self) -> Vec<WasteMeasurement>
pub fn detect_energy_waste(&self) -> Vec<WasteMeasurement>
Detect energy waste patterns
Sourcepub fn predict_energy_consumption(&self, hours: u32) -> f64
pub fn predict_energy_consumption(&self, hours: u32) -> f64
Predict energy consumption for next N hours
Sourcepub fn export_to_csv(&self) -> String
pub fn export_to_csv(&self) -> String
Export energy data to CSV
Sourcepub fn clear_history(&mut self)
pub fn clear_history(&mut self)
Clear measurement history
Sourcepub fn reset_device_counters(&mut self)
pub fn reset_device_counters(&mut self)
Reset device energy counters
Trait Implementations§
Auto Trait Implementations§
impl Freeze for EnergyConsumptionMonitor
impl RefUnwindSafe for EnergyConsumptionMonitor
impl Send for EnergyConsumptionMonitor
impl Sync for EnergyConsumptionMonitor
impl Unpin for EnergyConsumptionMonitor
impl UnsafeUnpin for EnergyConsumptionMonitor
impl UnwindSafe for EnergyConsumptionMonitor
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> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.