pub struct MetricEncoder { /* private fields */ }Expand description
A writer that groups metrics by family name and deduplicates HELP/TYPE metadata during Prometheus encoding.
When the same metric is registered across scoped registries (via
Registry::encode), prometheus_client outputs each scope’s metrics
separately, interleaving families. This writer collects all lines and
regroups them so that every sample for a given metric name appears
together with a single HELP/TYPE header.
Also strips # EOF lines so that Registry::encode can append exactly one at
the end of the combined output.
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 const 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 UnsafeUnpin 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