pub enum Metric {
Show 18 variants Boolean(bool), Counter(i32), CustomDistributionExponential(Histogram<PrecomputedExponential>), CustomDistributionLinear(Histogram<PrecomputedLinear>), Datetime(DateTime<FixedOffset>, TimeUnit), Experiment(RecordedExperiment), Quantity(i64), String(String), StringList(Vec<String>), Uuid(String), Timespan(Duration, TimeUnit), TimingDistribution(Histogram<Functional>), MemoryDistribution(Histogram<Functional>), Jwe(String), Rate(i32, i32), Url(String), Text(String), Object(String),
}
Expand description

The available metrics.

This is the in-memory and persisted layout of a metric.

Note

The order of metrics in this enum is important, as it is used for serialization. Do not reorder the variants.

Any new metric must be added at the end.

Variants§

§

Boolean(bool)

A boolean metric. See BooleanMetric for more information.

§

Counter(i32)

A counter metric. See CounterMetric for more information.

§

CustomDistributionExponential(Histogram<PrecomputedExponential>)

A custom distribution with precomputed exponential bucketing. See CustomDistributionMetric for more information.

§

CustomDistributionLinear(Histogram<PrecomputedLinear>)

A custom distribution with precomputed linear bucketing. See CustomDistributionMetric for more information.

§

Datetime(DateTime<FixedOffset>, TimeUnit)

A datetime metric. See DatetimeMetric for more information.

§

Experiment(RecordedExperiment)

An experiment metric. See ExperimentMetric for more information.

§

Quantity(i64)

A quantity metric. See QuantityMetric for more information.

§

String(String)

A string metric. See StringMetric for more information.

§

StringList(Vec<String>)

A string list metric. See StringListMetric for more information.

§

Uuid(String)

A UUID metric. See UuidMetric for more information.

§

Timespan(Duration, TimeUnit)

A timespan metric. See TimespanMetric for more information.

§

TimingDistribution(Histogram<Functional>)

A timing distribution. See TimingDistributionMetric for more information.

§

MemoryDistribution(Histogram<Functional>)

A memory distribution. See MemoryDistributionMetric for more information.

§

Jwe(String)

DEPRECATED: A JWE metric.. Note: This variant MUST NOT be removed to avoid backwards-incompatible changes to the serialization. This type has no underlying implementation anymore.

§

Rate(i32, i32)

A rate metric. See RateMetric for more information.

§

Url(String)

A URL metric. See UrlMetric for more information.

§

Text(String)

A Text metric. See TextMetric for more information.

§

Object(String)

An Object metric. See ObjectMetric for more information.

Implementations§

source§

impl Metric

source

pub fn ping_section(&self) -> &'static str

Gets the ping section the metric fits into.

This determines the section of the ping to place the metric data in when assembling the ping payload.

source

pub fn as_json(&self) -> JsonValue

The JSON representation of the metric’s data

Trait Implementations§

source§

impl Clone for Metric

source§

fn clone(&self) -> Metric

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Metric

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for Metric

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl PartialEq for Metric

source§

fn eq(&self, other: &Metric) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Serialize for Metric

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl StructuralPartialEq for Metric

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> EncodableKey for T
where T: Serialize,

§

fn to_bytes(&self) -> Result<Vec<u8>, DataError>

source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T, UT> HandleAlloc<UT> for T
where T: Send + Sync,

§

fn new_handle(value: Arc<T>) -> Handle

Create a new handle for an Arc value Read more
§

unsafe fn clone_handle(handle: Handle) -> Handle

Clone a handle Read more
§

unsafe fn consume_handle(handle: Handle) -> Arc<T>

Consume a handle, getting back the initial Arc<> Read more
§

unsafe fn get_arc(handle: Handle) -> Arc<Self>

Get a clone of the Arc<> using a “borrowed” handle. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

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

source§

impl<V> ObjectSerialize for V
where V: Serialize + for<'de> Deserialize<'de>,

source§

fn from_str(obj: &str) -> Result<V, ObjectError>

Deserialize the object from its JSON representation. Read more
source§

fn into_serialized_object(self) -> Result<Value, ObjectError>

Serialize this object into a JSON string.
source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

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

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,