diff options
| author | Ellie Huxtable <ellie@elliehuxtable.com> | 2023-11-16 23:18:13 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-11-16 23:18:13 +0000 |
| commit | 15d214e2372308fa1d12b576a675c9e2cbf6cde1 (patch) | |
| tree | a2a4e223e1f4602a70805ebad84694b8fc14daa7 /atuin-server/src/settings.rs | |
| parent | fix: new clippy lints (#1395) (diff) | |
| download | atuin-15d214e2372308fa1d12b576a675c9e2cbf6cde1.zip | |
feat: add metrics server and http metrics (#1394)
* feat: add metrics server and http metrics
* setup metrics
* update default config
* fix tests
Diffstat (limited to 'atuin-server/src/settings.rs')
| -rw-r--r-- | atuin-server/src/settings.rs | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/atuin-server/src/settings.rs b/atuin-server/src/settings.rs index 744f4ec2..d6f1867c 100644 --- a/atuin-server/src/settings.rs +++ b/atuin-server/src/settings.rs @@ -8,6 +8,23 @@ use serde::{de::DeserializeOwned, Deserialize, Serialize}; static EXAMPLE_CONFIG: &str = include_str!("../server.toml"); #[derive(Clone, Debug, Deserialize, Serialize)] +pub struct Metrics { + pub enable: bool, + pub host: String, + pub port: u16, +} + +impl Default for Metrics { + fn default() -> Self { + Self { + enable: false, + host: String::from("127.0.0.1"), + port: 9001, + } + } +} + +#[derive(Clone, Debug, Deserialize, Serialize)] pub struct Settings<DbSettings> { pub host: String, pub port: u16, @@ -18,6 +35,7 @@ pub struct Settings<DbSettings> { pub page_size: i64, pub register_webhook_url: Option<String>, pub register_webhook_username: String, + pub metrics: Metrics, #[serde(flatten)] pub db_settings: DbSettings, @@ -46,6 +64,9 @@ impl<DbSettings: DeserializeOwned> Settings<DbSettings> { .set_default("path", "")? .set_default("register_webhook_username", "")? .set_default("page_size", 1100)? + .set_default("metrics.enable", false)? + .set_default("metrics.host", "127.0.0.1")? + .set_default("metrics.port", 9001)? .add_source( Environment::with_prefix("atuin") .prefix_separator("_") |
