rc #15

Merged
deployer3000 merged 4 commits from rc into master 2025-03-10 16:19:30 +03:00
3 changed files with 18 additions and 10 deletions

View File

@ -1,6 +1,6 @@
[package]
name = "api-grub"
version = "1.0.1"
version = "1.0.2"
edition = "2021"
[dependencies]

View File

@ -33,7 +33,7 @@ pub async fn setup_logger() -> Result<()> {
record.args(),
)
})
.filter(None, LevelFilter::Debug)
.filter(None, LevelFilter::Info)
.target(env_logger::Target::Stdout)
.init();

View File

@ -40,19 +40,26 @@ use std::collections::HashMap;
///
pub async fn get_metrics_from_monitoring(duration: usize, delay: usize) -> anyhow::Result<()> {
let timer = tokio::time::Instant::now();
let mut a = MonitoringImporter::new().await;
'outer: loop {
let mut a = MonitoringImporter::new().await;
// let mut a = MonitoringImporter::new().await;
a.start_session().await?;
info!("Started a new CM session");
let vec = Arc::new(a.get_metrics_list().await.unwrap_or_else(|_| vec![]));
'inner: loop {
if duration != 0 && timer.elapsed() >= tokio::time::Duration::from_secs(duration as u64) {
break 'outer;
}
if let Err(_) = a.get_measure_info(vec.clone()).await {
if vec.len() == 0 || a.get_measure_info(vec.clone()).await.is_err() {
warn!("Session dropped, creating new ...");
break 'inner;
}
// if let Err(_) = a.get_measure_info(vec.clone()).await {
// warn!("Session dropped, creating new ...");
// break 'inner;
// }
tokio::time::sleep(tokio::time::Duration::from_secs(delay as u64)).await
}
}
@ -235,14 +242,15 @@ impl MonitoringImporter {
for event in jh_vec {
match event.await {
Ok(val) => {
if let Ok(val) = 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),
}
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),
}
},
Err(er) => println!("Fatal error on async task: {}", er),
Err(er) => {
println!("Fatal error on async task: {}", er);
return Err(anyhow::Error::msg(format!("Fatal error on async task: {}", er)))
},
}
}
Ok(())