Add PrometheusMetrics

This commit is contained in:
Cameron Cordes
2021-04-05 20:14:34 -04:00
parent 6768140785
commit 6abc99d9b6
3 changed files with 36 additions and 1 deletions

View File

@@ -3,12 +3,13 @@ extern crate diesel;
extern crate rayon;
use crate::auth::login;
use actix_web_prom::PrometheusMetrics;
use database::{DbError, DbErrorKind, FavoriteDao, SqliteFavoriteDao, SqliteUserDao, UserDao};
use futures::stream::StreamExt;
use std::io::prelude::*;
use std::path::{Path, PathBuf};
use std::sync::mpsc::channel;
use std::sync::Arc;
use std::{collections::HashMap, io::prelude::*};
use std::{env, fs::File};
use actix::prelude::*;
@@ -404,6 +405,9 @@ fn main() -> std::io::Result<()> {
stream_manager: Arc::new(act),
});
let labels = HashMap::new();
let prometheus = PrometheusMetrics::new("", Some("/metrics"), Some(labels));
HttpServer::new(move || {
let user_dao = SqliteUserDao::new();
let favorites_dao = SqliteFavoriteDao::new();
@@ -422,6 +426,7 @@ fn main() -> std::io::Result<()> {
.app_data(app_data.clone())
.data::<Box<dyn UserDao>>(Box::new(user_dao))
.data::<Box<dyn FavoriteDao>>(Box::new(favorites_dao))
.wrap(prometheus.clone())
})
.bind(dotenv::var("BIND_URL").unwrap())?
.bind("localhost:8088")?