about summary refs log tree commit diff
path: root/tvix/tracing/src/lib.rs
diff options
context:
space:
mode:
authorSimon Hauser <simon.hauser@helsinki-systems.de>2024-06-19T09·30+0200
committerSimon Hauser <simon.hauser@helsinki-systems.de>2024-06-20T10·28+0000
commitbd8d74a3eea461268c3ee089e001022c7d151c14 (patch)
tree2f32aad8ae405292eca71658f0e0a797a8ad47ef /tvix/tracing/src/lib.rs
parent1446e3be9991291367a2b0cd7daa1d3c0f86e8b7 (diff)
feat(tvix/tracing): optional progressbar r/8297
Disable the progressbar on default and provide a interface for
optionally enabling the progressbar.

Change-Id: I0e31b1957e80cf64a8dcf65c6ceb3713975b8220
Reviewed-on: https://cl.tvl.fyi/c/depot/+/11861
Tested-by: BuildkiteCI
Reviewed-by: flokli <flokli@flokli.de>
Autosubmit: Simon Hauser <simon.hauser@helsinki-systems.de>
Diffstat (limited to 'tvix/tracing/src/lib.rs')
-rw-r--r--tvix/tracing/src/lib.rs18
1 files changed, 14 insertions, 4 deletions
diff --git a/tvix/tracing/src/lib.rs b/tvix/tracing/src/lib.rs
index ecf31e1eb031..68a417998a24 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")]