File tree Expand file tree Collapse file tree 4 files changed +16
-0
lines changed Expand file tree Collapse file tree 4 files changed +16
-0
lines changed Original file line number Diff line number Diff line change @@ -52,6 +52,7 @@ log = { workspace = true }
5252recursive = { workspace = true , optional = true }
5353regex = { workspace = true }
5454regex-syntax = " 0.8.0"
55+ tracing = { workspace = true }
5556
5657[dev-dependencies ]
5758async-trait = { workspace = true }
Original file line number Diff line number Diff line change @@ -140,6 +140,9 @@ impl Analyzer {
140140 where
141141 F : FnMut ( & LogicalPlan , & dyn AnalyzerRule ) ,
142142 {
143+ let analyzer_span = tracing:: trace_span!( "logical_plan_analyzer" ) ;
144+ let _guard = analyzer_span. enter ( ) ;
145+
143146 // verify the logical plan required invariants at the start, before analyzer
144147 plan. check_invariants ( InvariantLevel :: Always )
145148 . map_err ( |e| e. context ( "Invalid input plan passed to Analyzer" ) ) ?;
@@ -165,6 +168,8 @@ impl Analyzer {
165168
166169 // TODO add common rule executor for Analyzer and Optimizer
167170 for rule in rules {
171+ let rule_span = tracing:: trace_span!( "analyze" , name = rule. name( ) ) ;
172+ let _rule_span_guard = rule_span. enter ( ) ;
168173 new_plan = rule
169174 . analyze ( new_plan, config)
170175 . map_err ( |e| e. context ( rule. name ( ) ) ) ?;
Original file line number Diff line number Diff line change @@ -356,6 +356,9 @@ impl Optimizer {
356356 where
357357 F : FnMut ( & LogicalPlan , & dyn OptimizerRule ) ,
358358 {
359+ let span = tracing:: trace_span!( "optimize" ) ;
360+ let _span_guard = span. enter ( ) ;
361+
359362 // verify LP is valid, before the first LP optimizer pass.
360363 plan. check_invariants ( InvariantLevel :: Executable )
361364 . map_err ( |e| e. context ( "Invalid input plan before LP Optimizers" ) ) ?;
@@ -373,7 +376,13 @@ impl Optimizer {
373376 while i < options. optimizer . max_passes {
374377 log_plan ( & format ! ( "Optimizer input (pass {i})" ) , & new_plan) ;
375378
379+ let optimizer_pass_span = tracing:: trace_span!( "pass" , number = i) ;
380+ let _optimizer_pass_span_guard = optimizer_pass_span. enter ( ) ;
381+
376382 for rule in & self . rules {
383+ let rule_span = tracing:: trace_span!( "rule" , name = rule. name( ) ) ;
384+ let _rule_span_guard = rule_span. enter ( ) ;
385+
377386 // If skipping failed rules, copy plan before attempting to rewrite
378387 // as rewriting is destructive
379388 let prev_plan = options
You can’t perform that action at this time.
0 commit comments