Merge pull request 'or_else + ? logic to handle two-step env var check' (#23) from hotfix/1307 into rc
test-org/integration-module/pipeline/pr-master Build succeeded

Reviewed-on: http://git.enode/deployer3000/integration-module/pulls/23
Reviewed-by: DmitriyA <faleo1999@mail.ru>
pull/24/head v1.0.6
Vladislav Drozdov 2025-04-28 10:25:35 +03:00
commit 76beff02ac
2 changed files with 8 additions and 4 deletions

View File

@ -4,7 +4,7 @@ use reqwest::Client;
use tokio_postgres::NoTls; use tokio_postgres::NoTls;
use std::env; use std::env;
use anyhow::Result; use anyhow::Result;
use tracing::{debug, error, info}; use tracing::{debug, error, info, trace};
use std::ops::Drop; use std::ops::Drop;
/// An entity which handles DB connections. /// An entity which handles DB connections.
@ -113,9 +113,13 @@ impl Exporter {
} }
/// Exports metrics in `PrometheusMetricsExtended` format to Exporter defined /// Exports metrics in `PrometheusMetricsExtended` format to Exporter defined
/// as env var $EXORPTER_URL /// as env var $EXORPTER_URL
#[tracing::instrument(name = "Prometheus/Status System export")]
pub async fn export_extended_metrics(metrics: PrometheusMetricsExtended) -> Result<usize> { pub async fn export_extended_metrics(metrics: PrometheusMetricsExtended) -> Result<usize> {
// let url = env::var("EXPORTER_URL")?; // 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 {}. working only with Prometheus exporter link", err);
env::var("EXPORTER_URL")
})?;
debug!("Exporting: {:?}", &metrics); debug!("Exporting: {:?}", &metrics);

View File

@ -277,8 +277,8 @@ impl MonitoringImporter {
match event.await { match event.await {
Ok(val) => { Ok(val) => {
match crate::export::Exporter::export_extended_metrics(val?).await { match crate::export::Exporter::export_extended_metrics(val?).await {
Ok(bytes) => {info!("Successfully transmitted {} bytes to the Prometehus exporter", bytes)}, Ok(bytes) => {info!("Successfully transmitted {} bytes", bytes)},
Err(er) => error!("Cannot export data to the Prometehus exporter due to : `{}`", er), Err(er) => error!("Cannot export data due to : `{}`", er),
} }
}, },
Err(er) => { Err(er) => {