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

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.

Implementations§

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§

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Formats the value using the given formatter. Read more
Converts this type into the (usually inferred) input type.
This method tests for self and other values to be equal, and is used by ==. Read more
This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason. Read more
Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
Converts the given value to a String. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.