From 91ead7d1baf4e08bbce12c29f711abee4dc3f8d6 Mon Sep 17 00:00:00 2001 From: prplV Date: Mon, 14 Apr 2025 05:13:00 -0400 Subject: [PATCH 1/2] or_else + ? logic to handle two-step env var check --- crates/api-grub/src/export.rs | 8 ++++++-- crates/api-grub/src/monitoring.rs | 4 ++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/crates/api-grub/src/export.rs b/crates/api-grub/src/export.rs index 1f53957..df501ad 100644 --- a/crates/api-grub/src/export.rs +++ b/crates/api-grub/src/export.rs @@ -4,7 +4,7 @@ use reqwest::Client; use tokio_postgres::NoTls; use std::env; use anyhow::Result; -use tracing::{debug, error, info}; +use tracing::{debug, error, info, trace}; use std::ops::Drop; /// An entity which handles DB connections. @@ -113,9 +113,13 @@ impl Exporter { } /// Exports metrics in `PrometheusMetricsExtended` format to Exporter defined /// as env var $EXORPTER_URL + #[tracing::instrument(name = "Prometheus/Status System export")] pub async fn export_extended_metrics(metrics: PrometheusMetricsExtended) -> Result { // let url = env::var("EXPORTER_URL")?; - let url = env::var("STATUS_SYSTEM_URL").unwrap_or(env::var("EXPORTER_URL")?); + let url = env::var("STATUS_SYSTEM_URL").or_else(|err| { + trace!("cannot fetch $STATUS_SYSTEM_URL var due to {}", err); + env::var("EXPORTER_URL") + })?; debug!("Exporting: {:?}", &metrics); diff --git a/crates/api-grub/src/monitoring.rs b/crates/api-grub/src/monitoring.rs index a2be58f..063e445 100644 --- a/crates/api-grub/src/monitoring.rs +++ b/crates/api-grub/src/monitoring.rs @@ -277,8 +277,8 @@ impl MonitoringImporter { match event.await { Ok(val) => { match crate::export::Exporter::export_extended_metrics(val?).await { - Ok(bytes) => {info!("Successfully transmitted {} bytes to the Prometehus exporter", bytes)}, - Err(er) => error!("Cannot export data to the Prometehus exporter due to : `{}`", er), + Ok(bytes) => {info!("Successfully transmitted {} bytes", bytes)}, + Err(er) => error!("Cannot export data due to : `{}`", er), } }, Err(er) => { From fa0895122caa74301d1a2f80ab1cb9b2470194f7 Mon Sep 17 00:00:00 2001 From: prplV Date: Mon, 14 Apr 2025 05:18:25 -0400 Subject: [PATCH 2/2] extended log --- crates/api-grub/src/export.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crates/api-grub/src/export.rs b/crates/api-grub/src/export.rs index df501ad..d348830 100644 --- a/crates/api-grub/src/export.rs +++ b/crates/api-grub/src/export.rs @@ -117,7 +117,7 @@ impl Exporter { pub async fn export_extended_metrics(metrics: PrometheusMetricsExtended) -> Result { // let url = env::var("EXPORTER_URL")?; let url = env::var("STATUS_SYSTEM_URL").or_else(|err| { - trace!("cannot fetch $STATUS_SYSTEM_URL var due to {}", err); + trace!("cannot fetch $STATUS_SYSTEM_URL var due to {}. working only with Prometheus exporter link", err); env::var("EXPORTER_URL") })?;