mirror of
https://github.com/sigp/lighthouse.git
synced 2026-03-19 21:04:41 +00:00
Begin metrics refactor
This commit is contained in:
17
beacon_node/rest_api/src/metrics.rs
Normal file
17
beacon_node/rest_api/src/metrics.rs
Normal file
@@ -0,0 +1,17 @@
|
||||
use crate::{success_response, ApiError, ApiResult};
|
||||
use hyper::{Body, Request};
|
||||
use prometheus::{Encoder, TextEncoder};
|
||||
|
||||
/// Returns the full set of Prometheus metrics for the Beacon Node application.
|
||||
pub fn get_prometheus(_req: Request<Body>) -> ApiResult {
|
||||
let mut buffer = vec![];
|
||||
let encoder = TextEncoder::new();
|
||||
|
||||
encoder
|
||||
.encode(&beacon_chain::gather_metrics(), &mut buffer)
|
||||
.unwrap();
|
||||
|
||||
String::from_utf8(buffer)
|
||||
.map(|string| success_response(Body::from(string)))
|
||||
.map_err(|e| ApiError::ServerError(format!("Failed to encode prometheus info: {:?}", e)))
|
||||
}
|
||||
Reference in New Issue
Block a user