1616
1717package com .google .cloud .bigquery .jdbc ;
1818
19+ import com .google .cloud .opentelemetry .trace .TraceConfiguration ;
20+ import com .google .cloud .opentelemetry .trace .TraceExporter ;
1921import io .opentelemetry .api .GlobalOpenTelemetry ;
2022import io .opentelemetry .api .OpenTelemetry ;
2123import io .opentelemetry .api .trace .Tracer ;
2224import io .opentelemetry .sdk .OpenTelemetrySdk ;
2325import io .opentelemetry .sdk .trace .SdkTracerProvider ;
2426import io .opentelemetry .sdk .trace .export .BatchSpanProcessor ;
2527import io .opentelemetry .sdk .trace .export .SpanExporter ;
26- import com .google .cloud .opentelemetry .trace .TraceConfiguration ;
27- import com .google .cloud .opentelemetry .trace .TraceExporter ;
2828import java .io .IOException ;
2929
3030public class BigQueryJdbcOpenTelemetry {
3131
32- private static final BigQueryJdbcCustomLogger LOG = new BigQueryJdbcCustomLogger (BigQueryJdbcOpenTelemetry .class .getName ());
32+ private static final BigQueryJdbcCustomLogger LOG =
33+ new BigQueryJdbcCustomLogger (BigQueryJdbcOpenTelemetry .class .getName ());
3334 private static final Object lock = new Object ();
3435 private static volatile OpenTelemetrySdk autoConfiguredOpenTelemetry ;
3536 private static volatile boolean initialized = false ;
3637 private static final String INSTRUMENTATION_SCOPE_NAME = "com.google.cloud.bigquery.jdbc" ;
3738
3839 /**
39- * Initializes or returns the OpenTelemetry instance based on hybrid logic.
40- * Prefer GlobalOpenTelemetry; fallback to an auto-configured GCP exporter if requested.
40+ * Initializes or returns the OpenTelemetry instance based on hybrid logic. Prefer
41+ * GlobalOpenTelemetry; fallback to an auto-configured GCP exporter if requested.
4142 */
4243 public static OpenTelemetry getOpenTelemetry (boolean enableOpenTelemetry , String exporterType ) {
4344 if (!enableOpenTelemetry ) {
@@ -52,16 +53,15 @@ public static OpenTelemetry getOpenTelemetry(boolean enableOpenTelemetry, String
5253 return globalOtel ;
5354 }
5455
55- /**
56- * Gets a Tracer for the JDBC driver instrumentation scope.
57- */
56+ /** Gets a Tracer for the JDBC driver instrumentation scope. */
5857 public static Tracer getTracer (OpenTelemetry openTelemetry ) {
5958 return openTelemetry .getTracer (INSTRUMENTATION_SCOPE_NAME );
6059 }
6160
6261 /**
63- * TODO(b/491245568): Attaches the OpenTelemetry logging bridge to the root java.util.logging.Logger.
64- * This is currently a no-op due to shading issues with `opentelemetry-appender-jul`.
62+ * TODO(b/491245568): Attaches the OpenTelemetry logging bridge to the root
63+ * java.util.logging.Logger. This is currently a no-op due to shading issues with
64+ * `opentelemetry-appender-jul`.
6565 */
6666 public static void attachLoggingBridge () {
6767 // No-op for now.
@@ -93,26 +93,27 @@ private static OpenTelemetrySdk initGcpOpenTelemetry() throws IOException {
9393 TraceConfiguration configuration = TraceConfiguration .builder ().build ();
9494 traceExporter = TraceExporter .createWithConfiguration (configuration );
9595 } catch (Exception e ) {
96- throw new RuntimeException ("Could not create TraceExporter. Ensure exporter-trace is on classpath." , e );
96+ throw new RuntimeException (
97+ "Could not create TraceExporter. Ensure exporter-trace is on classpath." , e );
9798 }
9899
99100 SdkTracerProvider tracerProvider =
100101 SdkTracerProvider .builder ()
101102 .addSpanProcessor (BatchSpanProcessor .builder (traceExporter ).build ())
102103 .build ();
103104
104- OpenTelemetrySdk sdk =
105- OpenTelemetrySdk . builder ()
106- . setTracerProvider ( tracerProvider )
107- . build ();
108-
109- Runtime . getRuntime (). addShutdownHook ( new Thread ( () -> {
110- try {
111- tracerProvider .close ();
112- } catch (Exception e ) {
113- LOG .warning ("Error closing tracer provider: " + e .getMessage ());
114- }
115- }));
105+ OpenTelemetrySdk sdk = OpenTelemetrySdk . builder (). setTracerProvider ( tracerProvider ). build ();
106+
107+ Runtime . getRuntime ( )
108+ . addShutdownHook (
109+ new Thread (
110+ () -> {
111+ try {
112+ tracerProvider .close ();
113+ } catch (Exception e ) {
114+ LOG .warning ("Error closing tracer provider: " + e .getMessage ());
115+ }
116+ }));
116117
117118 return sdk ;
118119 }
0 commit comments