2626 _metadata_with_leader_aware_routing ,
2727)
2828from google .cloud .spanner_v1 ._opentelemetry_tracing import (
29+ add_span_event ,
2930 get_current_span ,
3031 trace_call ,
3132)
@@ -214,27 +215,27 @@ def bind(self, database):
214215 session_template = Session (creator_role = self .database_role ),
215216 )
216217
217- if requested_session_count > 0 and span :
218- span .add_event (
218+ if requested_session_count > 0 :
219+ add_span_event (
220+ span ,
219221 f"Requesting { requested_session_count } sessions" ,
220222 span_event_attributes ,
221223 )
222224
223225 if self ._sessions .full ():
224- if span :
225- span .add_event (
226- "Session pool is already full" , span_event_attributes
227- )
226+ add_span_event (
227+ span , "Session pool is already full" , span_event_attributes
228+ )
228229 return
229230
230231 returned_session_count = 0
231232 while not self ._sessions .full ():
232233 request .session_count = requested_session_count - self ._sessions .qsize ()
233- if span :
234- span . add_event (
235- f"Creating { request .session_count } sessions" ,
236- span_event_attributes ,
237- )
234+ add_span_event (
235+ span ,
236+ f"Creating { request .session_count } sessions" ,
237+ span_event_attributes ,
238+ )
238239 resp = api .batch_create_sessions (
239240 request = request ,
240241 metadata = metadata ,
@@ -245,11 +246,11 @@ def bind(self, database):
245246 self ._sessions .put (session )
246247 returned_session_count += 1
247248
248- if span :
249- span . add_event (
250- f"Requested for { requested_session_count } sessions, returned { returned_session_count } " ,
251- span_event_attributes ,
252- )
249+ add_span_event (
250+ span ,
251+ f"Requested for { requested_session_count } sessions, returned { returned_session_count } " ,
252+ span_event_attributes ,
253+ )
253254
254255 def get (self , timeout = None ):
255256 """Check a session out from the pool.
@@ -268,35 +269,34 @@ def get(self, timeout=None):
268269 start_time = time .time ()
269270 current_span = get_current_span ()
270271 span_event_attributes = {"kind" : type (self ).__name__ }
271- if current_span :
272- current_span .add_event ("Acquiring session" , span_event_attributes )
272+ add_span_event (current_span , "Acquiring session" , span_event_attributes )
273273
274274 session = None
275275 try :
276- if current_span :
277- current_span .add_event (
278- "Waiting for a session to become available" , span_event_attributes
279- )
276+ add_span_event (
277+ current_span ,
278+ "Waiting for a session to become available" ,
279+ span_event_attributes ,
280+ )
280281 session = self ._sessions .get (block = True , timeout = timeout )
281282 except queue .Empty as e :
282- if current_span :
283- current_span .add_event ("No session available" , span_event_attributes )
283+ add_span_event (current_span , "No session available" , span_event_attributes )
284284 raise e
285285
286286 span_event_attributes ["session.id" ] = session ._session_id
287287
288288 if not session .exists ():
289- if current_span :
290- current_span .add_event (
291- "Session is not valid, recreating it" , span_event_attributes
292- )
289+ add_span_event (
290+ current_span ,
291+ "Session is not valid, recreating it" ,
292+ span_event_attributes ,
293+ )
293294 session = self ._database .session ()
294295 session .create ()
295296 span_event_attributes ["session.id" ] = session ._session_id
296297
297298 span_event_attributes ["time.elapsed" ] = time .time () - start_time
298- if current_span :
299- current_span .add_event ("Acquired session" , span_event_attributes )
299+ add_span_event (current_span , "Acquired session" , span_event_attributes )
300300 return session
301301
302302 def put (self , session ):
@@ -371,28 +371,30 @@ def get(self):
371371 """
372372 current_span = get_current_span ()
373373 span_event_attributes = {"kind" : type (self ).__name__ }
374- if current_span :
375- current_span .add_event ("Acquiring session" , span_event_attributes )
374+ add_span_event (current_span , "Acquiring session" , span_event_attributes )
376375
377376 try :
378- if current_span :
379- current_span .add_event (
380- "Waiting for a session to become available" , span_event_attributes
381- )
377+ add_span_event (
378+ current_span ,
379+ "Waiting for a session to become available" ,
380+ span_event_attributes ,
381+ )
382382 session = self ._sessions .get_nowait ()
383383 except queue .Empty :
384- if current_span :
385- current_span .add_event (
386- "No session available. Creating session" , span_event_attributes
387- )
384+ add_span_event (
385+ current_span ,
386+ "No session available. Creating session" ,
387+ span_event_attributes ,
388+ )
388389 session = self ._new_session ()
389390 session .create ()
390391 else :
391392 if not session .exists ():
392- if current_span :
393- current_span .add_event (
394- "Session is not valid, recreating it" , span_event_attributes
395- )
393+ add_span_event (
394+ current_span ,
395+ "Session is not valid, recreating it" ,
396+ span_event_attributes ,
397+ )
396398 session = self ._new_session ()
397399 session .create ()
398400 return session
@@ -504,23 +506,25 @@ def bind(self, database):
504506
505507 requested_session_count = request .session_count
506508 current_span = get_current_span ()
507- if current_span :
508- current_span .add_event (
509- f"Requesting { requested_session_count } sessions" , span_event_attributes
510- )
509+ add_span_event (
510+ current_span ,
511+ f"Requesting { requested_session_count } sessions" ,
512+ span_event_attributes ,
513+ )
511514
512515 if created_session_count >= self .size :
513- if current_span :
514- current_span . add_event (
515- "Created no new sessions as sessionPool is full" ,
516- span_event_attributes ,
517- )
516+ add_span_event (
517+ current_span ,
518+ "Created no new sessions as sessionPool is full" ,
519+ span_event_attributes ,
520+ )
518521 return
519522
520- if current_span :
521- current_span .add_event (
522- f"Creating { request .session_count } sessions" , span_event_attributes
523- )
523+ add_span_event (
524+ current_span ,
525+ f"Creating { request .session_count } sessions" ,
526+ span_event_attributes ,
527+ )
524528
525529 returned_session_count = 0
526530 while created_session_count < self .size :
@@ -536,11 +540,11 @@ def bind(self, database):
536540
537541 created_session_count += len (resp .session )
538542
539- if current_span :
540- current_span . add_event (
541- f"Requested for { requested_session_count } sessions, return { returned_session_count } " ,
542- span_event_attributes ,
543- )
543+ add_span_event (
544+ current_span ,
545+ f"Requested for { requested_session_count } sessions, return { returned_session_count } " ,
546+ span_event_attributes ,
547+ )
544548
545549 def get (self , timeout = None ):
546550 """Check a session out from the pool.
@@ -559,18 +563,18 @@ def get(self, timeout=None):
559563 start_time = time .time ()
560564 span_event_attributes = {"kind" : type (self ).__name__ }
561565 current_span = get_current_span ()
562- if current_span :
563- current_span .add_event (
564- "Waiting for a session to become available" , span_event_attributes
565- )
566+ add_span_event (
567+ current_span ,
568+ "Waiting for a session to become available" ,
569+ span_event_attributes ,
570+ )
566571
567572 ping_after = None
568573 session = None
569574 try :
570575 ping_after , session = self ._sessions .get (block = True , timeout = timeout )
571576 except queue .Empty as e :
572- if current_span :
573- current_span .add_event ("No session available" , span_event_attributes )
577+ add_span_event (current_span , "No session available" , span_event_attributes )
574578 raise e
575579
576580 if _NOW () > ping_after :
@@ -581,15 +585,14 @@ def get(self, timeout=None):
581585 session = self ._new_session ()
582586 session .create ()
583587
584- if current_span :
585- span_event_attributes .update (
586- {
587- "time.elapsed" : time .time () - start_time ,
588- "session.id" : session ._session_id ,
589- "kind" : "pinging_pool" ,
590- }
591- )
592- current_span .add_event ("Acquired session" , span_event_attributes )
588+ span_event_attributes .update (
589+ {
590+ "time.elapsed" : time .time () - start_time ,
591+ "session.id" : session ._session_id ,
592+ "kind" : "pinging_pool" ,
593+ }
594+ )
595+ add_span_event (current_span , "Acquired session" , span_event_attributes )
593596 return session
594597
595598 def put (self , session ):
0 commit comments