[][src]Struct readings_probe::Probe

pub struct Probe(_);

The interface to reading probe.

Methods

impl Probe[src]

pub fn new<W: Write + Send + 'static>(write: W) -> ReadingsResult<Probe>[src]

Creates a probe logging its data to Write implementation (usually a file).

pub fn register_i64<S: AsRef<str>>(
    &mut self,
    name: S
) -> ReadingsResult<Arc<AtomicI64>>
[src]

Register an i64 used-defined metric.

Must be called prior to the first call to log_event or spawn_heartbeat.

The result is shared AtomicI64 that can be used by client code to share communicate updates with the probe.

TODO: type-enforce this using the Builder pattern

pub fn spawn_heartbeat(&mut self, interval: Duration) -> ReadingsResult<()>[src]

Spawn a thread that will record all vitals at every "interval".

pub fn log_event(&self, event: &str) -> ReadingsResult<()>[src]

Spawn a thread that will record all vitals at every "interval".

pub fn get_i64<S: AsRef<str>>(&self, name: S) -> Option<Arc<AtomicI64>>[src]

Recover a pre-registered used-defined metrics from the probe.

The result is shared AtomicI64 that can be used by client code to share communicate updates with the probe.

It is more efficient for the client code to keep the shared AtomicI64 somewhere handy than calling this at every update. Nevertheless, it allows for intermediate code to just have to propagate the probe without worrying about the various metrics that the underlying code may need.

Trait Implementations

impl Clone for Probe[src]

Auto Trait Implementations

impl RefUnwindSafe for Probe

impl Send for Probe

impl Sync for Probe

impl Unpin for Probe

impl UnwindSafe for Probe

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, U> Into<U> for T where
    U: From<T>, 
[src]

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

type Owned = T

The resulting type after obtaining ownership.

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.