From dadbd87ac1e9a876500ae0a51134c0472d581399 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Arpad=20M=C3=BCller?= Date: Fri, 7 Jun 2024 01:57:45 +0200 Subject: [PATCH] Add percent to output --- pageserver/ctl/src/layers.rs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/pageserver/ctl/src/layers.rs b/pageserver/ctl/src/layers.rs index 39e0d36eaa..7373d7efe5 100644 --- a/pageserver/ctl/src/layers.rs +++ b/pageserver/ctl/src/layers.rs @@ -306,7 +306,7 @@ pub(crate) async fn main(cmd: &LayerCmd) -> Result<()> { let semaphore = Arc::new(Semaphore::new(parallelism.unwrap_or(1) as usize)); let mut tasks = JoinSet::new(); - for file_key in files_list.keys.iter() { + for (file_idx, file_key) in files_list.keys.iter().enumerate() { let Some(file_name) = file_key.object_name() else { continue; }; @@ -360,6 +360,7 @@ pub(crate) async fn main(cmd: &LayerCmd) -> Result<()> { let storage = storage.clone(); let tmp_dir = tmp_dir.to_owned(); let file_name = file_name.to_owned(); + let percent = (file_idx * 100) / files_list.keys.len(); tasks.spawn(async move { let stats = stats( semaphore, @@ -371,7 +372,9 @@ pub(crate) async fn main(cmd: &LayerCmd) -> Result<()> { ) .await; match stats { - Ok(stats) => println!("Statistics for {file_name}: {stats:?}\n"), + Ok(stats) => { + println!("Statistics for {file_name} ({percent}%): {stats:?}\n") + } Err(e) => eprintln!("Error for {file_name}: {e:?}"), }; });