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}