Enum collectd_plugin::Value[][src]

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

Performs the conversion.

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

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

Performs the conversion.

Performs the conversion.

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

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.