Enum MetricValue

Source
#[non_exhaustive]
pub enum MetricValue {
Show 17 variants OperationBytes(u64), OperationBytesRate(f64), OperationEntries(u64), OperationEntriesRate(f64), OperationDurationSeconds(Duration), OperationErrorsTotal, OperationExecuting(isize), OperationTtfbSeconds(Duration), HttpExecuting(isize), HttpRequestBytes(u64), HttpRequestBytesRate(f64), HttpRequestDurationSeconds(Duration), HttpResponseBytes(u64), HttpResponseBytesRate(f64), HttpResponseDurationSeconds(Duration), HttpConnectionErrorsTotal, HttpStatusErrorsTotal,
}
Expand description

MetricValue is the value the opendal sends to the metrics impls.

Metrics impls can be prometheus_client, metrics etc.

Every metrics impls SHOULD implement observe over the MetricValue to make sure they provide the consistent metrics for users.

Variants (Non-exhaustive)§

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
§

OperationBytes(u64)

Record the size of data processed in bytes. Metrics impl: Update a Histogram with the given byte count.

§

OperationBytesRate(f64)

Record the rate of data processing in bytes/second. Metrics impl: Update a Histogram with the calculated rate value.

§

OperationEntries(u64)

Record the number of entries (files, objects, keys) processed. Metrics impl: Update a Histogram with the entry count.

§

OperationEntriesRate(f64)

Record the rate of entries processing in entries/second. Metrics impl: Update a Histogram with the calculated rate value.

§

OperationDurationSeconds(Duration)

Record the total duration of an operation. Metrics impl: Update a Histogram with the duration converted to seconds (as f64).

§

OperationErrorsTotal

Increment the counter for operation errors. Metrics impl: Increment a Counter by 1.

§

OperationExecuting(isize)

Update the current number of executing operations. Metrics impl: Add the value (positive or negative) to a Gauge.

§

OperationTtfbSeconds(Duration)

Record the time to first byte duration. Metrics impl: Update a Histogram with the duration converted to seconds (as f64).

§

HttpExecuting(isize)

Update the current number of executing HTTP requests. Metrics impl: Add the value (positive or negative) to a Gauge.

§

HttpRequestBytes(u64)

Record the size of HTTP request body in bytes. Metrics impl: Update a Histogram with the given byte count.

§

HttpRequestBytesRate(f64)

Record the rate of HTTP request data in bytes/second. Metrics impl: Update a Histogram with the calculated rate value.

§

HttpRequestDurationSeconds(Duration)

Record the duration of sending an HTTP request (until first byte received). Metrics impl: Update a Histogram with the duration converted to seconds (as f64).

§

HttpResponseBytes(u64)

Record the size of HTTP response body in bytes. Metrics impl: Update a Histogram with the given byte count.

§

HttpResponseBytesRate(f64)

Record the rate of HTTP response data in bytes/second. Metrics impl: Update a Histogram with the calculated rate value.

§

HttpResponseDurationSeconds(Duration)

Record the duration of receiving an HTTP response (from first byte to last). Metrics impl: Update a Histogram with the duration converted to seconds (as f64).

§

HttpConnectionErrorsTotal

Increment the counter for HTTP connection errors. Metrics impl: Increment a Counter by 1.

§

HttpStatusErrorsTotal

Increment the counter for HTTP status errors (non-2xx responses). Metrics impl: Increment a Counter by 1.

Implementations§

Source§

impl MetricValue

Source

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

Returns the full metric name for this metric value.

Source

pub fn name_with_unit(&self) -> (&'static str, Option<&'static str>)

Returns the metric name along with unit for this metric value.

§Notes

This API is designed for the metrics impls that unit aware. They will handle the names by themselves like append _total for counters.

Source

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

Returns the help text for this metric value.

Trait Implementations§

Source§

impl Clone for MetricValue

Source§

fn clone(&self) -> MetricValue

Returns a duplicate 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 MetricValue

Source§

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

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

impl Copy for MetricValue

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
Source§

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

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. 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<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ServiceExt for T

Source§

fn map_response_body<F>(self, f: F) -> MapResponseBody<Self, F>
where Self: Sized,

Apply a transformation to the response body. Read more
Source§

fn decompression(self) -> Decompression<Self>
where Self: Sized,

Decompress response bodies. Read more
Source§

fn trace_for_http(self) -> Trace<Self, SharedClassifier<ServerErrorsAsFailures>>
where Self: Sized,

High level tracing that classifies responses using HTTP status codes. Read more
Source§

fn trace_for_grpc(self) -> Trace<Self, SharedClassifier<GrpcErrorsAsFailures>>
where Self: Sized,

High level tracing that classifies responses using gRPC headers. Read more
Source§

fn follow_redirects(self) -> FollowRedirect<Self>
where Self: Sized,

Follow redirect resposes using the Standard policy. Read more
Source§

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

Source§

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

Source§

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

Source§

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<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> MaybeSend for T
where T: Send,