pub struct MetricEncoder { /* private fields */ }Expand description
A writer that deduplicates HELP and TYPE metadata lines during Prometheus encoding.
When the same metric is registered multiple times with different attribute values
(via sub_registry_with_label), prometheus_client outputs duplicate HELP/TYPE
lines. This writer filters them in a single pass to produce canonical Prometheus format.
Uses “first wins” semantics: keeps the first HELP/TYPE description encountered for each metric name and discards subsequent duplicates.
Implementations§
Source§impl MetricEncoder
impl MetricEncoder
pub fn new() -> Self
pub fn into_string(self) -> String
Trait Implementations§
Source§impl Default for MetricEncoder
impl Default for MetricEncoder
Auto Trait Implementations§
impl Freeze for MetricEncoder
impl RefUnwindSafe for MetricEncoder
impl Send for MetricEncoder
impl Sync for MetricEncoder
impl Unpin for MetricEncoder
impl UnwindSafe for MetricEncoder
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more