Skip to content
Snippets Groups Projects
Commit a76ec207 authored by insert's avatar insert
Browse files

Add Prometheus metrics.

parent 687b300b
No related merge requests found
Pipeline #543 passed with stage
in 29 minutes and 2 seconds
......@@ -1971,6 +1971,20 @@ dependencies = [
"yansi",
]
[[package]]
name = "prometheus"
version = "0.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c8425533e7122f0c3cc7a37e6244b16ad3a2cc32ae7ac6276e2a75da0d9c200d"
dependencies = [
"cfg-if 1.0.0",
"fnv",
"lazy_static",
"parking_lot 0.11.1",
"regex",
"thiserror",
]
[[package]]
name = "quick-error"
version = "1.2.3"
......@@ -2351,7 +2365,7 @@ dependencies = [
[[package]]
name = "revolt"
version = "0.3.2"
version = "0.3.3"
dependencies = [
"async-std",
"async-tungstenite",
......@@ -2377,6 +2391,7 @@ dependencies = [
"rocket",
"rocket_contrib",
"rocket_cors",
"rocket_prometheus",
"serde",
"serde_json",
"snafu",
......@@ -2493,6 +2508,15 @@ dependencies = [
"version_check",
]
[[package]]
name = "rocket_prometheus"
version = "0.7.0"
source = "git+https://github.com/insertish/rocket_prometheus?rev=3d825aedb42793246c306a81fe67c5b187948983#3d825aedb42793246c306a81fe67c5b187948983"
dependencies = [
"prometheus",
"rocket",
]
[[package]]
name = "rust-argon2"
version = "0.8.3"
......
[package]
name = "revolt"
version = "0.3.2"
version = "0.3.3"
authors = ["Paul Makles <paulmakles@gmail.com>"]
edition = "2018"
......@@ -8,15 +8,16 @@ edition = "2018"
[dependencies]
futures = "0.3.8"
many-to-many = "0.1.2"
impl_ops = "0.1.1"
many-to-many = "0.1.2"
ctrlc = { version = "3.0", features = ["termination"] }
async-std = { version = "1.8.0", features = ["tokio02", "attributes"] }
async-tungstenite = { version = "0.10.0", features = ["async-std-runtime"] }
rauth = { git = "https://gitlab.insrt.uk/insert/rauth", rev = "d48b0087cc546d2c9ef53f27d0693c8378172dfe" }
async-std = { version = "1.8.0", features = ["tokio02", "attributes"] }
hive_pubsub = { version = "0.4.3", features = ["mongo"] }
rocket_cors = { git = "https://github.com/insertish/rocket_cors", branch = "master" }
rocket_prometheus = { git = "https://github.com/insertish/rocket_prometheus", rev = "3d825aedb42793246c306a81fe67c5b187948983" }
rocket_contrib = { git = "https://github.com/SergioBenitez/Rocket", rev = "031948c1daaa146128d8a435be116476f2adde00" }
rocket = { git = "https://github.com/SergioBenitez/Rocket", rev = "031948c1daaa146128d8a435be116476f2adde00", default-features = false }
mongodb = { version = "1.1.1", features = ["tokio-runtime"], default-features = false }
......
......@@ -18,13 +18,14 @@ pub mod notifications;
pub mod routes;
pub mod util;
use chrono::Duration;
use futures::join;
use log::info;
use futures::join;
use chrono::Duration;
use rauth::auth::Auth;
use rauth::options::{EmailVerification, Options, SMTP};
use rocket_cors::AllowedOrigins;
use util::variables::{PUBLIC_URL, SMTP_FROM, SMTP_HOST, SMTP_PASSWORD, SMTP_USERNAME, USE_EMAIL};
use rocket_prometheus::PrometheusMetrics;
use rauth::options::{EmailVerification, Options, SMTP};
use util::variables::{PUBLIC_URL, SMTP_FROM, SMTP_HOST, SMTP_PASSWORD, SMTP_USERNAME, USE_EMAIL, USE_PROMETHEUS};
#[async_std::main]
async fn main() {
......@@ -80,7 +81,17 @@ async fn launch_web() {
}),
);
routes::mount(rocket::ignite())
let mut rocket = rocket::ignite();
if *USE_PROMETHEUS {
info!("Enabled Prometheus metrics!");
let prometheus = PrometheusMetrics::new();
rocket = rocket
.attach(prometheus.clone())
.mount("/metrics", prometheus);
}
routes::mount(rocket)
.mount("/", rocket_cors::catch_all_options_routes())
.mount("/auth", rauth::routes::routes())
.manage(auth)
......
......@@ -19,7 +19,7 @@ lazy_static! {
env::var("REVOLT_WS_HOST").unwrap_or_else(|_| "0.0.0.0:9000".to_string());
// Application Flags
pub static ref DISABLE_REGISTRATION: bool = env::var("REVOLT_DISABLE_REGISTRATION").map_or(false, |v| v == "*1");
pub static ref DISABLE_REGISTRATION: bool = env::var("REVOLT_DISABLE_REGISTRATION").map_or(false, |v| v == "1");
pub static ref USE_EMAIL: bool = env::var("REVOLT_USE_EMAIL_VERIFICATION").map_or(
env::var("REVOLT_SMTP_HOST").is_ok()
&& env::var("REVOLT_SMTP_USERNAME").is_ok()
......@@ -28,6 +28,7 @@ lazy_static! {
|v| v == *"1"
);
pub static ref USE_HCAPTCHA: bool = env::var("REVOLT_HCAPTCHA_KEY").is_ok();
pub static ref USE_PROMETHEUS: bool = env::var("REVOLT_ENABLE_PROMETHEUS").map_or(false, |v| v == "1");
// SMTP Settings
pub static ref SMTP_HOST: String =
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment