use metrics::{counter, gauge};
use metrics_sqlite::SqliteExporter;
use std::time::Duration;
fn setup_metrics() {
let exporter = SqliteExporter::new(
Duration::from_secs(30),
Some(Duration::from_secs(60 * 60 * 24 * 7)), "metrics.db",
)
.expect("Failed to create SqliteExporter");
exporter
.install()
.expect("Failed to install SqliteExporter");
}
fn main() {
pretty_env_logger::formatted_builder()
.filter(None, log::LevelFilter::Trace)
.init();
setup_metrics();
metrics::register_counter!("video.counter");
metrics::register_gauge!("net.quality.rate", metrics::Unit::MegabitsPerSecond);
loop {
counter!("video.counter", 1);
counter!("net.packets", 2);
gauge!("net.quality.rate", 231.2);
std::thread::sleep(Duration::from_millis(100));
}
}