@@ -92,50 +92,43 @@ mod inner {
92
92
use crate :: STEP_SPAN_TARGET ;
93
93
use crate :: utils:: tracing:: COMMAND_SPAN_TARGET ;
94
94
95
- pub fn setup_tracing ( profiling_enabled : bool ) -> Option < TracingGuard > {
96
- let filter = EnvFilter :: from_env ( "BOOTSTRAP_TRACING" ) ;
95
+ pub fn setup_tracing ( env_name : & str ) -> TracingGuard {
96
+ let filter = EnvFilter :: from_env ( env_name ) ;
97
97
98
98
let registry = tracing_subscriber:: registry ( ) . with ( filter) . with ( TracingPrinter :: default ( ) ) ;
99
99
100
- let guard = if profiling_enabled {
101
- // When we're creating this layer, we do not yet know the location of the tracing output
102
- // directory, because it is stored in the output directory determined after Config is parsed,
103
- // but we already want to make tracing calls during (and before) config parsing.
104
- // So we store the output into a temporary file, and then move it to the tracing directory
105
- // before bootstrap ends.
106
- let tempdir = tempfile:: TempDir :: new ( ) . expect ( "Cannot create temporary directory" ) ;
107
- let chrome_tracing_path = tempdir. path ( ) . join ( "bootstrap-trace.json" ) ;
108
- let file = std:: io:: BufWriter :: new ( File :: create ( & chrome_tracing_path) . unwrap ( ) ) ;
109
-
110
- let chrome_layer = tracing_chrome:: ChromeLayerBuilder :: new ( )
111
- . writer ( file)
112
- . include_args ( true )
113
- . name_fn ( Box :: new ( |event_or_span| match event_or_span {
114
- tracing_chrome:: EventOrSpan :: Event ( e) => e. metadata ( ) . name ( ) . to_string ( ) ,
115
- tracing_chrome:: EventOrSpan :: Span ( s) => {
116
- if s. metadata ( ) . target ( ) == STEP_SPAN_TARGET
117
- && let Some ( extension) = s. extensions ( ) . get :: < StepNameExtension > ( )
118
- {
119
- extension. 0 . clone ( )
120
- } else if s. metadata ( ) . target ( ) == COMMAND_SPAN_TARGET
121
- && let Some ( extension) = s. extensions ( ) . get :: < CommandNameExtension > ( )
122
- {
123
- extension. 0 . clone ( )
124
- } else {
125
- s. metadata ( ) . name ( ) . to_string ( )
126
- }
100
+ // When we're creating this layer, we do not yet know the location of the tracing output
101
+ // directory, because it is stored in the output directory determined after Config is parsed,
102
+ // but we already want to make tracing calls during (and before) config parsing.
103
+ // So we store the output into a temporary file, and then move it to the tracing directory
104
+ // before bootstrap ends.
105
+ let tempdir = tempfile:: TempDir :: new ( ) . expect ( "Cannot create temporary directory" ) ;
106
+ let chrome_tracing_path = tempdir. path ( ) . join ( "bootstrap-trace.json" ) ;
107
+ let file = std:: io:: BufWriter :: new ( File :: create ( & chrome_tracing_path) . unwrap ( ) ) ;
108
+
109
+ let chrome_layer = tracing_chrome:: ChromeLayerBuilder :: new ( )
110
+ . writer ( file)
111
+ . include_args ( true )
112
+ . name_fn ( Box :: new ( |event_or_span| match event_or_span {
113
+ tracing_chrome:: EventOrSpan :: Event ( e) => e. metadata ( ) . name ( ) . to_string ( ) ,
114
+ tracing_chrome:: EventOrSpan :: Span ( s) => {
115
+ if s. metadata ( ) . target ( ) == STEP_SPAN_TARGET
116
+ && let Some ( extension) = s. extensions ( ) . get :: < StepNameExtension > ( )
117
+ {
118
+ extension. 0 . clone ( )
119
+ } else if s. metadata ( ) . target ( ) == COMMAND_SPAN_TARGET
120
+ && let Some ( extension) = s. extensions ( ) . get :: < CommandNameExtension > ( )
121
+ {
122
+ extension. 0 . clone ( )
123
+ } else {
124
+ s. metadata ( ) . name ( ) . to_string ( )
127
125
}
128
- } ) ) ;
129
- let ( chrome_layer, guard) = chrome_layer. build ( ) ;
130
-
131
- tracing:: subscriber:: set_global_default ( registry. with ( chrome_layer) ) . unwrap ( ) ;
132
- Some ( TracingGuard { guard, _tempdir : tempdir, chrome_tracing_path } )
133
- } else {
134
- tracing:: subscriber:: set_global_default ( registry) . unwrap ( ) ;
135
- None
136
- } ;
126
+ }
127
+ } ) ) ;
128
+ let ( chrome_layer, guard) = chrome_layer. build ( ) ;
137
129
138
- guard
130
+ tracing:: subscriber:: set_global_default ( registry. with ( chrome_layer) ) . unwrap ( ) ;
131
+ TracingGuard { guard, _tempdir : tempdir, chrome_tracing_path }
139
132
}
140
133
141
134
pub struct TracingGuard {
0 commit comments