From cd92adb1c66797c6d0c7f90a067e56e88bb9e8a4 Mon Sep 17 00:00:00 2001 From: Michael Vines Date: Sat, 9 Feb 2019 22:26:27 -0800 Subject: [PATCH] Stop sending metrics by default `source scripts/configure-metrics.sh` can be used at any time to easily activate metrics if desired for local development and test. --- metrics/src/metrics.rs | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/metrics/src/metrics.rs b/metrics/src/metrics.rs index 9b3a2e9cad..8fd374bd3b 100644 --- a/metrics/src/metrics.rs +++ b/metrics/src/metrics.rs @@ -49,12 +49,12 @@ struct InfluxDbMetricsWriter { impl InfluxDbMetricsWriter { fn new() -> Self { InfluxDbMetricsWriter { - client: Self::build_client(), + client: Self::build_client().ok(), } } - fn build_client() -> Option { - let (host, db, username, password) = get_env_settings(); + fn build_client() -> Result { + let (host, db, username, password) = get_env_settings()?; debug!("InfluxDB host={} db={} username={}", host, db, username); let mut client = influxdb::Client::new_with_option(host, db, None) @@ -64,7 +64,7 @@ impl InfluxDbMetricsWriter { client.set_write_timeout(1 /*second*/); debug!("InfluxDB version: {:?}", client.get_version()); - Some(client) + Ok(client) } } @@ -191,17 +191,17 @@ pub fn submit(point: influxdb::Point) { agent.submit(point); } -fn get_env_settings() -> (String, String, String, String) { +fn get_env_settings() -> Result<(String, String, String, String), env::VarError> { let host = env::var("INFLUX_HOST").unwrap_or_else(|_| "https://metrics.solana.com:8086".to_string()); - let db = env::var("INFLUX_DATABASE").unwrap_or_else(|_| "scratch".to_string()); - let username = env::var("INFLUX_USERNAME").unwrap_or_else(|_| "scratch_writer".to_string()); - let password = env::var("INFLUX_PASSWORD").unwrap_or_else(|_| "topsecret".to_string()); - (host, db, username, password) + let db = env::var("INFLUX_DATABASE")?.to_string(); + let username = env::var("INFLUX_USERNAME")?.to_string(); + let password = env::var("INFLUX_PASSWORD")?.to_string(); + Ok((host, db, username, password)) } pub fn query(q: &str) -> Result { - let (host, _, username, password) = get_env_settings(); + let (host, _db, username, password) = get_env_settings().map_err(|err| err.to_string())?; let query = format!("{}/query?u={}&p={}&q={}", &host, &username, &password, &q); let response = reqwest::get(query.as_str()) @@ -209,7 +209,7 @@ pub fn query(q: &str) -> Result { .text() .map_err(|err| err.to_string())?; - Result::Ok(response) + Ok(response) } /// Blocks until all pending points from previous calls to `submit` have been