This commit is contained in:
mbecker20
2024-12-21 11:23:46 -05:00
parent af9fbf9667
commit 7815639aeb
6 changed files with 39 additions and 38 deletions

View File

@@ -499,14 +499,10 @@ pub async fn validate_cancel_build(
match (latest_build, latest_cancel) {
(Some(build), Some(cancel)) => {
if cancel.start_ts > build.start_ts {
return Err(
anyhow!("Build has already been cancelled"),
);
return Err(anyhow!("Build has already been cancelled"));
}
}
(None, _) => {
return Err(anyhow!("No build in progress"))
}
(None, _) => return Err(anyhow!("No build in progress")),
_ => {}
};
}

View File

@@ -122,8 +122,11 @@ async fn get_aws_builder(
let protocol = if config.use_https { "https" } else { "http" };
let periphery_address =
format!("{protocol}://{ip}:{}", config.port);
let periphery =
PeripheryClient::new(&periphery_address, &core_config().passkey, Duration::from_secs(3));
let periphery = PeripheryClient::new(
&periphery_address,
&core_config().passkey,
Duration::from_secs(3),
);
let start_connect_ts = komodo_timestamp();
let mut res = Ok(GetVersionResponse {

View File

@@ -28,7 +28,9 @@ pub async fn record_server_stats(ts: i64) {
disks: stats.disks.clone(),
network_ingress_bytes: stats.network_ingress_bytes,
network_egress_bytes: stats.network_egress_bytes,
network_usage_interface: stats.network_usage_interface.clone(),
network_usage_interface: stats
.network_usage_interface
.clone(),
})
})
.collect::<Vec<_>>();

View File

@@ -45,4 +45,3 @@ impl Resolve<super::Args> for GetSystemProcesses {
Ok(stats_client().read().await.get_processes())
}
}

View File

@@ -2,7 +2,8 @@ use std::{cmp::Ordering, sync::OnceLock};
use async_timing_util::wait_until_timelength;
use komodo_client::entities::stats::{
SingleDiskUsage, SystemInformation, SystemProcess, SystemStats, SingleNetworkInterfaceUsage,
SingleDiskUsage, SingleNetworkInterfaceUsage, SystemInformation,
SystemProcess, SystemStats,
};
use sysinfo::{ProcessesToUpdate, System};
use tokio::sync::RwLock;
@@ -35,7 +36,6 @@ pub fn spawn_system_stats_polling_thread() {
});
}
pub struct StatsClient {
/// Cached system stats
pub stats: SystemStats,
@@ -85,27 +85,28 @@ impl StatsClient {
let available_mem = self.system.available_memory();
let mut total_ingress: u64 = 0;
let mut total_egress: u64 = 0;
let mut total_egress: u64 = 0;
// Fetch network data (Ingress and Egress)
let network_usage: Vec<SingleNetworkInterfaceUsage> = self.networks
.iter()
.map(|(interface_name, network)| {
let ingress = network.received();
let egress = network.transmitted();
let network_usage: Vec<SingleNetworkInterfaceUsage> = self
.networks
.iter()
.map(|(interface_name, network)| {
let ingress = network.received();
let egress = network.transmitted();
// Update total ingress and egress
total_ingress += ingress;
total_egress += egress;
// Update total ingress and egress
total_ingress += ingress;
total_egress += egress;
// Return per-interface network stats
SingleNetworkInterfaceUsage {
name: interface_name.clone(),
ingress_bytes: ingress as f64,
egress_bytes: egress as f64,
}
})
.collect();
// Return per-interface network stats
SingleNetworkInterfaceUsage {
name: interface_name.clone(),
ingress_bytes: ingress as f64,
egress_bytes: egress as f64,
}
})
.collect();
SystemStats {
cpu_perc: self.system.global_cpu_usage(),

View File

@@ -51,15 +51,15 @@ pub struct SystemStatsRecord {
pub disk_total_gb: f64,
/// Breakdown of individual disks, ie their usages, sizes, and mount points
pub disks: Vec<SingleDiskUsage>,
/// Network ingress usage in bytes
#[serde(default)]
pub network_ingress_bytes: f64,
/// Network egress usage in bytes
#[serde(default)]
pub network_egress_bytes: f64,
/// Network usage by interface name (ingress, egress in bytes)
#[serde(default)]
pub network_usage_interface: Vec<SingleNetworkInterfaceUsage>, // interface -> (ingress, egress)
/// Network ingress usage in bytes
#[serde(default)]
pub network_ingress_bytes: f64,
/// Network egress usage in bytes
#[serde(default)]
pub network_egress_bytes: f64,
/// Network usage by interface name (ingress, egress in bytes)
#[serde(default)]
pub network_usage_interface: Vec<SingleNetworkInterfaceUsage>, // interface -> (ingress, egress)
}
/// Realtime system stats data.