Struct metrics_exporter_prometheus::PrometheusBuilder[][src]

pub struct PrometheusBuilder { /* fields omitted */ }
Expand description

Builder for creating and installing a Prometheus recorder/exporter.

Implementations

impl PrometheusBuilder[src]

pub fn new() -> Self[src]

Creates a new PrometheusBuilder.

pub fn listen_address(self, addr: impl Into<SocketAddr>) -> Self[src]

Sets the listen address for the Prometheus scrape endpoint.

The HTTP listener that is spawned will respond to GET requests on any request path.

Defaults to 0.0.0.0:9000.

pub fn add_allowed(self, subnet: IpNet) -> Self[src]

Adds an IP address or subnet that is allowed to connect to the Prometheus scrape endpoint.

By default (if this method is never called), no restrictions are enforced.

Note that this on its own is insufficient for access control, if the exporter is running in an environment alongside applications (such as web browsers) that are susceptible to DNS rebinding attacks.

pub fn set_quantiles(self, quantiles: &[f64]) -> Self[src]

Sets the quantiles to use when rendering histograms.

Quantiles represent a scale of 0 to 1, where percentiles represent a scale of 1 to 100, so a quantile of 0.99 is the 99th percentile, and a quantile of 0.99 is the 99.9th percentile.

By default, the quantiles will be set to: 0.0, 0.5, 0.9, 0.95, 0.99, 0.999, and 1.0. This means that all histograms will be exposed as Prometheus summaries.

If buckets are set (via set_buckets or set_buckets_for_metric) then all histograms will be exposed as summaries instead.

pub fn set_buckets(self, values: &[f64]) -> Self[src]

Sets the buckets to use when rendering histograms.

Buckets values represent the higher bound of each buckets. If buckets are set, then all histograms will be rendered as true Prometheus histograms, instead of summaries.

pub fn set_buckets_for_metric(self, matcher: Matcher, values: &[f64]) -> Self[src]

Sets the bucket for a specific pattern.

The match pattern can be a full match (equality), prefix match, or suffix match. The matchers are applied in that order if two or more matchers would apply to a single metric. That is to say, if a full match and a prefix match applied to a metric, the full match would win, and if a prefix match and a suffix match applied to a metric, the prefix match would win.

Buckets values represent the higher bound of each buckets. If buckets are set, then any histograms that match will be rendered as true Prometheus histograms, instead of summaries.

This option changes the observer’s output of histogram-type metric into summaries. It only affects matching metrics if set_buckets was not used.

pub fn idle_timeout(
    self,
    mask: MetricKindMask,
    timeout: Option<Duration>
) -> Self
[src]

Sets the idle timeout for metrics.

If a metric hasn’t been updated within this timeout, it will be removed from the registry and in turn removed from the normal scrape output until the metric is emitted again. This behavior is driven by requests to generate rendered output, and so metrics will not be removed unless a request has been made recently enough to prune the idle metrics.

Further, the metric kind “mask” configures which metrics will be considered by the idle timeout. If the kind of a metric being considered for idle timeout is not of a kind represented by the mask, it will not be affected, even if it would have othered been removed for exceeding the idle timeout.

Refer to the documentation for MetricKindMask for more information on defining a metric kind mask.

pub fn add_global_label<K, V>(self, key: K, value: V) -> Self where
    K: Into<String>,
    V: Into<String>, 
[src]

Adds a global label to this exporter.

Global labels are applied to all metrics. Labels defined on the metric key itself have precedence over any global labels. If this method is called multiple times, the latest value for a given label key will be used.

pub fn install(self) -> Result<(), InstallError>[src]

Builds the recorder and exporter and installs them globally.

An error will be returned if there’s an issue with creating the HTTP server or with installing the recorder as the global recorder.

pub fn build(self) -> PrometheusRecorder[src]

Builds the recorder and returns it.

pub fn build_with_exporter(
    self
) -> Result<(PrometheusRecorder, impl Future<Output = Result<(), HyperError>> + Send + 'static), InstallError>
[src]

Builds the recorder and exporter and returns them both.

In most cases, users should prefer to use PrometheusBuilder::install to create and install the recorder and exporter automatically for them. If a caller is combining recorders, or needs to schedule the exporter to run in a particular way, this method provides the flexibility to do so.

Trait Implementations

impl Default for PrometheusBuilder[src]

fn default() -> Self[src]

Returns the “default value” for a type. Read more

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

impl<T> From<T> for T[src]

pub fn from(t: T) -> T[src]

Performs the conversion.

impl<T> Instrument for T[src]

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

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

fn in_current_span(self) -> Instrumented<Self>[src]

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

pub fn into(self) -> U[src]

Performs the conversion.

impl<T> Pointable for T

pub const ALIGN: usize

The alignment of pointer.

type Init = T

The type for initializers.

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

Initializes a with the given initializer. Read more

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

Dereferences the given pointer. Read more

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

Mutably dereferences the given pointer. Read more

pub unsafe fn drop(ptr: usize)

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

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

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

Performs the conversion.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

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

Performs the conversion.