4747import com .google .showcase .v1beta1 .EchoClient ;
4848import com .google .showcase .v1beta1 .EchoRequest ;
4949import com .google .showcase .v1beta1 .EchoSettings ;
50- import com .google .showcase .v1beta1 .it .util .TestClientInitializer ;
5150import com .google .showcase .v1beta1 .stub .EchoStub ;
5251import com .google .showcase .v1beta1 .stub .EchoStubSettings ;
5352import io .grpc .ManagedChannelBuilder ;
54- import java .io .IOException ;
5553import io .opentelemetry .api .GlobalOpenTelemetry ;
5654import io .opentelemetry .api .common .AttributeKey ;
5755import io .opentelemetry .api .trace .SpanKind ;
6058import io .opentelemetry .sdk .trace .SdkTracerProvider ;
6159import io .opentelemetry .sdk .trace .data .SpanData ;
6260import io .opentelemetry .sdk .trace .export .SimpleSpanProcessor ;
61+ import java .io .IOException ;
6362import java .nio .charset .StandardCharsets ;
6463import java .util .List ;
6564import org .junit .jupiter .api .AfterEach ;
6968class ITOtelTracing {
7069 private static final String SHOWCASE_SERVER_ADDRESS = "localhost" ;
7170 private static final long SHOWCASE_SERVER_PORT = 7469 ;
71+ private static final String SHOWCASE_GRPC_ENDPOINT =
72+ String .format ("%s:%s" , SHOWCASE_SERVER_ADDRESS , SHOWCASE_SERVER_PORT );
73+ private static final String SHOWCASE_HTTPJSON_ENDPOINT =
74+ String .format ("http://%s:%s" , SHOWCASE_SERVER_ADDRESS , SHOWCASE_SERVER_PORT );
7275 private static final String SHOWCASE_REPO = "googleapis/sdk-platform-java" ;
7376 private static final String SHOWCASE_ARTIFACT = "com.google.cloud:gapic-showcase" ;
7477
@@ -107,13 +110,10 @@ void testTracing_successfulEcho_grpc() throws Exception {
107110 EchoSettings .defaultGrpcTransportProviderBuilder ()
108111 .setChannelConfigurator (ManagedChannelBuilder ::usePlaintext )
109112 .build ())
110- .setEndpoint ("localhost:7469" )
113+ .setEndpoint (SHOWCASE_GRPC_ENDPOINT )
111114 .build ();
112115
113- EchoStubSettings .Builder builder = (EchoStubSettings .Builder ) grpcEchoSettings .getStubSettings ().toBuilder ();
114- builder .setTracerFactory (tracingFactory );
115- ExtendedEchoStubSettings echoStubSettings = new ExtendedEchoStubSettings (builder );
116- EchoStub stub = echoStubSettings .createStub ();
116+ EchoStub stub = createStubWithServiceName (grpcEchoSettings , tracingFactory );
117117
118118 try (EchoClient client = EchoClient .create (stub )) {
119119
@@ -161,7 +161,8 @@ void testTracing_successfulEcho_grpc() throws Exception {
161161 assertThat (
162162 attemptSpan
163163 .getAttributes ()
164- .get (AttributeKey .stringKey (ObservabilityAttributes .GCP_CLIENT_SERVICE_ATTRIBUTE )))
164+ .get (
165+ AttributeKey .stringKey (ObservabilityAttributes .GCP_CLIENT_SERVICE_ATTRIBUTE )))
165166 .isEqualTo ("showcase" );
166167 assertThat (
167168 attemptSpan
@@ -185,13 +186,10 @@ void testTracing_successfulEcho_httpjson() throws Exception {
185186 .setHttpTransport (
186187 new NetHttpTransport .Builder ().doNotValidateCertificate ().build ())
187188 .build ())
188- .setEndpoint ("http://localhost:7469" )
189+ .setEndpoint (SHOWCASE_HTTPJSON_ENDPOINT )
189190 .build ();
190191
191- EchoStubSettings .Builder builder = (EchoStubSettings .Builder ) httpJsonEchoSettings .getStubSettings ().toBuilder ();
192- builder .setTracerFactory (tracingFactory );
193- ExtendedEchoStubSettings echoStubSettings = new ExtendedEchoStubSettings (builder );
194- EchoStub stub = echoStubSettings .createStub ();
192+ EchoStub stub = createStubWithServiceName (httpJsonEchoSettings , tracingFactory );
195193
196194 try (EchoClient client = EchoClient .create (stub )) {
197195
@@ -235,7 +233,8 @@ void testTracing_successfulEcho_httpjson() throws Exception {
235233 assertThat (
236234 attemptSpan
237235 .getAttributes ()
238- .get (AttributeKey .stringKey (ObservabilityAttributes .GCP_CLIENT_SERVICE_ATTRIBUTE )))
236+ .get (
237+ AttributeKey .stringKey (ObservabilityAttributes .GCP_CLIENT_SERVICE_ATTRIBUTE )))
239238 .isEqualTo ("showcase" );
240239 assertThat (
241240 attemptSpan
@@ -283,7 +282,7 @@ void testTracing_retry_grpc() throws Exception {
283282 grpcEchoSettings .toBuilder ()
284283 .setCredentialsProvider (NoCredentialsProvider .create ())
285284 .setTransportChannelProvider (EchoSettings .defaultGrpcTransportProviderBuilder ().build ())
286- .setEndpoint ("localhost:7469" )
285+ .setEndpoint (SHOWCASE_GRPC_ENDPOINT )
287286 .build ();
288287
289288 SpanTracerFactory tracingFactory = new SpanTracerFactory (openTelemetrySdk );
@@ -358,7 +357,7 @@ void testTracing_retry_httpjson() throws Exception {
358357 EchoSettings .defaultHttpJsonTransportProviderBuilder ()
359358 .setHttpTransport (
360359 new NetHttpTransport .Builder ().doNotValidateCertificate ().build ())
361- .setEndpoint ("http://localhost:7469" )
360+ .setEndpoint (SHOWCASE_HTTPJSON_ENDPOINT )
362361 .build ())
363362 .build ();
364363
@@ -407,9 +406,15 @@ void testTracing_retry_httpjson() throws Exception {
407406 assertThat (resendCounts ).containsExactlyElementsIn (expectedCounts ).inOrder ();
408407 }
409408
410- /**
411- * Custom wrapper to set a service name for showcase clients, which lack one by default.
412- */
409+ private EchoStub createStubWithServiceName (
410+ EchoSettings settings , SpanTracerFactory tracingFactory ) throws IOException {
411+ EchoStubSettings .Builder builder =
412+ (EchoStubSettings .Builder ) settings .getStubSettings ().toBuilder ();
413+ builder .setTracerFactory (tracingFactory );
414+ return new ExtendedEchoStubSettings (builder ).createStub ();
415+ }
416+
417+ /** Custom wrapper to set a service name for showcase clients, which lack one by default. */
413418 private static class ExtendedEchoStubSettings extends EchoStubSettings {
414419 protected ExtendedEchoStubSettings (EchoStubSettings .Builder builder ) throws IOException {
415420 super (builder );
0 commit comments