added docker metrics
All checks were successful
Rust Cross-Platform Build / Detect Rust Project (push) Successful in 4s
Rust Cross-Platform Build / Run Tests (push) Successful in 1m3s
Rust Cross-Platform Build / Build (x86_64-unknown-linux-gnu) (push) Successful in 2m56s
Rust Cross-Platform Build / Build (x86_64-pc-windows-gnu) (push) Successful in 3m37s
Rust Cross-Platform Build / Set Tag Name (push) Successful in 5s
Rust Cross-Platform Build / Build and Push Docker Image (push) Successful in 2m12s
Rust Cross-Platform Build / Workflow Summary (push) Successful in 2s
Rust Cross-Platform Build / Create Tag (push) Successful in 5s
All checks were successful
Rust Cross-Platform Build / Detect Rust Project (push) Successful in 4s
Rust Cross-Platform Build / Run Tests (push) Successful in 1m3s
Rust Cross-Platform Build / Build (x86_64-unknown-linux-gnu) (push) Successful in 2m56s
Rust Cross-Platform Build / Build (x86_64-pc-windows-gnu) (push) Successful in 3m37s
Rust Cross-Platform Build / Set Tag Name (push) Successful in 5s
Rust Cross-Platform Build / Build and Push Docker Image (push) Successful in 2m12s
Rust Cross-Platform Build / Workflow Summary (push) Successful in 2s
Rust Cross-Platform Build / Create Tag (push) Successful in 5s
This commit is contained in:
@@ -15,7 +15,7 @@ use std::time::Duration;
|
||||
use crate::docker::serverclientcomm::handle_server_message;
|
||||
use crate::hardware::HardwareInfo;
|
||||
use crate::models::{
|
||||
Acknowledgment, HeartbeatDto, IdResponse, MetricDto, RegistrationDto, ServerMessage,
|
||||
Acknowledgment, HeartbeatDto, IdResponse, MetricDto, RegistrationDto, ServerMessage, DockerMetricDto
|
||||
};
|
||||
|
||||
use anyhow::Result;
|
||||
@@ -39,7 +39,7 @@ use bollard::Docker;
|
||||
/// Returns an error if unable to register after repeated attempts.
|
||||
pub async fn register_with_server(
|
||||
base_url: &str,
|
||||
) -> Result<(i32, String), Box<dyn Error + Send + Sync>> {
|
||||
) -> Result<(u16, String), Box<dyn Error + Send + Sync>> {
|
||||
// First get local IP
|
||||
let ip = local_ip_address::local_ip()?.to_string();
|
||||
println!("Local IP address detected: {}", ip);
|
||||
@@ -103,7 +103,7 @@ pub async fn register_with_server(
|
||||
async fn get_server_id_by_ip(
|
||||
base_url: &str,
|
||||
ip: &str,
|
||||
) -> Result<(i32, String), Box<dyn Error + Send + Sync>> {
|
||||
) -> Result<(u16, String), Box<dyn Error + Send + Sync>> {
|
||||
let client = Client::builder()
|
||||
.danger_accept_invalid_certs(true)
|
||||
.build()?;
|
||||
@@ -342,19 +342,19 @@ pub async fn send_acknowledgment(
|
||||
|
||||
pub async fn send_docker_metrics(
|
||||
base_url: &str,
|
||||
docker_metrics: &MetricDto,
|
||||
docker_metrics: &DockerMetricDto,
|
||||
) -> Result<(), Box<dyn Error + Send + Sync>> {
|
||||
let client = Client::new();
|
||||
let url = format!("{}/monitoring/docker-metric", base_url);
|
||||
println!("Metrics: {:?}", docker_metrics);
|
||||
println!("Docker Metrics: {:?}", docker_metrics);
|
||||
|
||||
match client.post(&url).json(&docker_metrics).send().await {
|
||||
Ok(res) => println!(
|
||||
"✅ Sent metrics for server {} | Status: {}",
|
||||
"✅ Sent docker metrics for server {} | Status: {}",
|
||||
docker_metrics.server_id,
|
||||
res.status()
|
||||
),
|
||||
Err(err) => eprintln!("❌ Failed to send metrics: {}", err),
|
||||
Err(err) => eprintln!("❌ Failed to send docker metrics: {}", err),
|
||||
}
|
||||
|
||||
Ok(())
|
||||
|
||||
Reference in New Issue
Block a user