[][src]Struct scaphandre::sensors::Domain

pub struct Domain {
    pub id: u16,
    pub name: String,
    pub counter_uj_path: String,
    pub record_buffer: Vec<Record>,
    pub buffer_max_kbytes: u16,
}

Domain struct represents a part of a CPUSocket from the electricity consumption point of view.

Fields

id: u16

Numerical ID of the RAPL domain as indicated in /sys/class/powercap/intel-rapl* folders names

name: String

Name of the domain as found in /sys/class/powercap/intel-rapl:X:X/name

counter_uj_path: String

Path to the domain's energy counter file, microjoules extracted

record_buffer: Vec<Record>

History of energy consumption measurements, stored as Record instances

buffer_max_kbytes: u16

Maximum size of record_buffer, in kilobytes

Implementations

impl Domain[src]

pub fn read_counter_uj(&self) -> Result<String, Box<dyn Error>>[src]

Reads content of this domain's energy_uj file

pub fn get_records_diff_power_microwatts(&self) -> Option<Record>[src]

Returns a Record instance containing the power consumed between last and previous measurement, in microwatts.

Trait Implementations

impl Clone for Domain[src]

impl Debug for Domain[src]

impl Display for Domain[src]

impl RecordGenerator for Domain[src]

pub fn refresh_record(&mut self) -> Record[src]

Computes a measurement of energy comsumption for this CPU domain, stores a copy in self.record_buffer and returns it.

pub fn clean_old_records(&mut self)[src]

Removes as many Record instances from self.record_buffer as needed for record_buffer to take less than 'buffer_max_kbytes' in memory

pub fn get_records_passive(&self) -> Vec<Record>[src]

Returns a copy of self.record_buffer

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T> ToString for T where
    T: Display + ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,