1414
1515package com .google .cloud .trace .grpc .v1 ;
1616
17+ import com .google .api .gax .core .FixedCredentialsProvider ;
1718import com .google .auth .Credentials ;
19+ import com .google .cloud .trace .v1 .TraceServiceClient ;
20+ import com .google .cloud .trace .v1 .TraceServiceSettings ;
1821import com .google .cloud .trace .v1 .consumer .TraceConsumer ;
1922import com .google .devtools .cloudtrace .v1 .PatchTracesRequest ;
20- import com .google .devtools .cloudtrace .v1 .TraceServiceGrpc ;
2123import com .google .devtools .cloudtrace .v1 .Traces ;
22- import io .grpc .Channel ;
23- import io .grpc .ManagedChannelBuilder ;
24- import io .grpc .auth .MoreCallCredentials ;
24+ import java .io .IOException ;
2525
2626
2727/**
3333 * @see TraceConsumer
3434 */
3535public class GrpcTraceConsumer implements TraceConsumer {
36- private final TraceServiceGrpc . TraceServiceBlockingStub traceService ;
36+ private final TraceServiceClient traceService ;
3737
3838 /**
3939 * Creates a trace consumer that sends trace messages to the Stackdriver Trace API via gRPC.
4040 *
4141 * @param traceService the trace service to use for sending API calls.
4242 */
43- public GrpcTraceConsumer (TraceServiceGrpc . TraceServiceBlockingStub traceService ) {
43+ public GrpcTraceConsumer (TraceServiceClient traceService ) {
4444 this .traceService = traceService ;
4545 }
4646
@@ -64,9 +64,20 @@ public void receive(Traces traces) {
6464 * @param apiHost a string containing the API host name.
6565 * @param credentials a credentials used to authenticate API calls.
6666 */
67- public static GrpcTraceConsumer create (String apiHost , Credentials credentials ) {
68- Channel channel = ManagedChannelBuilder .forTarget (apiHost ).build ();
69- return new GrpcTraceConsumer (TraceServiceGrpc .newBlockingStub (channel )
70- .withCallCredentials (MoreCallCredentials .from (credentials )));
67+ public static GrpcTraceConsumer create (String apiHost , Credentials credentials )
68+ throws IOException {
69+ TraceServiceSettings traceServiceSettings =
70+ TraceServiceSettings .defaultBuilder ()
71+ .setCredentialsProvider (FixedCredentialsProvider .create (credentials ))
72+ .setTransportProvider (
73+ TraceServiceSettings .defaultGrpcTransportProviderBuilder ()
74+ .setChannelProvider (
75+ TraceServiceSettings .defaultGrpcChannelProviderBuilder ()
76+ .setEndpoint (apiHost )
77+ .build ())
78+ .build ())
79+ .build ();
80+
81+ return new GrpcTraceConsumer (TraceServiceClient .create (traceServiceSettings ));
7182 }
7283}
0 commit comments