@@ -49,6 +49,7 @@ use datafusion::{
4949 sql:: { parser:: Statement as DFStatement , planner:: SqlToRel } ,
5050 variable:: VarType ,
5151} ;
52+ use uuid:: Uuid ;
5253
5354#[ async_trait:: async_trait]
5455pub trait QueryEngine {
@@ -100,6 +101,7 @@ pub trait QueryEngine {
100101 let cache_entry = self . get_cache_entry ( state. clone ( ) ) . await ?;
101102
102103 let planning_start = SystemTime :: now ( ) ;
104+ let query_planning_id = Uuid :: new_v4 ( ) ;
103105 if let Some ( span_id) = span_id. as_ref ( ) {
104106 if let Some ( auth_context) = state. auth_context ( ) {
105107 self . transport_ref ( )
@@ -110,6 +112,7 @@ pub trait QueryEngine {
110112 "SQL API Query Planning" . to_string ( ) ,
111113 serde_json:: json!( {
112114 "query" : span_id. query_key. clone( ) ,
115+ "planningId" : query_planning_id. to_string( ) ,
113116 } ) ,
114117 )
115118 . await
@@ -183,7 +186,9 @@ pub trait QueryEngine {
183186 auth_context,
184187 state. get_load_request_meta ( "sql" ) ,
185188 "SQL API Plan Rewrite" . to_string ( ) ,
186- serde_json:: json!( { } ) ,
189+ serde_json:: json!( {
190+ "planningId" : query_planning_id. to_string( ) ,
191+ } ) ,
187192 )
188193 . await
189194 . map_err ( |e| CompilationError :: internal ( e. to_string ( ) ) ) ?;
@@ -292,6 +297,7 @@ pub trait QueryEngine {
292297 state. get_load_request_meta ( "sql" ) ,
293298 "SQL API Plan Rewrite Success" . to_string ( ) ,
294299 serde_json:: json!( {
300+ "planningId" : query_planning_id. to_string( ) ,
295301 "duration" : rewriting_start. elapsed( ) . unwrap( ) . as_millis( ) as u64 ,
296302 } ) ,
297303 )
@@ -326,6 +332,7 @@ pub trait QueryEngine {
326332 "SQL API Query Planning Success" . to_string ( ) ,
327333 serde_json:: json!( {
328334 "query" : span_id. query_key. clone( ) ,
335+ "planningId" : query_planning_id. to_string( ) ,
329336 "duration" : planning_start. elapsed( ) . unwrap( ) . as_millis( ) as u64 ,
330337 } ) ,
331338 )
0 commit comments