@@ -80,6 +80,96 @@ def get_staging_dirs(
8080 shutil .rmtree ("samples/generated_samples" , ignore_errors = True )
8181 clean_up_generated_samples = False
8282
83+ # Customization for MetricsInterceptor
84+
85+ assert 6 == s .replace (
86+ [
87+ library / "google/cloud/spanner_v1/services/spanner/transports/*.py" ,
88+ library / "google/cloud/spanner_v1/services/spanner/client.py" ,
89+ ],
90+ """from google.cloud.spanner_v1.types import transaction""" ,
91+ """from google.cloud.spanner_v1.types import transaction
92+ from google.cloud.spanner_v1.metrics.metrics_interceptor import MetricsInterceptor""" ,
93+ )
94+
95+ assert 1 == s .replace (
96+ library / "google/cloud/spanner_v1/services/spanner/transports/*.py" ,
97+ """api_audience: Optional\[str\] = None,
98+ \*\*kwargs,
99+ \) -> None:
100+ \" \" \" Instantiate the transport.""" ,
101+ """api_audience: Optional[str] = None,
102+ metrics_interceptor: Optional[MetricsInterceptor] = None,
103+ **kwargs,
104+ ) -> None:
105+ \" \" \" Instantiate the transport."""
106+ )
107+
108+ assert 4 == s .replace (
109+ library / "google/cloud/spanner_v1/services/spanner/transports/*.py" ,
110+ """api_audience: Optional\[str\] = None,
111+ \) -> None:
112+ \" \" \" Instantiate the transport.""" ,
113+ """api_audience: Optional[str] = None,
114+ metrics_interceptor: Optional[MetricsInterceptor] = None,
115+ ) -> None:
116+ \" \" \" Instantiate the transport."""
117+ )
118+
119+ assert 1 == s .replace (
120+ library / "google/cloud/spanner_v1/services/spanner/transports/grpc.py" ,
121+ """\)\n \n self._interceptor = _LoggingClientInterceptor\(\)""" ,
122+ """)
123+
124+ # Wrap the gRPC channel with the metric interceptor
125+ if metrics_interceptor is not None:
126+ self._metrics_interceptor = metrics_interceptor
127+ self._grpc_channel = grpc.intercept_channel(
128+ self._grpc_channel, metrics_interceptor
129+ )
130+
131+ self._interceptor = _LoggingClientInterceptor()"""
132+ )
133+
134+ assert 1 == s .replace (
135+ library / "google/cloud/spanner_v1/services/spanner/transports/grpc.py" ,
136+ """self._stubs: Dict\[str, Callable\] = \{\}\n \n if api_mtls_endpoint:""" ,
137+ """self._stubs: Dict[str, Callable] = {}
138+ self._metrics_interceptor = None
139+
140+ if api_mtls_endpoint:"""
141+ )
142+
143+ assert 1 == s .replace (
144+ library / "google/cloud/spanner_v1/services/spanner/client.py" ,
145+ """# initialize with the provided callable or the passed in class
146+ self._transport = transport_init\(
147+ credentials=credentials,
148+ credentials_file=self._client_options.credentials_file,
149+ host=self._api_endpoint,
150+ scopes=self._client_options.scopes,
151+ client_cert_source_for_mtls=self._client_cert_source,
152+ quota_project_id=self._client_options.quota_project_id,
153+ client_info=client_info,
154+ always_use_jwt_access=True,
155+ api_audience=self._client_options.api_audience,
156+ \)""" ,
157+ """# initialize with the provided callable or the passed in class
158+ self._transport = transport_init(
159+ credentials=credentials,
160+ credentials_file=self._client_options.credentials_file,
161+ host=self._api_endpoint,
162+ scopes=self._client_options.scopes,
163+ client_cert_source_for_mtls=self._client_cert_source,
164+ quota_project_id=self._client_options.quota_project_id,
165+ client_info=client_info,
166+ always_use_jwt_access=True,
167+ api_audience=self._client_options.api_audience,
168+ metrics_interceptor=MetricsInterceptor(),
169+ )""" ,
170+ )
171+
172+
83173 s .move (
84174 library ,
85175 excludes = [
@@ -96,11 +186,6 @@ def get_staging_dirs(
96186for library in get_staging_dirs (
97187 spanner_admin_instance_default_version , "spanner_admin_instance"
98188):
99- s .replace (
100- library / "google/cloud/spanner_admin_instance_v*/__init__.py" ,
101- "from google.cloud.spanner_admin_instance import gapic_version as package_version" ,
102- f"from google.cloud.spanner_admin_instance_{ library .name } import gapic_version as package_version" ,
103- )
104189 s .move (
105190 library ,
106191 excludes = ["google/cloud/spanner_admin_instance/**" , "*.*" , "docs/index.rst" , "noxfile.py" , "**/gapic_version.py" , "testing/constraints-3.7.txt" ,],
@@ -109,11 +194,6 @@ def get_staging_dirs(
109194for library in get_staging_dirs (
110195 spanner_admin_database_default_version , "spanner_admin_database"
111196):
112- s .replace (
113- library / "google/cloud/spanner_admin_database_v*/__init__.py" ,
114- "from google.cloud.spanner_admin_database import gapic_version as package_version" ,
115- f"from google.cloud.spanner_admin_database_{ library .name } import gapic_version as package_version" ,
116- )
117197 s .move (
118198 library ,
119199 excludes = ["google/cloud/spanner_admin_database/**" , "*.*" , "docs/index.rst" , "noxfile.py" , "**/gapic_version.py" , "testing/constraints-3.7.txt" ,],
0 commit comments