|
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