@@ -24,19 +24,19 @@ use std::time;
2424pub ( crate ) type Error = String ;
2525
2626async fn periodic_saver ( session : Arc < Session > ) {
27- let one_sec = time:: Duration :: from_millis ( 1000 ) ;
27+ let report_interval = time:: Duration :: from_millis ( session . options . report_time ) ;
2828 let mut last_done: usize = 0 ;
2929 let persistent = session. options . session . is_some ( ) ;
3030
3131 while !session. is_stop ( ) {
32- tokio:: time:: sleep ( one_sec ) . await ;
32+ tokio:: time:: sleep ( report_interval ) . await ;
3333
3434 // compute number of attempts per second
3535 let new_done = session. get_done ( ) ;
36- let speed = new_done - last_done;
36+ let speed = ( new_done - last_done) as f64 / report_interval . as_secs_f64 ( ) ;
3737 last_done = new_done;
3838
39- session. set_speed ( speed) ;
39+ session. set_speed ( speed as usize ) ;
4040
4141 if persistent && let Err ( e) = session. save ( ) {
4242 log:: error!( "could not save session: {:?}" , e) ;
@@ -339,15 +339,15 @@ impl Session {
339339 }
340340
341341 pub async fn report_runtime_statistics ( & self ) {
342- let one_sec = time:: Duration :: from_millis ( 1000 ) ;
342+ let report_interval = time:: Duration :: from_millis ( self . options . report_time ) ;
343343 while !self . is_stop ( ) {
344- tokio:: time:: sleep ( one_sec ) . await ;
344+ tokio:: time:: sleep ( report_interval ) . await ;
345345
346346 let total = self . get_total ( ) ;
347347 let done = self . get_done ( ) ;
348348 let perc = ( done as f32 / total as f32 ) * 100.0 ;
349349 let errors = self . get_errors ( ) ;
350- let speed = self . get_speed ( ) ;
350+ let speed: usize = self . get_speed ( ) ;
351351 let memory = if let Some ( usage) = memory_stats ( ) {
352352 usage. physical_mem
353353 } else {
0 commit comments