mirror of
https://github.com/faas-rs/faasd-in-rust.git
synced 2025-06-08 15:56:48 +00:00
34 lines
943 B
Rust
34 lines
943 B
Rust
use lazy_static::lazy_static;
|
|
use prometheus::{self, register_histogram_vec, register_int_counter_vec};
|
|
|
|
lazy_static! {
|
|
pub static ref HTTP_METRICS: HttpMetrics = HttpMetrics::new();
|
|
}
|
|
|
|
#[derive(Clone)]
|
|
pub struct HttpMetrics {
|
|
pub request_duration: prometheus::HistogramVec,
|
|
pub requests_total: prometheus::IntCounterVec,
|
|
}
|
|
|
|
impl HttpMetrics {
|
|
pub fn new() -> Self {
|
|
Self {
|
|
request_duration: register_histogram_vec!(
|
|
"http_request_duration_seconds",
|
|
"Request duration in seconds",
|
|
&["method", "path", "status"]
|
|
)
|
|
.unwrap(),
|
|
requests_total: register_int_counter_vec!(
|
|
"http_requests_total",
|
|
"Total number of HTTP requests",
|
|
&["method", "path", "status"]
|
|
)
|
|
.unwrap(),
|
|
}
|
|
}
|
|
}
|
|
|
|
pub const TEXT_CONTENT_TYPE: &str = "text/plain; version=0.0.4";
|