diff --git a/Cargo.lock b/Cargo.lock index 786969fa8..526cd0bb6 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1478,6 +1478,7 @@ name = "eigen-metrics" version = "0.0.1-alpha" dependencies = [ "eigen-metrics-collectors-economic", + "eigen-metrics-collectors-rpc-calls", "eigen-metrics-derive", "eyre", "hyper 0.14.29", diff --git a/crates/metrics/Cargo.toml b/crates/metrics/Cargo.toml index cfc191ba2..34706f479 100644 --- a/crates/metrics/Cargo.toml +++ b/crates/metrics/Cargo.toml @@ -20,6 +20,7 @@ hyper.workspace = true [dev-dependencies] eigen-metrics-collectors-economic.workspace = true +eigen-metrics-collectors-rpc-calls.workspace = true reqwest = "0.12.4" #tokio diff --git a/crates/metrics/src/prometheus.rs b/crates/metrics/src/prometheus.rs index d8d8be89c..405a5f46f 100644 --- a/crates/metrics/src/prometheus.rs +++ b/crates/metrics/src/prometheus.rs @@ -39,6 +39,7 @@ mod tests { use super::*; use crate::eigenmetrics::EigenMetrics; use eigen_metrics_collectors_economic::RegisteredStakes; + use eigen_metrics_collectors_rpc_calls::RpcCalls; use tokio::time::sleep; use tokio::time::Duration; @@ -50,6 +51,8 @@ mod tests { // Initialize EigenMetrics let metrics = EigenMetrics::new(); let registered_metrics = RegisteredStakes::new(); + let rpc_calls = RpcCalls::new(); + // Run the metrics server in a background task let server_handle = tokio::spawn(async move { serve_metrics(socket, handle).await.unwrap(); @@ -69,10 +72,11 @@ mod tests { .unwrap(); let mut body = resp.text().await.unwrap(); - println!("body :{:?}", body); assert!(body.contains("eigen_performance_score 100")); metrics.performance_score().set(80.0); + rpc_calls.set_rpc_request_duration_seconds("eth_getBlockByNumber", "rethv1.0.3", 100.0); + rpc_calls.set_rpc_request_total("eth_getBlockByNumber", "rethv1.0.3", 10); registered_metrics.set_stake("4th", "hello Eigen", 8.0); sleep(Duration::from_secs(1)).await; @@ -82,7 +86,8 @@ mod tests { assert!(body.contains( "Key_eigen_registered_stakes___quorum_number___4th__quorum_name___hello_Eigen__ 8" )); - + assert!(body.contains("eigen_rpc_request_duration_seconds___method___eth_getBlockByNumber__client_version___rethv1_0_3__{quantile=\"1\"} 100")); + assert!(body.contains("eigen_rpc_request_total___method___eth_getBlockByNumber__client_version___rethv1_0_3__ 10")); // Shutdown the server server_handle.abort(); }