4444import com .google .cloud .logging .Logging ;
4545import com .google .common .annotations .VisibleForTesting ;
4646import com .google .common .collect .ImmutableSortedSet ;
47+ import io .grpc .opentelemetry .GrpcOpenTelemetry ;
4748import io .opentelemetry .api .OpenTelemetry ;
4849import io .opentelemetry .api .baggage .Baggage ;
4950import io .opentelemetry .api .trace .Tracer ;
@@ -1139,6 +1140,7 @@ private BigQuery getBigQueryConnection() {
11391140 || this .useGlobalOpenTelemetry ) {
11401141 Tracer sdkTracer = this .openTelemetry .getTracer (BigQueryJdbcOpenTelemetry .BIGQUERY_NAMESPACE );
11411142 bigQueryOptions .setOpenTelemetryTracer (sdkTracer );
1143+ bigQueryOptions .setEnableOpenTelemetryTracing (true );
11421144 this .tracer =
11431145 this .openTelemetry .getTracer (BigQueryJdbcOpenTelemetry .INSTRUMENTATION_SCOPE_NAME );
11441146 }
@@ -1176,7 +1178,20 @@ private BigQueryReadClient getBigQueryReadClientConnection() throws IOException
11761178 }
11771179 TransportChannelProvider activeProvider = this .transportChannelProvider ;
11781180 if (activeProvider == null ) {
1179- activeProvider = BigQueryReadSettings .defaultGrpcTransportProviderBuilder ().build ();
1181+ InstantiatingGrpcChannelProvider .Builder builder =
1182+ BigQueryReadSettings .defaultGrpcTransportProviderBuilder ();
1183+ if (this .enableGcpTraceExporter
1184+ || this .customOpenTelemetry != null
1185+ || this .useGlobalOpenTelemetry ) {
1186+ GrpcOpenTelemetry grpcOpenTelemetry =
1187+ GrpcOpenTelemetry .newBuilder ().sdk (this .openTelemetry ).build ();
1188+ builder .setChannelConfigurator (
1189+ b -> {
1190+ grpcOpenTelemetry .configureChannelBuilder (b );
1191+ return b ;
1192+ });
1193+ }
1194+ activeProvider = builder .build ();
11801195 }
11811196
11821197 if (activeProvider instanceof InstantiatingGrpcChannelProvider ) {
@@ -1191,8 +1206,11 @@ private BigQueryReadClient getBigQueryReadClientConnection() throws IOException
11911206
11921207 bigQueryReadSettings .setTransportChannelProvider (activeProvider );
11931208
1194- if (this .enableGcpTraceExporter || this .customOpenTelemetry != null ) {
1209+ if (this .enableGcpTraceExporter
1210+ || this .customOpenTelemetry != null
1211+ || this .useGlobalOpenTelemetry ) {
11951212 bigQueryReadSettings .setOpenTelemetryTracerProvider (this .openTelemetry .getTracerProvider ());
1213+ bigQueryReadSettings .setEnableOpenTelemetryTracing (true );
11961214 }
11971215
11981216 return BigQueryReadClient .create (bigQueryReadSettings .build ());
0 commit comments