mirror of https://github.com/dapr/java-sdk.git
				
				
				
			open telemetry upgrade to 0.10.0 (#386)
* open telemetry upgrade to 0.10.0 * open telemetry upgrade to 0.10.0 * open telemetry upgrade to 0.10.0 * open telemetry upgrade to 0.10.0 * open telemetry upgrade to 0.10.0 Co-authored-by: haidao <wlf190783@alibaba-inc.com>
This commit is contained in:
		
							parent
							
								
									43107c3492
								
							
						
					
					
						commit
						9dcff43ef0
					
				|  | @ -24,6 +24,7 @@ | |||
|     <maven.compiler.target>${java.version}</maven.compiler.target> | ||||
|     <maven.deploy.skip>true</maven.deploy.skip> | ||||
|     <spotbugs.fail>false</spotbugs.fail> | ||||
|     <opentelemetry.version>0.10.0</opentelemetry.version> | ||||
|   </properties> | ||||
| 
 | ||||
|   <dependencies> | ||||
|  | @ -76,17 +77,17 @@ | |||
|     <dependency> | ||||
|       <groupId>io.opentelemetry</groupId> | ||||
|       <artifactId>opentelemetry-sdk</artifactId> | ||||
|       <version>0.7.1</version> | ||||
|       <version>${opentelemetry.version}</version> | ||||
|     </dependency> | ||||
|     <dependency> | ||||
|       <groupId>io.opentelemetry</groupId> | ||||
|       <artifactId>opentelemetry-exporters-logging</artifactId> | ||||
|       <version>0.7.1</version> | ||||
|       <artifactId>opentelemetry-exporter-logging</artifactId> | ||||
|       <version>${opentelemetry.version}</version> | ||||
|     </dependency> | ||||
|     <dependency> | ||||
|       <groupId>io.opentelemetry</groupId> | ||||
|       <artifactId>opentelemetry-exporters-zipkin</artifactId> | ||||
|       <version>0.7.1</version> | ||||
|       <artifactId>opentelemetry-exporter-zipkin</artifactId> | ||||
|       <version>${opentelemetry.version}</version> | ||||
|     </dependency> | ||||
|     <dependency> | ||||
|       <groupId>io.dapr</groupId> | ||||
|  |  | |||
|  | @ -12,11 +12,11 @@ import io.dapr.client.domain.InvokeServiceRequest; | |||
| import io.dapr.client.domain.InvokeServiceRequestBuilder; | ||||
| import io.dapr.springboot.OpenTelemetryConfig; | ||||
| import io.dapr.utils.TypeRef; | ||||
| import io.grpc.Context; | ||||
| import io.opentelemetry.api.trace.Span; | ||||
| import io.opentelemetry.api.trace.Tracer; | ||||
| import io.opentelemetry.context.Context; | ||||
| import io.opentelemetry.context.Scope; | ||||
| import io.opentelemetry.sdk.OpenTelemetrySdk; | ||||
| import io.opentelemetry.trace.Span; | ||||
| import io.opentelemetry.trace.Tracer; | ||||
| 
 | ||||
| import java.io.IOException; | ||||
| 
 | ||||
|  | @ -46,7 +46,7 @@ public class InvokeClient { | |||
|     Span span = tracer.spanBuilder("Example's Main").setSpanKind(Span.Kind.CLIENT).startSpan(); | ||||
|     try (DaprClient client = (new DaprClientBuilder()).build()) { | ||||
|       for (String message : args) { | ||||
|         try (Scope scope = tracer.withSpan(span)) { | ||||
|         try (Scope scope = span.makeCurrent()) { | ||||
|           InvokeServiceRequestBuilder builder = new InvokeServiceRequestBuilder(SERVICE_APP_ID, "echo"); | ||||
|           InvokeServiceRequest request | ||||
|               = builder.withBody(message).withHttpExtension(HttpExtension.POST).withContext(Context.current()).build(); | ||||
|  | @ -73,7 +73,7 @@ public class InvokeClient { | |||
|   } | ||||
| 
 | ||||
|   private static void shutdown() { | ||||
|     OpenTelemetrySdk.getTracerProvider().shutdown(); | ||||
|     OpenTelemetrySdk.getGlobalTracerManagement().shutdown(); | ||||
|   } | ||||
| 
 | ||||
| } | ||||
|  |  | |||
|  | @ -175,7 +175,7 @@ private static final String SERVICE_APP_ID = "invokedemo"; | |||
| } | ||||
| ``` | ||||
| 
 | ||||
| The class knows the app id for the remote application. It uses `invokeService` method to invoke API calls on the service endpoint. The request object includes an instance of `io.grpc.Context` for the proper tracing headers to be propagated. | ||||
| The class knows the app id for the remote application. It uses `invokeService` method to invoke API calls on the service endpoint. The request object includes an instance of `io.opentelemetry.context.Context` for the proper tracing headers to be propagated. | ||||
|   | ||||
| Execute the follow script in order to run the InvokeClient example, passing two messages for the remote method: | ||||
| ```sh | ||||
|  |  | |||
|  | @ -6,7 +6,7 @@ | |||
| package io.dapr.examples.tracing; | ||||
| 
 | ||||
| import com.fasterxml.jackson.databind.ObjectMapper; | ||||
| import io.opentelemetry.trace.Tracer; | ||||
| import io.opentelemetry.api.trace.Tracer; | ||||
| import org.springframework.beans.factory.annotation.Autowired; | ||||
| import org.springframework.web.bind.annotation.PostMapping; | ||||
| import org.springframework.web.bind.annotation.RequestBody; | ||||
|  |  | |||
|  | @ -6,12 +6,14 @@ | |||
| package io.dapr.springboot; | ||||
| 
 | ||||
| import io.dapr.examples.invoke.http.InvokeClient; | ||||
| import io.opentelemetry.OpenTelemetry; | ||||
| import io.opentelemetry.exporters.logging.LoggingSpanExporter; | ||||
| import io.opentelemetry.exporters.zipkin.ZipkinSpanExporter; | ||||
| import io.opentelemetry.api.OpenTelemetry; | ||||
| import io.opentelemetry.api.trace.Tracer; | ||||
| import io.opentelemetry.api.trace.propagation.HttpTraceContext; | ||||
| import io.opentelemetry.context.propagation.DefaultContextPropagators; | ||||
| import io.opentelemetry.exporter.logging.LoggingSpanExporter; | ||||
| import io.opentelemetry.exporter.zipkin.ZipkinSpanExporter; | ||||
| import io.opentelemetry.sdk.OpenTelemetrySdk; | ||||
| import io.opentelemetry.sdk.trace.export.SimpleSpanProcessor; | ||||
| import io.opentelemetry.trace.Tracer; | ||||
| import org.springframework.boot.autoconfigure.EnableAutoConfiguration; | ||||
| import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; | ||||
| import org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration; | ||||
|  | @ -40,27 +42,31 @@ public class OpenTelemetryConfig { | |||
|    * @return New tracer's instance. | ||||
|    */ | ||||
|   public static Tracer createTracer(String instrumentationName) { | ||||
|     final Tracer tracer = OpenTelemetry.getTracer(instrumentationName); | ||||
|     OpenTelemetry.setGlobalPropagators( | ||||
|         DefaultContextPropagators.builder() | ||||
|             .addTextMapPropagator(HttpTraceContext.getInstance()) | ||||
|             .build()); | ||||
|     final Tracer tracer = OpenTelemetry.getGlobalTracer(instrumentationName); | ||||
| 
 | ||||
|     // Only exports to Zipkin if it is up. Otherwise, ignore it. | ||||
|     // This is helpful to avoid exceptions for examples that do not require Zipkin. | ||||
|     if (isZipkinUp()) { | ||||
|       String httpUrl = String.format("http://localhost:%d", ZIPKIN_PORT); | ||||
|       ZipkinSpanExporter zipkinExporter = | ||||
|           ZipkinSpanExporter.newBuilder() | ||||
|           ZipkinSpanExporter.builder() | ||||
|               .setEndpoint(httpUrl + ENDPOINT_V2_SPANS) | ||||
|               .setServiceName(InvokeClient.class.getName()) | ||||
|               .build(); | ||||
| 
 | ||||
|       OpenTelemetrySdk.getTracerProvider() | ||||
|           .addSpanProcessor(SimpleSpanProcessor.newBuilder(zipkinExporter).build()); | ||||
|       OpenTelemetrySdk.getGlobalTracerManagement() | ||||
|           .addSpanProcessor(SimpleSpanProcessor.builder(zipkinExporter).build()); | ||||
|     } else { | ||||
|       System.out.println("WARNING: Zipkin is not available."); | ||||
|     } | ||||
| 
 | ||||
|     final LoggingSpanExporter loggingExporter = new LoggingSpanExporter(); | ||||
|     OpenTelemetrySdk.getTracerProvider() | ||||
|         .addSpanProcessor(SimpleSpanProcessor.newBuilder(loggingExporter).build()); | ||||
|     OpenTelemetrySdk.getGlobalTracerManagement() | ||||
|         .addSpanProcessor(SimpleSpanProcessor.builder(loggingExporter).build()); | ||||
| 
 | ||||
|     return tracer; | ||||
|   } | ||||
|  |  | |||
|  | @ -5,11 +5,12 @@ | |||
| 
 | ||||
| package io.dapr.springboot; | ||||
| 
 | ||||
| import io.grpc.Context; | ||||
| import io.opentelemetry.OpenTelemetry; | ||||
| import io.opentelemetry.context.propagation.HttpTextFormat; | ||||
| import io.opentelemetry.trace.Span; | ||||
| import io.opentelemetry.trace.Tracer; | ||||
| import io.opentelemetry.api.OpenTelemetry; | ||||
| import io.opentelemetry.api.trace.Span; | ||||
| import io.opentelemetry.api.trace.Tracer; | ||||
| import io.opentelemetry.context.Context; | ||||
| import io.opentelemetry.context.propagation.TextMapPropagator; | ||||
| import org.jetbrains.annotations.Nullable; | ||||
| import org.springframework.beans.factory.annotation.Autowired; | ||||
| import org.springframework.stereotype.Component; | ||||
| import org.springframework.web.servlet.HandlerInterceptor; | ||||
|  | @ -18,17 +19,30 @@ import org.springframework.web.servlet.ModelAndView; | |||
| import javax.servlet.DispatcherType; | ||||
| import javax.servlet.http.HttpServletRequest; | ||||
| import javax.servlet.http.HttpServletResponse; | ||||
| import java.util.Collections; | ||||
| 
 | ||||
| @Component | ||||
| public class OpenTelemetryInterceptor implements HandlerInterceptor { | ||||
|   private static final TextMapPropagator.Getter<HttpServletRequest> HTTP_SERVLET_REQUEST_GETTER = | ||||
|       new TextMapPropagator.Getter<>() { | ||||
|         @Override | ||||
|         public Iterable<String> keys(HttpServletRequest carrier) { | ||||
|           return Collections.list(carrier.getHeaderNames()); | ||||
|         } | ||||
| 
 | ||||
|         @Nullable | ||||
|         @Override | ||||
|         public String get(@Nullable HttpServletRequest carrier, String key) { | ||||
|           return carrier.getHeader(key); | ||||
|       } | ||||
|   }; | ||||
|   @Autowired | ||||
|   Tracer tracer; | ||||
| 
 | ||||
|   @Override | ||||
|   public boolean preHandle( | ||||
|       HttpServletRequest request, HttpServletResponse response, Object handler) { | ||||
|     final HttpTextFormat textFormat = OpenTelemetry.getPropagators().getHttpTextFormat(); | ||||
|     final TextMapPropagator textFormat = OpenTelemetry.getGlobalPropagators().getTextMapPropagator(); | ||||
|     // preHandle is called twice for asynchronous request. For more information, read: | ||||
|     // https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/web/servlet/AsyncHandlerInterceptor.html | ||||
|     if (request.getDispatcherType() == DispatcherType.ASYNC) { | ||||
|  | @ -37,15 +51,7 @@ public class OpenTelemetryInterceptor implements HandlerInterceptor { | |||
| 
 | ||||
|     Span span; | ||||
|     try { | ||||
|       Context context = textFormat.extract( | ||||
|           Context.current(), | ||||
|           request, | ||||
|           new HttpTextFormat.Getter<HttpServletRequest>() { | ||||
|             @Override | ||||
|             public String get(HttpServletRequest req, String key) { | ||||
|               return req.getHeader(key); | ||||
|             } | ||||
|           }); | ||||
|       Context context = textFormat.extract(Context.current(), request, HTTP_SERVLET_REQUEST_GETTER); | ||||
|       request.setAttribute("opentelemetry-context", context); | ||||
|       span = tracer.spanBuilder(request.getRequestURI()).setParent(context).startSpan(); | ||||
|       span.setAttribute("handler", "pre"); | ||||
|  | @ -77,14 +83,8 @@ public class OpenTelemetryInterceptor implements HandlerInterceptor { | |||
|     Context context = (Context) contextObject; | ||||
|     Span span = (Span) spanObject; | ||||
|     span.setAttribute("handler", "afterCompletion"); | ||||
|     final HttpTextFormat textFormat = OpenTelemetry.getPropagators().getHttpTextFormat(); | ||||
|     textFormat.inject(context, response, | ||||
|         new HttpTextFormat.Setter<HttpServletResponse>() { | ||||
|           @Override | ||||
|           public void set(HttpServletResponse response, String key, String value) { | ||||
|             response.addHeader(key, value); | ||||
|           } | ||||
|         }); | ||||
|     final TextMapPropagator textFormat = OpenTelemetry.getGlobalPropagators().getTextMapPropagator(); | ||||
|     textFormat.inject(context, response, HttpServletResponse::addHeader); | ||||
|     span.end(); | ||||
|   } | ||||
| 
 | ||||
|  |  | |||
|  | @ -55,7 +55,7 @@ | |||
|     <dependency> | ||||
|       <groupId>io.opentelemetry</groupId> | ||||
|       <artifactId>opentelemetry-api</artifactId> | ||||
|       <version>0.7.1</version> | ||||
|       <version>0.10.0</version> | ||||
|     </dependency> | ||||
|     <dependency> | ||||
|       <groupId>io.opencensus</groupId> | ||||
|  |  | |||
|  | @ -34,7 +34,6 @@ import io.grpc.CallOptions; | |||
| import io.grpc.Channel; | ||||
| import io.grpc.ClientCall; | ||||
| import io.grpc.ClientInterceptor; | ||||
| import io.grpc.Context; | ||||
| import io.grpc.ForwardingClientCall; | ||||
| import io.grpc.Metadata; | ||||
| import io.grpc.Metadata.Key; | ||||
|  | @ -45,8 +44,9 @@ import io.opencensus.trace.SpanContext; | |||
| import io.opencensus.trace.propagation.BinaryFormat; | ||||
| import io.opencensus.trace.propagation.SpanContextParseException; | ||||
| import io.opencensus.trace.propagation.TextFormat; | ||||
| import io.opentelemetry.OpenTelemetry; | ||||
| import io.opentelemetry.context.propagation.HttpTextFormat; | ||||
| import io.opentelemetry.api.OpenTelemetry; | ||||
| import io.opentelemetry.context.Context; | ||||
| import io.opentelemetry.context.propagation.TextMapPropagator; | ||||
| import org.jetbrains.annotations.Nullable; | ||||
| import reactor.core.publisher.Mono; | ||||
| 
 | ||||
|  | @ -66,6 +66,13 @@ import java.util.stream.Collectors; | |||
|  */ | ||||
| public class DaprClientGrpc extends AbstractDaprClient { | ||||
| 
 | ||||
|   private static final TextMapPropagator.Setter<Map<String, String>> MAP_SETTER = | ||||
|       (mapper, key, value) -> { | ||||
|         if (mapper != null) { | ||||
|           mapper.put(key, value); | ||||
|         } | ||||
|       }; | ||||
| 
 | ||||
|   /** | ||||
|    * Binary formatter to generate grpc-trace-bin. | ||||
|    */ | ||||
|  | @ -154,6 +161,7 @@ public class DaprClientGrpc extends AbstractDaprClient { | |||
|   /** | ||||
|    * {@inheritDoc} | ||||
|    */ | ||||
|   @Override | ||||
|   public <T> Mono<Response<T>> invokeService(InvokeServiceRequest invokeServiceRequest, TypeRef<T> type) { | ||||
|     try { | ||||
|       String appId = invokeServiceRequest.getAppId(); | ||||
|  | @ -629,18 +637,8 @@ public class DaprClientGrpc extends AbstractDaprClient { | |||
|    */ | ||||
|   private static SpanContext extractOpenCensusSpanContext(Context openTelemetryContext) { | ||||
|     Map<String, String> map = new HashMap<>(); | ||||
| 
 | ||||
|     OpenTelemetry.getPropagators().getHttpTextFormat().inject( | ||||
|         openTelemetryContext, | ||||
|         map, | ||||
|         new HttpTextFormat.Setter<Map<String, String>>() { | ||||
|           @Override | ||||
|           public void set(Map<String, String> map, String key, String value) { | ||||
|             if (map != null) { | ||||
|               map.put(key, value); | ||||
|             } | ||||
|           } | ||||
|         }); | ||||
|     OpenTelemetry.getGlobalPropagators().getTextMapPropagator().inject( | ||||
|         openTelemetryContext, map, MAP_SETTER); | ||||
| 
 | ||||
|     if (!map.containsKey("traceparent")) { | ||||
|       // Trying to extract context without this key will throw an "expected" exception, so we avoid it here. | ||||
|  |  | |||
|  | @ -26,7 +26,7 @@ import io.dapr.config.Properties; | |||
| import io.dapr.serializer.DaprObjectSerializer; | ||||
| import io.dapr.serializer.DefaultObjectSerializer; | ||||
| import io.dapr.utils.TypeRef; | ||||
| import io.grpc.Context; | ||||
| import io.opentelemetry.context.Context; | ||||
| import reactor.core.publisher.Mono; | ||||
| 
 | ||||
| import java.io.IOException; | ||||
|  |  | |||
|  | @ -9,9 +9,10 @@ import com.fasterxml.jackson.databind.ObjectMapper; | |||
| import io.dapr.config.Properties; | ||||
| import io.dapr.exceptions.DaprError; | ||||
| import io.dapr.exceptions.DaprException; | ||||
| import io.grpc.Context; | ||||
| import io.opentelemetry.OpenTelemetry; | ||||
| import io.opentelemetry.context.propagation.HttpTextFormat; | ||||
| import io.opentelemetry.api.OpenTelemetry; | ||||
| import io.opentelemetry.api.trace.propagation.HttpTraceContext; | ||||
| import io.opentelemetry.context.Context; | ||||
| import io.opentelemetry.context.propagation.TextMapPropagator; | ||||
| import okhttp3.HttpUrl; | ||||
| import okhttp3.MediaType; | ||||
| import okhttp3.OkHttpClient; | ||||
|  | @ -51,13 +52,8 @@ public class DaprHttp implements Closeable { | |||
|   /** | ||||
|    * Sets the headers for OpenTelemetry SDK. | ||||
|    */ | ||||
|   private static final HttpTextFormat.Setter<Request.Builder> OPENTELEMETRY_SETTER = | ||||
|       new HttpTextFormat.Setter<Request.Builder>() { | ||||
|         @Override | ||||
|         public void set(Request.Builder requestBuilder, String key, String value) { | ||||
|           requestBuilder.addHeader(key, value); | ||||
|         } | ||||
|       }; | ||||
|   private static final HttpTraceContext.Setter<Request.Builder> OPENTELEMETRY_SETTER = | ||||
|       (requestBuilder, key, value) -> requestBuilder.addHeader(key, value); | ||||
| 
 | ||||
|   /** | ||||
|    * HTTP Methods supported. | ||||
|  | @ -270,7 +266,7 @@ public class DaprHttp implements Closeable { | |||
|         .url(urlBuilder.build()) | ||||
|         .addHeader(HEADER_DAPR_REQUEST_ID, requestId); | ||||
|     if (context != null) { | ||||
|       OpenTelemetry.getPropagators().getHttpTextFormat().inject(context, requestBuilder, OPENTELEMETRY_SETTER); | ||||
|       OpenTelemetry.getGlobalPropagators().getTextMapPropagator().inject(context, requestBuilder, OPENTELEMETRY_SETTER); | ||||
|     } | ||||
|     if (HttpMethods.GET.name().equals(method)) { | ||||
|       requestBuilder.get(); | ||||
|  |  | |||
|  | @ -5,7 +5,7 @@ | |||
| 
 | ||||
| package io.dapr.client.domain; | ||||
| 
 | ||||
| import io.grpc.Context; | ||||
| import io.opentelemetry.context.Context; | ||||
| 
 | ||||
| import java.util.Collections; | ||||
| import java.util.Map; | ||||
|  |  | |||
|  | @ -5,7 +5,7 @@ | |||
| 
 | ||||
| package io.dapr.client.domain; | ||||
| 
 | ||||
| import io.grpc.Context; | ||||
| import io.opentelemetry.context.Context; | ||||
| import java.util.Collections; | ||||
| import java.util.Map; | ||||
| 
 | ||||
|  |  | |||
|  | @ -5,7 +5,7 @@ | |||
| 
 | ||||
| package io.dapr.client.domain; | ||||
| 
 | ||||
| import io.grpc.Context; | ||||
| import io.opentelemetry.context.Context; | ||||
| 
 | ||||
| import java.util.List; | ||||
| import java.util.Map; | ||||
|  |  | |||
|  | @ -5,7 +5,7 @@ | |||
| 
 | ||||
| package io.dapr.client.domain; | ||||
| 
 | ||||
| import io.grpc.Context; | ||||
| import io.opentelemetry.context.Context; | ||||
| 
 | ||||
| import java.util.Arrays; | ||||
| import java.util.Collections; | ||||
|  |  | |||
|  | @ -5,7 +5,7 @@ | |||
| 
 | ||||
| package io.dapr.client.domain; | ||||
| 
 | ||||
| import io.grpc.Context; | ||||
| import io.opentelemetry.context.Context; | ||||
| 
 | ||||
| import java.util.Map; | ||||
| 
 | ||||
|  |  | |||
|  | @ -5,7 +5,7 @@ | |||
| 
 | ||||
| package io.dapr.client.domain; | ||||
| 
 | ||||
| import io.grpc.Context; | ||||
| import io.opentelemetry.context.Context; | ||||
| 
 | ||||
| import java.util.Collections; | ||||
| import java.util.Map; | ||||
|  |  | |||
|  | @ -5,7 +5,7 @@ | |||
| 
 | ||||
| package io.dapr.client.domain; | ||||
| 
 | ||||
| import io.grpc.Context; | ||||
| import io.opentelemetry.context.Context; | ||||
| 
 | ||||
| import java.util.Collections; | ||||
| import java.util.Map; | ||||
|  |  | |||
|  | @ -5,7 +5,7 @@ | |||
| 
 | ||||
| package io.dapr.client.domain; | ||||
| 
 | ||||
| import io.grpc.Context; | ||||
| import io.opentelemetry.context.Context; | ||||
| import java.util.Collections; | ||||
| import java.util.Map; | ||||
| 
 | ||||
|  |  | |||
|  | @ -5,7 +5,7 @@ | |||
| 
 | ||||
| package io.dapr.client.domain; | ||||
| 
 | ||||
| import io.grpc.Context; | ||||
| import io.opentelemetry.context.Context; | ||||
| 
 | ||||
| import java.util.List; | ||||
| 
 | ||||
|  |  | |||
|  | @ -5,7 +5,7 @@ | |||
| 
 | ||||
| package io.dapr.client.domain; | ||||
| 
 | ||||
| import io.grpc.Context; | ||||
| import io.opentelemetry.context.Context; | ||||
| 
 | ||||
| import java.util.Arrays; | ||||
| import java.util.Collections; | ||||
|  |  | |||
|  | @ -5,7 +5,7 @@ | |||
| 
 | ||||
| package io.dapr.client.domain; | ||||
| 
 | ||||
| import io.grpc.Context; | ||||
| import io.opentelemetry.context.Context; | ||||
| 
 | ||||
| import java.util.Map; | ||||
| 
 | ||||
|  |  | |||
|  | @ -5,7 +5,7 @@ | |||
| 
 | ||||
| package io.dapr.client.domain; | ||||
| 
 | ||||
| import io.grpc.Context; | ||||
| import io.opentelemetry.context.Context; | ||||
| 
 | ||||
| import java.util.Collections; | ||||
| import java.util.HashMap; | ||||
|  |  | |||
|  | @ -5,7 +5,7 @@ | |||
| 
 | ||||
| package io.dapr.client.domain; | ||||
| 
 | ||||
| import io.grpc.Context; | ||||
| import io.opentelemetry.context.Context; | ||||
| 
 | ||||
| import java.util.Map; | ||||
| 
 | ||||
|  |  | |||
|  | @ -5,7 +5,7 @@ | |||
| 
 | ||||
| package io.dapr.client.domain; | ||||
| 
 | ||||
| import io.grpc.Context; | ||||
| import io.opentelemetry.context.Context; | ||||
| 
 | ||||
| import java.util.Collections; | ||||
| import java.util.HashMap; | ||||
|  |  | |||
|  | @ -5,7 +5,7 @@ | |||
| 
 | ||||
| package io.dapr.client.domain; | ||||
| 
 | ||||
| import io.grpc.Context; | ||||
| import io.opentelemetry.context.Context; | ||||
| 
 | ||||
| import java.util.Map; | ||||
| 
 | ||||
|  |  | |||
|  | @ -5,7 +5,7 @@ | |||
| 
 | ||||
| package io.dapr.client.domain; | ||||
| 
 | ||||
| import io.grpc.Context; | ||||
| import io.opentelemetry.context.Context; | ||||
| 
 | ||||
| import java.util.Collections; | ||||
| import java.util.HashMap; | ||||
|  |  | |||
|  | @ -5,7 +5,7 @@ | |||
| 
 | ||||
| package io.dapr.client.domain; | ||||
| 
 | ||||
| import io.grpc.Context; | ||||
| import io.opentelemetry.context.Context; | ||||
| 
 | ||||
| /** | ||||
|  * A Dapr Response. | ||||
|  |  | |||
|  | @ -5,7 +5,7 @@ | |||
| 
 | ||||
| package io.dapr.client.domain; | ||||
| 
 | ||||
| import io.grpc.Context; | ||||
| import io.opentelemetry.context.Context; | ||||
| 
 | ||||
| import java.util.List; | ||||
| 
 | ||||
|  |  | |||
|  | @ -5,7 +5,7 @@ | |||
| 
 | ||||
| package io.dapr.client.domain; | ||||
| 
 | ||||
| import io.grpc.Context; | ||||
| import io.opentelemetry.context.Context; | ||||
| 
 | ||||
| import java.util.ArrayList; | ||||
| import java.util.Arrays; | ||||
|  |  | |||
|  | @ -5,7 +5,7 @@ | |||
| 
 | ||||
| package io.dapr.client; | ||||
| 
 | ||||
| import io.grpc.Context; | ||||
| import io.opentelemetry.context.Context; | ||||
| import reactor.core.publisher.Mono; | ||||
| 
 | ||||
| import java.io.IOException; | ||||
|  |  | |||
|  | @ -6,7 +6,7 @@ package io.dapr.client; | |||
| 
 | ||||
| import io.dapr.config.Properties; | ||||
| import io.dapr.exceptions.DaprException; | ||||
| import io.grpc.Context; | ||||
| import io.opentelemetry.context.Context; | ||||
| import okhttp3.MediaType; | ||||
| import okhttp3.OkHttpClient; | ||||
| import okhttp3.ResponseBody; | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue