11use cubesql:: compile:: { convert_sql_to_cube_query, get_df_batches} ;
22use cubesql:: config:: processing_loop:: ShutdownMode ;
3- use cubesql:: transport:: TransportService ;
3+ use cubesql:: transport:: { SpanId , TransportService } ;
44use futures:: StreamExt ;
55
66use serde_json:: Map ;
77use tokio:: sync:: Semaphore ;
8+ use uuid:: Uuid ;
89
910use crate :: auth:: { NativeAuthContext , NodeBridgeAuthService } ;
1011use crate :: channel:: call_js_fn;
@@ -27,7 +28,6 @@ use cubesqlplanner::cube_bridge::base_query_options::NativeBaseQueryOptions;
2728use cubesqlplanner:: planner:: base_query:: BaseQuery ;
2829use std:: rc:: Rc ;
2930use std:: sync:: Arc ;
30- use std:: time:: SystemTime ;
3131
3232use cubesql:: { telemetry:: ReportingLogger , CubeError } ;
3333
@@ -183,7 +183,10 @@ async fn handle_sql_query(
183183 stream_methods : WritableStreamMethods ,
184184 sql_query : & str ,
185185) -> Result < ( ) , CubeError > {
186- let start_time = SystemTime :: now ( ) ;
186+ let span_id = Some ( Arc :: new ( SpanId :: new (
187+ Uuid :: new_v4 ( ) . to_string ( ) ,
188+ serde_json:: json!( { "sql" : sql_query } ) ,
189+ ) ) ) ;
187190
188191 let transport_service = services
189192 . injector ( )
@@ -197,14 +200,12 @@ async fn handle_sql_query(
197200 . server
198201 . transport
199202 . log_load_state (
200- None ,
203+ span_id . clone ( ) ,
201204 auth_context,
202205 session. state . get_load_request_meta ( "sql" ) ,
203206 "Load Request" . to_string ( ) ,
204207 serde_json:: json!( {
205- "query" : {
206- "sql" : sql_query,
207- }
208+ "query" : span_id. as_ref( ) . unwrap( ) . query_key,
208209 } ) ,
209210 )
210211 . await ?;
@@ -300,7 +301,6 @@ async fn handle_sql_query(
300301 } ;
301302
302303 let result = execute ( ) . await ;
303- let duration = start_time. elapsed ( ) . unwrap ( ) . as_millis ( ) as u64 ;
304304
305305 match & result {
306306 Ok ( _) => {
@@ -309,7 +309,7 @@ async fn handle_sql_query(
309309 . server
310310 . transport
311311 . log_load_state (
312- None ,
312+ span_id . clone ( ) ,
313313 session_clone. state . auth_context ( ) . unwrap ( ) ,
314314 session_clone. state . get_load_request_meta ( "sql" ) ,
315315 "Load Request Success" . to_string ( ) ,
@@ -318,7 +318,7 @@ async fn handle_sql_query(
318318 "sql" : sql_query,
319319 } ,
320320 "apiType" : "sql" ,
321- "duration" : duration,
321+ "duration" : span_id . as_ref ( ) . unwrap ( ) . duration( ) ,
322322 "isDataQuery" : true
323323 } ) ,
324324 )
@@ -330,7 +330,7 @@ async fn handle_sql_query(
330330 . server
331331 . transport
332332 . log_load_state (
333- None ,
333+ span_id . clone ( ) ,
334334 session_clone. state . auth_context ( ) . unwrap ( ) ,
335335 session_clone. state . get_load_request_meta ( "sql" ) ,
336336 "Cube SQL Error" . to_string ( ) ,
@@ -339,7 +339,7 @@ async fn handle_sql_query(
339339 "sql" : sql_query
340340 } ,
341341 "apiType" : "sql" ,
342- "duration" : duration,
342+ "duration" : span_id . as_ref ( ) . unwrap ( ) . duration( ) ,
343343 "error" : err. message,
344344 } ) ,
345345 )
0 commit comments