From 2ad4fcdb29e8c8e2c491900e129f7d0e05c8c9e8 Mon Sep 17 00:00:00 2001 From: GroovieGermanikus Date: Wed, 4 Oct 2023 18:50:11 +0200 Subject: [PATCH] bench: wrap result from caller thread --- bench/src/main.rs | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/bench/src/main.rs b/bench/src/main.rs index 36b1464f..04fdbf1f 100644 --- a/bench/src/main.rs +++ b/bench/src/main.rs @@ -154,6 +154,10 @@ struct TxSendData { transaction_bytes: u64, } +struct ApiCallerResult { + gross_send_time: Duration, +} + #[allow(clippy::too_many_arguments)] async fn bench( rpc_client: Arc, @@ -168,7 +172,7 @@ async fn bench( ) -> Metric { let map_of_txs: Arc> = Arc::new(DashMap::new()); // transaction sender task - let time_to_run = { + let api_caller_result = { let map_of_txs = map_of_txs.clone(); let rpc_client = rpc_client.clone(); let current_slot = current_slot.clone(); @@ -210,7 +214,9 @@ async fn bench( } } } - bench_start_time.elapsed() + ApiCallerResult { + gross_send_time: bench_start_time.elapsed(), + } }) }; @@ -259,9 +265,13 @@ async fn bench( for tx in map_of_txs.iter() { metric.add_unsuccessful_transaction(tx.sent_duration, tx.transaction_bytes); } - if let Ok(total_gross_send_time) = time_to_run.await { - metric.set_total_gross_send_time(total_gross_send_time.as_micros() as f64 / 1_000.0); - } + + let api_caller_result = api_caller_result + .await + .expect("api caller task must succeed"); + + metric + .set_total_gross_send_time(api_caller_result.gross_send_time.as_micros() as f64 / 1_000.0); metric.finalize(); metric