1 unstable release
0.1.1 | Jun 30, 2022 |
---|
#20 in #raii
8KB
66 lines
prom-timer
Rust RAII Prometheus timer
use std::collections::HashMap;
use std::thread::sleep;
use std::time::Duration;
use prometheus::{self, HistogramVec, histogram_opts};
use prom_timer_macro::timer;
use lazy_static::lazy_static;
lazy_static! { static ref TIMER: HistogramVec = HistogramVec::new(
histogram_opts!("timer", "Timer")
.namespace("api")
.const_labels(HashMap::new())
.buckets(
[
0.001, 0.0025, 0.005, 0.01, 0.025, 0.05, 0.1, 0.2, 0.3, 0.4, 0.5, 1.0, 2.0,
3.0, 4.0, 5.0, 10.0,
]
.into(),
),
&["function"],
)
.unwrap();}
#[timer(TIMER.clone(), "f")]
fn f() {
sleep(Duration::from_secs(1));
}
#[test]
fn test() {
f();
}
lib.rs
:
Macros for prom-timer
.
Dependencies
~1.2–7.5MB
~42K SLoC