kona_cli/
prometheus.rs

1//! Utilities for spinning up a prometheus metrics server.
2
3use metrics_exporter_prometheus::{BuildError, PrometheusBuilder};
4use std::net::{IpAddr, SocketAddr};
5use tracing::info;
6
7/// Start a Prometheus metrics server on the given port.
8pub fn init_prometheus_server(addr: IpAddr, metrics_port: u16) -> Result<(), BuildError> {
9    let prometheus_addr = SocketAddr::from((addr, metrics_port));
10    let builder = PrometheusBuilder::new().with_http_listener(prometheus_addr);
11
12    builder.install()?;
13    info!(
14        target: "prometheus",
15        "Serving metrics at: http://{}",
16        prometheus_addr
17    );
18
19    Ok(())
20}