@@ -151,6 +151,7 @@ def init(
151
151
api_key : Optional [str ] = None ,
152
152
api_transport : Optional [str ] = None ,
153
153
request_metadata : Optional [Sequence [Tuple [str , str ]]] = None ,
154
+ enable_telemetry : Optional [bool ] = False ,
154
155
):
155
156
"""Updates common initialization parameters with provided options.
156
157
@@ -218,6 +219,9 @@ def init(
218
219
beta state (preview).
219
220
request_metadata:
220
221
Optional. Additional gRPC metadata to send with every client request.
222
+ enable_telemetry:
223
+ Optional. Whether to enable telemetry. If True, traces will be
224
+ sent to Cloud Trace (under the given project). Default is False.
221
225
Raises:
222
226
ValueError:
223
227
If experiment_description is provided but experiment is not.
@@ -298,6 +302,30 @@ def init(
298
302
backing_tensorboard = experiment_tensorboard ,
299
303
)
300
304
305
+ if enable_telemetry :
306
+ logging .info ("Telemetry is enabled." )
307
+ import google .cloud .trace_v2
308
+ from opentelemetry import trace
309
+ from opentelemetry .exporter .cloud_trace import CloudTraceSpanExporter
310
+ from opentelemetry .sdk .trace import TracerProvider
311
+ from opentelemetry .sdk .trace .export import SimpleSpanProcessor
312
+
313
+ credentials , _ = google .auth .default ()
314
+ span_exporter = CloudTraceSpanExporter (
315
+ project_id = self .project ,
316
+ client = trace_v2 .TraceServiceClient (
317
+ credentials = credentials .with_quota_project (self .project ),
318
+ ),
319
+ )
320
+ span_processor = SimpleSpanProcessor (span_exporter = span_exporter )
321
+ tracer_provider = trace .get_tracer_provider ()
322
+ trace .set_tracer_provider (tracer_provider )
323
+ cloud_trace_exporter = CloudTraceSpanExporter (project_id = self .project )
324
+ trace .get_tracer_provider ().add_span_processor (
325
+ SimpleSpanProcessor (cloud_trace_exporter )
326
+ )
327
+ telemetry .VertexAIInstrumentor ().instrument ()
328
+
301
329
def get_encryption_spec (
302
330
self ,
303
331
encryption_spec_key_name : Optional [str ],
0 commit comments