nixfleet_control_plane/server/routes/
metrics.rs1use axum::http::StatusCode;
6use axum::response::Response;
7
8#[cfg(feature = "metrics")]
9use axum::response::IntoResponse;
10
11#[cfg(feature = "metrics")]
12use crate::metrics::{install_recorder, record_build_info};
13
14#[cfg(feature = "metrics")]
18pub(in crate::server) async fn metrics_handler() -> Result<Response, StatusCode> {
19 record_build_info();
20 let body = install_recorder().render();
21 Ok(([("content-type", "text/plain; version=0.0.4")], body).into_response())
22}
23
24#[cfg(not(feature = "metrics"))]
25pub(in crate::server) async fn metrics_handler() -> Result<Response, StatusCode> {
26 Err(StatusCode::NOT_FOUND)
27}