[][src]Enum collectd_plugin::Value

pub enum Value {
    Counter(u64),
    Gauge(f64),
    Derive(i64),
    Absolute(u64),
}

The value that a plugin reports can be any one of the following types

Variants

Counter(u64)

A COUNTER value is for continuous incrementing counters like the ifInOctets counter in a router. The COUNTER data source assumes that the observed value never decreases, except when it overflows. The update function takes the overflow into account. If a counter is reset to zero, for example because an application was restarted, the wrap-around calculation may result in a huge rate. Thus setting a reasonable maximum value is essential when using COUNTER data sources. Because of this, COUNTER data sources are only recommended for counters that wrap-around often, for example 32 bit octet counters of a busy switch port.

Gauge(f64)

A GAUGE value is simply stored as-is. This is the right choice for values which may increase as well as decrease, such as temperatures or the amount of memory used

Derive(i64)

DERIVE will store the derivative of the observed values source. If the data type has a minimum of zero, negative rates will be discarded. Using DERIVE is a good idea for measuring cgroup's cpuacct.usage as that stores the total number of CPU nanoseconds by all tasks in the cgroup; the change (derivative) in CPU nanoseconds is more interesting than the current value.

Absolute(u64)

ABSOLUTE is for counters which get reset upon reading. This is used for fast counters which tend to overflow. So instead of reading them normally you reset them after every read to make sure you have a maximum time available before the next overflow.

Methods

impl Value[src]

pub fn is_nan(&self) -> bool[src]

Returns if an underlying value is nan

assert_eq!(true, Value::Gauge(::std::f64::NAN).is_nan());
assert_eq!(false, Value::Gauge(0.0).is_nan());
assert_eq!(false, Value::Derive(0).is_nan());

Trait Implementations

impl Clone for Value[src]

impl Copy for Value[src]

impl Debug for Value[src]

impl Display for Value[src]

impl Into<value_u> for Value[src]

impl PartialEq<Value> for Value[src]

impl Serialize for Value[src]

impl StructuralPartialEq for Value[src]

Auto Trait Implementations

impl RefUnwindSafe for Value

impl Send for Value

impl Sync for Value

impl Unpin for Value

impl UnwindSafe for Value

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> 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.