3737import com .google .api .gax .tracing .BaseApiTracer ;
3838import com .google .api .gax .tracing .MetricsTracerFactory ;
3939import com .google .api .gax .tracing .OpenTelemetryMetricsRecorder ;
40- import com .google .api .gax .tracing .OpenTelemetryTracingRecorder ;
4140import com .google .api .gax .tracing .SpanName ;
4241import com .google .api .gax .tracing .TracingTracer ;
4342import com .google .api .gax .tracing .TracingTracerFactory ;
4443import com .google .showcase .v1beta1 .EchoClient ;
4544import com .google .showcase .v1beta1 .EchoRequest ;
4645import com .google .showcase .v1beta1 .it .util .TestClientInitializer ;
4746import io .opentelemetry .api .GlobalOpenTelemetry ;
48- import io .opentelemetry .api .OpenTelemetry ;
4947import io .opentelemetry .sdk .OpenTelemetrySdk ;
5048import io .opentelemetry .sdk .metrics .SdkMeterProvider ;
5149import io .opentelemetry .sdk .metrics .data .MetricData ;
@@ -64,8 +62,8 @@ class ITOtelTracing {
6462 private static final String SERVICE_NAME = "ShowcaseTracingTest" ;
6563 private InMemorySpanExporter spanExporter ;
6664 private InMemoryMetricReader metricReader ;
67- private OpenTelemetryTracingRecorder tracingRecorder ;
6865 private OpenTelemetryMetricsRecorder metricsRecorder ;
66+ private OpenTelemetrySdk openTelemetrySdk ;
6967
7068 @ BeforeEach
7169 void setup () {
@@ -80,19 +78,22 @@ void setup() {
8078 SdkMeterProvider meterProvider =
8179 SdkMeterProvider .builder ().registerMetricReader (metricReader ).build ();
8280
83- OpenTelemetry openTelemetry =
81+ openTelemetrySdk =
8482 OpenTelemetrySdk .builder ()
8583 .setTracerProvider (tracerProvider )
8684 .setMeterProvider (meterProvider )
87- .build ();
85+ .buildAndRegisterGlobal ();
8886
89- tracingRecorder = new OpenTelemetryTracingRecorder (openTelemetry , SERVICE_NAME );
90- metricsRecorder = new OpenTelemetryMetricsRecorder (openTelemetry , SERVICE_NAME );
87+ metricsRecorder = new OpenTelemetryMetricsRecorder (openTelemetrySdk , SERVICE_NAME );
9188 }
9289
9390 @ AfterEach
9491 void tearDown () {
9592 System .clearProperty ("GOOGLE_CLOUD_ENABLE_TRACING" );
93+ if (openTelemetrySdk != null ) {
94+ openTelemetrySdk .close ();
95+ }
96+ GlobalOpenTelemetry .resetForTest ();
9697 }
9798
9899 @ Test
@@ -114,12 +115,6 @@ void testTracingFeatureFlag() throws Exception {
114115
115116 // Test tracing enabled
116117 System .setProperty ("GOOGLE_CLOUD_ENABLE_TRACING" , "true" );
117- // We need to register a global OpenTelemetry instance for auto-configuration to work
118- SdkTracerProvider tracerProvider =
119- SdkTracerProvider .builder ()
120- .addSpanProcessor (SimpleSpanProcessor .create (InMemorySpanExporter .create ()))
121- .build ();
122- OpenTelemetrySdk .builder ().setTracerProvider (tracerProvider ).buildAndRegisterGlobal ();
123118
124119 try (EchoClient client = TestClientInitializer .createGrpcEchoClient ()) {
125120 ApiTracer tracer =
@@ -141,15 +136,14 @@ void testTracingAndMetrics_recordedSimultaneously() throws Exception {
141136
142137 MetricsTracerFactory metricsFactory = new MetricsTracerFactory (metricsRecorder );
143138
144- try (EchoClient client =
145- TestClientInitializer .createGrpcEchoClient ()) {
139+ try (EchoClient client = TestClientInitializer .createGrpcEchoClient ()) {
146140 client .echo (EchoRequest .newBuilder ().setContent ("tracing-test" ).build ());
147141
148142 List <SpanData > spans = spanExporter .getFinishedSpanItems ();
149143 assertThat (spans ).isNotEmpty ();
150144 boolean foundLowLevelSpan =
151145 spans .stream ()
152- .anyMatch (span -> span .getName ().equals (SERVICE_NAME + "/low-level-network-span" ));
146+ .anyMatch (span -> span .getName ().equals ("/low-level-network-span" ));
153147 assertThat (foundLowLevelSpan ).isTrue ();
154148 }
155149
0 commit comments