reset metrics after each report

This commit is contained in:
Kirill Lykov 2023-03-31 15:23:33 +00:00
parent 09c582dbd9
commit 3082467c15
2 changed files with 18 additions and 13 deletions

View File

@ -89,7 +89,7 @@ pub async fn main() -> anyhow::Result<()> {
let nb_users = account_keys_parsed.len();
let mango_sim_stats = MangoSimulationStats::new(
let mut mango_sim_stats = MangoSimulationStats::new(
nb_users,
*quotes_per_second as usize,
number_of_markers_per_mm as usize,
@ -236,7 +236,7 @@ pub async fn main() -> anyhow::Result<()> {
{
let exit_signal = exit_signal.clone();
let mango_sim_stats = mango_sim_stats.clone();
let mut mango_sim_stats = mango_sim_stats.clone();
let reporting_thread = tokio::spawn(async move {
loop {
if exit_signal.load(Ordering::Relaxed) {

View File

@ -162,7 +162,7 @@ impl MangoSimulationStats {
}
}
pub fn report(&self, is_final: bool, name: &'static str) {
pub fn report(&mut self, is_final: bool, name: &'static str) {
let num_sent = self.counters.num_sent.load(Ordering::Relaxed);
let num_confirmed_txs = self.counters.num_confirmed_txs.load(Ordering::Relaxed);
let num_successful = self.counters.num_successful.load(Ordering::Relaxed);
@ -265,16 +265,16 @@ impl MangoSimulationStats {
);
println!(
"Transactions confirmed {:.2}%",
(num_confirmed_txs as f64 / num_sent as f64) * 100.0
"Transactions confirmed {}%",
(num_confirmed_txs * 100).checked_div(num_sent).unwrap_or(0)
);
println!(
"Transactions successful {:.2}%",
(num_successful as f64 / num_sent as f64) * 100.0
"Transactions successful {}%",
(num_successful * 100).checked_div(num_sent).unwrap_or(0)
);
println!(
"Transactions timed out {:.2}%",
(num_timeout_txs as f64 / num_sent as f64) * 100.0
"Transactions timed out {}%",
(num_timeout_txs * 100).checked_div(num_sent).unwrap_or(0)
);
println!("\n\n");
@ -288,18 +288,22 @@ impl MangoSimulationStats {
("num_timeout_txs", num_timeout_txs, i64),
(
"percent_confirmed_txs",
(num_confirmed_txs * 100) / num_sent,
(num_confirmed_txs * 100).checked_div(num_sent).unwrap_or(0),
f64
),
(
"percent_successful_txs",
(num_confirmed_txs * 100) / num_sent,
(num_confirmed_txs * 100).checked_div(num_sent).unwrap_or(0),
f64
),
(
"percent_error_txs",
(num_error_txs * 100).checked_div(num_sent).unwrap_or(0),
f64
),
("percent_error_txs", (num_error_txs * 100) / num_sent, f64),
(
"percent_timeout_txs",
(num_timeout_txs * 100) / num_sent,
(num_timeout_txs * 100).checked_div(num_sent).unwrap_or(0),
f64
),
("keeper_consume_events_sent", num_consume_events_txs, i64),
@ -317,5 +321,6 @@ impl MangoSimulationStats {
("keeper_update_funding_sent", num_update_funding_txs, i64),
("keeper_update_funding_succ", succ_update_funding_txs, i64),
);
self.counters = Counters::default();
}
}