Skip to main content

RemapperRule

Struct RemapperRule 

Source
pub struct RemapperRule { /* private fields */ }
Expand description

A metric remapping rule.

Rules define the basic matching behavior (metric name, and optionally tags) as well as how to remap the new copy of the metric. This can include copying tags as-is from the source metric, copying specific tags over with a new name, and adding an additional fixed set of tags to the new metric.

Implementations§

Source§

impl RemapperRule

Source

pub fn by_name(existing_name: &'static str, new_name: &'static str) -> Self

Creates a new RemapperRule that matches a source metric by name only.

Source

pub fn by_name_and_tags( existing_name: &'static str, existing_tags: &'static [&'static str], new_name: &'static str, ) -> Self

Creates a new RemapperRule that matches a source metric by name and tags.

Source

pub fn with_remapped_tags<I>(self, remapped_tags: I) -> Self
where I: IntoIterator<Item = (&'static str, &'static str)>,

Adds a set of tags to remap from the source metric by changing their name.

Remapped tags must be given in the form of (source_tag, destination_tag). If a tag by the name source_tag is found in the source metric, it’s copied to the remapped metric with a name of destination_tag.

This method is additive, so it can be called multiple times to add more remapped tags. Tag remapping is order-dependent, so if a tag is configured to be remapped, or copied, multiple times, then the first match will take precedence.

Source

pub fn with_original_tags<I>(self, original_tags: I) -> Self
where I: IntoIterator<Item = &'static str>,

Adds a set of tags to remap from the source metric without changing their name.

Remapped tags must be given in the form of source_tag. If a tag by the name source_tag is found in the source metric, it’s copied to the remapped metric with the same name.

This method is additive, so it can be called multiple times to add more original tags. Tag remapping is order-dependent, so if a tag is configured to be copied, or remapped, multiple times, then the first match will take precedence.

Source

pub fn with_additional_tags<I>(self, additional_tags: I) -> Self
where I: IntoIterator<Item = &'static str>,

Adds a fixed set of tags to add to the remapped metric.

Additional tags are given in the form of tag, which can be any valid tag value: bare or key/value.

This method is additive, so it can be called multiple times to add more additional tags.

Source

pub fn with_continued_matching(self) -> Self

Allows later rules to also match the same source metric.

Source

pub fn with_help_text(self, help_text: &'static str) -> Self

Sets the Prometheus # HELP text that should be emitted alongside the remapped metric.

Some downstream collectors (notably the Datadog Agent’s OpenMetrics check) require a specific help text on overlapped metric names. Setting this here keeps the help text next to the rule that produces the name.

Source

pub const fn should_continue_matching(&self) -> bool

Returns true if matching should continue after this rule matches.

Source

pub const fn remapped_name(&self) -> &'static str

Returns the remapped metric name produced by this rule.

Source

pub const fn help_text(&self) -> Option<&'static str>

Returns the help text associated with this rule, if any.

Source

pub fn try_match_no_context(&self, context: &Context) -> Option<RemappedMetric>

Attempts to match the given context against this rule.

If the rule matches, returns a RemappedMetric containing the new metric name and tags.

Trait Implementations§

Source§

impl Clone for RemapperRule

Source§

fn clone(&self) -> RemapperRule

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

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

Performs copy-assignment from source. Read more

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> FromRef<T> for T
where T: Clone,

Source§

fn from_ref(input: &T) -> T

Converts to this type from a reference to the input type.
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> IntoRequest<T> for T

Source§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
Source§

impl<L> LayerExt<L> for L

Source§

fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>
where L: Layer<S>,

Applies the layer to a service and wraps it in Layered.
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
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
§

impl<T> Track for T

§

fn track_resources(self, token: ResourceGroupToken) -> Tracked<Self>

Instruments this type by attaching the given resource group token, returning a Tracked wrapper. Read more
§

fn in_current_resource_group(self) -> Tracked<Self>

Instruments this type by attaching the current resource group, returning a Tracked wrapper. 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