diff --git a/tvix/build/src/bin/tvix-build.rs b/tvix/build/src/bin/tvix-build.rs index c96145ebb..26f2044af 100644 --- a/tvix/build/src/bin/tvix-build.rs +++ b/tvix/build/src/bin/tvix-build.rs @@ -54,7 +54,9 @@ enum Commands { async fn main() -> Result<(), Box> { let cli = Cli::parse(); - let _ = tvix_tracing::TracingBuilder::default().level(cli.log_level); + let _ = tvix_tracing::TracingBuilder::default() + .level(cli.log_level) + .enable_progressbar(); match cli.command { Commands::Daemon { diff --git a/tvix/cli/src/main.rs b/tvix/cli/src/main.rs index 3ec45bc37..686513b77 100644 --- a/tvix/cli/src/main.rs +++ b/tvix/cli/src/main.rs @@ -281,6 +281,7 @@ fn main() { let _ = tvix_tracing::TracingBuilder::default() .level(args.log_level) + .enable_progressbar() .build() .expect("unable to set up tracing subscriber"); let tokio_runtime = tokio::runtime::Runtime::new().expect("failed to setup tokio runtime"); diff --git a/tvix/store/src/bin/tvix-store.rs b/tvix/store/src/bin/tvix-store.rs index 2a039fbeb..30ebca004 100644 --- a/tvix/store/src/bin/tvix-store.rs +++ b/tvix/store/src/bin/tvix-store.rs @@ -506,7 +506,7 @@ async fn main() -> Result<(), Box> { let tracing_handle = { let mut builder = tvix_tracing::TracingBuilder::default(); - builder = builder.level(cli.log_level); + builder = builder.level(cli.log_level).enable_progressbar(); #[cfg(feature = "otlp")] { if cli.otlp { diff --git a/tvix/tracing/src/lib.rs b/tvix/tracing/src/lib.rs index ecf31e1eb..68a417998 100644 --- a/tvix/tracing/src/lib.rs +++ b/tvix/tracing/src/lib.rs @@ -114,6 +114,7 @@ impl TracingHandle { pub struct TracingBuilder { level: Level, + progess_bar: bool, #[cfg(feature = "otlp")] service_name: Option<&'static str>, @@ -123,6 +124,7 @@ impl Default for TracingBuilder { fn default() -> Self { TracingBuilder { level: Level::INFO, + progess_bar: false, #[cfg(feature = "otlp")] service_name: None, @@ -145,6 +147,12 @@ impl TracingBuilder { self } + /// Enable progress bar layer, default is disabled + pub fn enable_progressbar(mut self) -> TracingBuilder { + self.progess_bar = true; + self + } + /// This will setup tracing based on the configuration passed in. /// It will setup a stderr writer output layer and a EnvFilter based on the provided log /// level (RUST_LOG still has a higher priority over the configured value). @@ -167,10 +175,12 @@ impl TracingBuilder { .with_writer(indicatif_layer.get_stderr_writer()) .compact(), ) - .with(indicatif_layer.with_filter( - // only show progress for spans with indicatif.pb_show field being set - IndicatifFilter::new(false), - )); + .with((self.progess_bar).then(|| { + indicatif_layer.with_filter( + // only show progress for spans with indicatif.pb_show field being set + IndicatifFilter::new(false), + ) + })); // Setup otlp if a service_name is configured #[cfg(feature = "otlp")]