Skip to content

Commit 75a165a

Browse files
committed
Address review feedback by attaching observability_options to Client only
1 parent c169c4f commit 75a165a

File tree

7 files changed

+15
-33
lines changed

7 files changed

+15
-33
lines changed

google/cloud/spanner_v1/_opentelemetry_tracing.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,8 +73,8 @@ def trace_call(name, session, extra_attributes=None, observability_options=None)
7373

7474
tracer_provider = None
7575
enable_extended_tracing = False
76-
if getattr(session, "_observability_options", None):
77-
opts = session._observability_options
76+
if getattr(session, "_database", None):
77+
opts = getattr(session._database, "observability_options", None)
7878
if opts:
7979
tracer_provider = opts.tracer_provider
8080
enable_extended_tracing = opts.enable_extended_tracing

google/cloud/spanner_v1/client.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -380,7 +380,6 @@ def instance(
380380
self._emulator_host,
381381
labels,
382382
processing_units,
383-
observability_options=self._observability_options,
384383
)
385384

386385
def list_instances(self, filter_="", page_size=None):

google/cloud/spanner_v1/database.py

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,6 @@ def __init__(
156156
database_role=None,
157157
enable_drop_protection=False,
158158
proto_descriptors=None,
159-
observability_options=None,
160159
):
161160
self.database_id = database_id
162161
self._instance = instance
@@ -179,16 +178,13 @@ def __init__(
179178
self._reconciling = False
180179
self._directed_read_options = self._instance._client.directed_read_options
181180
self._proto_descriptors = proto_descriptors
182-
self._observability_options = observability_options
183181

184182
if pool is None:
185183
pool = BurstyPool(
186184
database_role=database_role,
187-
observability_options=self._observability_options,
188185
)
189186

190187
self._pool = pool
191-
self._pool._observability_options = observability_options
192188
pool.bind(self)
193189

194190
@classmethod
@@ -752,7 +748,6 @@ def session(self, labels=None, database_role=None):
752748
self,
753749
labels=labels,
754750
database_role=role,
755-
observability_options=self._observability_options,
756751
)
757752

758753
def snapshot(self, **kw):
@@ -1722,6 +1717,10 @@ def close(self):
17221717
if self._session is not None:
17231718
self._session.delete()
17241719

1720+
@property
1721+
def observability_options(self):
1722+
return self._instance.observability_options
1723+
17251724

17261725
def _check_ddl_statements(value):
17271726
"""Validate DDL Statements used to define database schema.

google/cloud/spanner_v1/instance.py

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -110,13 +110,6 @@ class Instance(object):
110110
111111
:type labels: dict (str -> str) or None
112112
:param labels: (Optional) User-assigned labels for this instance.
113-
114-
:type labels: dict (str -> any) or None
115-
:param observability_options: (Optional) the configuration to control
116-
the tracer's behavior.
117-
tracer_provider is the injected tracer provider
118-
enable_extended_tracing: :type:boolean when set to true will allow for
119-
spans that issue SQL statements to be annotated with SQL.
120113
"""
121114

122115
def __init__(
@@ -129,7 +122,6 @@ def __init__(
129122
emulator_host=None,
130123
labels=None,
131124
processing_units=None,
132-
observability_options=None,
133125
):
134126
self.instance_id = instance_id
135127
self._client = client
@@ -153,7 +145,6 @@ def __init__(
153145
if labels is None:
154146
labels = {}
155147
self.labels = labels
156-
self._observability_options = observability_options
157148

158149
def _update_from_pb(self, instance_pb):
159150
"""Refresh self from the server-provided protobuf.
@@ -508,7 +499,6 @@ def database(
508499
database_role=database_role,
509500
enable_drop_protection=enable_drop_protection,
510501
proto_descriptors=proto_descriptors,
511-
observability_options=self._observability_options,
512502
)
513503
else:
514504
return TestDatabase(
@@ -743,3 +733,8 @@ def _item_to_operation(self, operation_pb):
743733
return google.api_core.operation.from_gapic(
744734
operation_pb, operations_client, response_type, metadata_type=metadata_type
745735
)
736+
737+
@property
738+
def observability_options(self):
739+
return self._client.observability_options
740+

google/cloud/spanner_v1/pool.py

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -42,12 +42,11 @@ class AbstractSessionPool(object):
4242

4343
_database = None
4444

45-
def __init__(self, labels=None, database_role=None, observability_options=None):
45+
def __init__(self, labels=None, database_role=None):
4646
if labels is None:
4747
labels = {}
4848
self._labels = labels
4949
self._database_role = database_role
50-
self._observability_options = observability_options
5150

5251
@property
5352
def labels(self):
@@ -179,12 +178,10 @@ def __init__(
179178
default_timeout=DEFAULT_TIMEOUT,
180179
labels=None,
181180
database_role=None,
182-
observability_options=None,
183181
):
184182
super(FixedSizePool, self).__init__(
185183
labels=labels,
186184
database_role=database_role,
187-
observability_options=observability_options,
188185
)
189186
self.size = size
190187
self.default_timeout = default_timeout
@@ -295,12 +292,10 @@ def __init__(
295292
target_size=10,
296293
labels=None,
297294
database_role=None,
298-
observability_options=None,
299295
):
300296
super(BurstyPool, self).__init__(
301297
labels=labels,
302298
database_role=database_role,
303-
observability_options=observability_options,
304299
)
305300
self.target_size = target_size
306301
self._database = None
@@ -408,12 +403,10 @@ def __init__(
408403
ping_interval=3000,
409404
labels=None,
410405
database_role=None,
411-
observability_options=None,
412406
):
413407
super(PingingPool, self).__init__(
414408
labels=labels,
415409
database_role=database_role,
416-
observability_options=observability_options,
417410
)
418411
self.size = size
419412
self.default_timeout = default_timeout
@@ -567,7 +560,6 @@ def __init__(
567560
ping_interval=3000,
568561
labels=None,
569562
database_role=None,
570-
observability_options=None,
571563
):
572564
"""This throws a deprecation warning on initialization."""
573565
warn(
@@ -583,7 +575,6 @@ def __init__(
583575
ping_interval,
584576
labels=labels,
585577
database_role=database_role,
586-
observability_options=observability_options,
587578
)
588579

589580
self.begin_pending_transactions()

google/cloud/spanner_v1/session.py

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -63,15 +63,12 @@ class Session(object):
6363
_session_id = None
6464
_transaction = None
6565

66-
def __init__(
67-
self, database, labels=None, database_role=None, observability_options=None
68-
):
66+
def __init__(self, database, labels=None, database_role=None):
6967
self._database = database
7068
if labels is None:
7169
labels = {}
7270
self._labels = labels
7371
self._database_role = database_role
74-
self._observability_options = observability_options
7572

7673
def __lt__(self, other):
7774
return self._session_id < other._session_id

tests/unit/test__opentelemetry_tracing.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,8 @@ def _make_session():
3535
# of mock._tracer_provider spuriously failing tests, because per
3636
# unittest.mock.Mock's definition invoking any attribute or method
3737
# returns another mock.
38-
setattr(session, "_observability_options", None)
38+
db = session._database
39+
setattr(db, "observability_options", None)
3940
return session
4041

4142

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy