diff --git a/Cargo.lock b/Cargo.lock index ea1c931d9..b50a7eee3 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1814,6 +1814,7 @@ dependencies = [ "sha2", "structopt", "thiserror", + "tracing", "url", "uuid", ] diff --git a/crates/sputnik/Cargo.toml b/crates/sputnik/Cargo.toml index f3d0de1e6..e816cd2ff 100644 --- a/crates/sputnik/Cargo.toml +++ b/crates/sputnik/Cargo.toml @@ -13,6 +13,7 @@ serde_json = "1.0" sha2 = "0.9" structopt = "0.3" thiserror = "1.0" +tracing = "0.1" url = "2.2" uuid = { version = "0.8", features = ["serde", "v4"] } diff --git a/crates/sputnik/src/session.rs b/crates/sputnik/src/session.rs index ff845e700..a46dd2671 100644 --- a/crates/sputnik/src/session.rs +++ b/crates/sputnik/src/session.rs @@ -114,8 +114,10 @@ impl Session { // set timeout to 400 ms to prevent blocking for too long on reporting let timeout = Duration::from_millis(4000); let body = serde_json::to_string(&self)?; + tracing::debug!("POSTing to {}", &self.reporting_info.endpoint); + tracing::debug!("{}", body); reqwest::blocking::Client::new() - .post(self.reporting_info.endpoint.to_owned()) + .post(self.reporting_info.endpoint.clone()) .body(body) .header("User-Agent", &self.reporting_info.user_agent) .header("Content-Type", "application/json") diff --git a/src/telemetry.rs b/src/telemetry.rs index 2b208ba21..adf9134ab 100644 --- a/src/telemetry.rs +++ b/src/telemetry.rs @@ -8,8 +8,7 @@ use sputnik::{Command, Report, SputnikError}; use std::collections::HashMap; -const DEV_TELEMETRY_URL: &str = "http://localhost:8787/telemetry"; -const PROD_TELEMETRY_URL: &str = "https://install.apollographql.com/telemetry"; +const TELEMETRY_URL: &str = "https://install.apollographql.workers.dev/telemetry"; fn get_command_from_args(mut raw_arguments: &mut serde_json::Value) -> Command { let mut commands = Vec::new(); @@ -89,25 +88,19 @@ impl Report for Rover { } fn endpoint(&self) -> Result { - if let Some(url) = self.env_store.get(RoverEnvKey::TelemetryUrl)? { - Ok(Url::parse(&url)?) - } else if cfg!(debug_assertions) { - Ok(DEV_TELEMETRY_URL.parse()?) - } else { - Ok(PROD_TELEMETRY_URL.parse()?) - } + let url = self + .env_store + .get(RoverEnvKey::TelemetryUrl)? + .unwrap_or_else(|| TELEMETRY_URL.to_string()); + Ok(Url::parse(&url)?) } fn tool_name(&self) -> String { - option_env!("CARGO_PKG_NAME") - .unwrap_or("unknown") - .to_string() + env!("CARGO_PKG_NAME").to_string() } fn version(&self) -> String { - option_env!("CARGO_PKG_VERSION") - .unwrap_or("unknown") - .to_string() + env!("CARGO_PKG_VERSION").to_string() } fn machine_id_config(&self) -> Result {