diff --git a/crates/driver/src/infra/observe/metrics.rs b/crates/driver/src/infra/observe/metrics.rs index bf2f957508..330e250867 100644 --- a/crates/driver/src/infra/observe/metrics.rs +++ b/crates/driver/src/infra/observe/metrics.rs @@ -16,6 +16,9 @@ pub struct Metrics { /// The results of the quoting process. #[metric(labels("solver", "result"))] pub quotes: prometheus::IntCounterVec, + /// The results of the mempool submission. + #[metric(labels("mempool", "result"))] + pub mempool_submission: prometheus::IntCounterVec, } /// Setup the metrics registry. diff --git a/crates/driver/src/infra/observe/mod.rs b/crates/driver/src/infra/observe/mod.rs index 9b0d353293..b18e29c4e9 100644 --- a/crates/driver/src/infra/observe/mod.rs +++ b/crates/driver/src/infra/observe/mod.rs @@ -333,6 +333,15 @@ pub fn mempool_executed( ); } } + let result = match res { + Ok(_) => "Success", + Err(mempools::Error::Revert(_) | mempools::Error::SimulationRevert) => "Revert", + Err(mempools::Error::Other(_)) => "Other", + }; + metrics::get() + .mempool_submission + .with_label_values(&[&mempool.to_string(), result]) + .inc(); } /// Observe that an invalid DTO was received.