|
28 | 28 | from google.cloud.spanner_v1._opentelemetry_tracing import (
|
29 | 29 | add_span_event,
|
30 | 30 | get_current_span,
|
31 |
| - trace_call, |
32 | 31 | )
|
33 | 32 | from warnings import warn
|
34 | 33 |
|
@@ -206,51 +205,49 @@ def bind(self, database):
|
206 | 205 | )
|
207 | 206 | self._database_role = self._database_role or self._database.database_role
|
208 | 207 |
|
209 |
| - with trace_call("CloudSpanner.BatchCreateSessions", self) as span: |
210 |
| - requested_session_count = self.size - self._sessions.qsize() |
211 |
| - span_event_attributes = {"kind": type(self).__name__} |
212 |
| - request = BatchCreateSessionsRequest( |
213 |
| - database=database.name, |
214 |
| - session_count=requested_session_count, |
215 |
| - session_template=Session(creator_role=self.database_role), |
216 |
| - ) |
217 |
| - |
218 |
| - if requested_session_count > 0: |
219 |
| - add_span_event( |
220 |
| - span, |
221 |
| - f"Requesting {requested_session_count} sessions", |
222 |
| - span_event_attributes, |
223 |
| - ) |
| 208 | + requested_session_count = self.size - self._sessions.qsize() |
| 209 | + request = BatchCreateSessionsRequest( |
| 210 | + database=database.name, |
| 211 | + session_count=requested_session_count, |
| 212 | + session_template=Session(creator_role=self.database_role), |
| 213 | + ) |
224 | 214 |
|
225 |
| - if self._sessions.full(): |
226 |
| - add_span_event( |
227 |
| - span, "Session pool is already full", span_event_attributes |
228 |
| - ) |
229 |
| - return |
| 215 | + span = get_current_span() |
| 216 | + span_event_attributes = {"kind": type(self).__name__} |
| 217 | + if requested_session_count > 0: |
| 218 | + add_span_event( |
| 219 | + span, |
| 220 | + f"Requesting {requested_session_count} sessions", |
| 221 | + span_event_attributes, |
| 222 | + ) |
230 | 223 |
|
231 |
| - returned_session_count = 0 |
232 |
| - while not self._sessions.full(): |
233 |
| - request.session_count = requested_session_count - self._sessions.qsize() |
234 |
| - add_span_event( |
235 |
| - span, |
236 |
| - f"Creating {request.session_count} sessions", |
237 |
| - span_event_attributes, |
238 |
| - ) |
239 |
| - resp = api.batch_create_sessions( |
240 |
| - request=request, |
241 |
| - metadata=metadata, |
242 |
| - ) |
243 |
| - for session_pb in resp.session: |
244 |
| - session = self._new_session() |
245 |
| - session._session_id = session_pb.name.split("/")[-1] |
246 |
| - self._sessions.put(session) |
247 |
| - returned_session_count += 1 |
| 224 | + if self._sessions.full(): |
| 225 | + add_span_event(span, "Session pool is already full", span_event_attributes) |
| 226 | + return |
248 | 227 |
|
| 228 | + returned_session_count = 0 |
| 229 | + while not self._sessions.full(): |
| 230 | + request.session_count = requested_session_count - self._sessions.qsize() |
249 | 231 | add_span_event(
|
250 | 232 | span,
|
251 |
| - f"Requested for {requested_session_count} sessions, returned {returned_session_count}", |
| 233 | + f"Creating {request.session_count} sessions", |
252 | 234 | span_event_attributes,
|
253 | 235 | )
|
| 236 | + resp = api.batch_create_sessions( |
| 237 | + request=request, |
| 238 | + metadata=metadata, |
| 239 | + ) |
| 240 | + for session_pb in resp.session: |
| 241 | + session = self._new_session() |
| 242 | + session._session_id = session_pb.name.split("/")[-1] |
| 243 | + self._sessions.put(session) |
| 244 | + returned_session_count += 1 |
| 245 | + |
| 246 | + add_span_event( |
| 247 | + span, |
| 248 | + f"Requested for {requested_session_count} sessions, returned {returned_session_count}", |
| 249 | + span_event_attributes, |
| 250 | + ) |
254 | 251 |
|
255 | 252 | def get(self, timeout=None):
|
256 | 253 | """Check a session out from the pool.
|
|
0 commit comments