Skip to main content

MetricsServer

Struct MetricsServer 

Source
pub struct MetricsServer;
Expand description

HTTP server for exposing Prometheus metrics

Implementations§

Source§

impl MetricsServer

Source

pub async fn run(addr: SocketAddr, metrics: Arc<PrometheusMetrics>)

Starts the metrics server on the given address

This function runs indefinitely until the server is stopped.

§Arguments
  • addr - The socket address to bind to (e.g., “0.0.0.0:9090”)
  • metrics - The PrometheusMetrics instance to expose
§Panics

Panics if unable to bind to the specified address or if the server fails to start.

Source

pub async fn run_with_health_checker<F>( addr: SocketAddr, metrics: Arc<PrometheusMetrics>, health_checker: F, )
where F: Fn() -> HealthReport + Send + Sync + 'static,

Starts the metrics server with a health checker function

This function runs indefinitely until the server is stopped.

§Arguments
  • addr - The socket address to bind to (e.g., “0.0.0.0:9090”)
  • metrics - The PrometheusMetrics instance to expose
  • health_checker - Function that returns a HealthReport when called
§Panics

Panics if unable to bind to the specified address or if the server fails to start.

Source

pub async fn run_with_listener( listener: TcpListener, metrics: Arc<PrometheusMetrics>, )

Starts the metrics server with an existing listener

This function runs indefinitely until the server is stopped. Use this when you need to bind the listener before spawning the server task.

§Arguments
  • listener - A bound TCP listener
  • metrics - The PrometheusMetrics instance to expose
§Panics

Panics if the server fails to start.

Source

pub async fn run_with_listener_and_health_checker( listener: TcpListener, metrics: Arc<PrometheusMetrics>, health_checker: Arc<dyn Fn() -> HealthReport + Send + Sync>, )

Starts the metrics server with an existing listener and health checker

This function runs indefinitely until the server is stopped. Use this when you need to bind the listener before spawning the server task.

§Arguments
  • listener - A bound TCP listener
  • metrics - The PrometheusMetrics instance to expose
  • health_checker - Function that returns a HealthReport when called
§Panics

Panics if the server fails to start.

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> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> FutureExt for T

Source§

fn with_context(self, otel_cx: Context) -> WithContext<Self>

Attaches the provided Context to this type, returning a WithContext wrapper. Read more
Source§

fn with_current_context(self) -> WithContext<Self>

Attaches the current Context to this type, returning a WithContext wrapper. Read more
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, 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<A, B, T> HttpServerConnExec<A, B> for T
where B: Body,