Update to latest otel-java snapshot (#1057)

* Update to latest otel-java snapshot

* Upgrade to working otel-java snapshot

* Update to latest otel-java snapshot

* Update to latest otel-java snapshot
This commit is contained in:
Nikita Salnikov-Tarnovski 2020-08-26 22:03:28 +03:00 committed by GitHub
parent d58eca23f8
commit bc98955176
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
111 changed files with 266 additions and 223 deletions

View File

@ -9,10 +9,10 @@ configurations.all {
ext {
versions = [
// Check https://oss.jfrog.org/libs-snapshot/io/opentelemetry/ for latest snapshot version.
opentelemetry : '0.8.0-20200811.154243-20',
opentelemetry : '0.8.0-20200826.153459-48',
// Snapshot versions are often split into two suffixes based on jfrog's whims, best to keep
// these separate until GA
opentelemetryOther: '0.8.0-20200811.154243-20',
opentelemetryOther: '0.8.0-20200826.153459-49',
slf4j : "1.7.30",
guava : "20.0", // Last version to support Java 7
@ -32,14 +32,15 @@ ext {
deps = [
// OpenTelemetry
opentelemetryApi : dependencies.create(group: 'io.opentelemetry', name: 'opentelemetry-api', version: versions.opentelemetry),
opentelemetryContextProp : dependencies.create(group: 'io.opentelemetry', name: 'opentelemetry-context-prop', version: versions.opentelemetryOther),
opentelemetryAutoAnnotations: dependencies.create(group: 'io.opentelemetry', name: 'opentelemetry-extension-auto-annotations', version: versions.opentelemetryOther),
opentelemetryTraceProps : dependencies.create(group: 'io.opentelemetry', name: 'opentelemetry-extension-trace-propagators', version: versions.opentelemetryOther),
opentelemetrySdk : dependencies.create(group: 'io.opentelemetry', name: 'opentelemetry-sdk', version: versions.opentelemetry),
opentelemetrySdk : dependencies.create(group: 'io.opentelemetry', name: 'opentelemetry-sdk', version: versions.opentelemetryOther),
opentelemetrySdkAutoConfig : dependencies.create(group: 'io.opentelemetry', name: 'opentelemetry-sdk-extension-auto-config', version: versions.opentelemetryOther),
opentelemetryJaeger : dependencies.create(group: 'io.opentelemetry', name: 'opentelemetry-exporters-jaeger', version: versions.opentelemetry),
opentelemetryOtlp : dependencies.create(group: 'io.opentelemetry', name: 'opentelemetry-exporters-otlp', version: versions.opentelemetryOther),
opentelemetryOtlp : dependencies.create(group: 'io.opentelemetry', name: 'opentelemetry-exporters-otlp', version: versions.opentelemetry),
opentelemetryZipkin : dependencies.create(group: 'io.opentelemetry', name: 'opentelemetry-exporters-zipkin', version: versions.opentelemetryOther),
opentelemetryLogging : dependencies.create(group: 'io.opentelemetry', name: 'opentelemetry-exporters-logging', version: versions.opentelemetryOther),
opentelemetryLogging : dependencies.create(group: 'io.opentelemetry', name: 'opentelemetry-exporters-logging', version: versions.opentelemetry),
opentelemetryProto : dependencies.create(group: 'io.opentelemetry', name: 'opentelemetry-proto', version: versions.opentelemetryOther),
// General

View File

@ -10,6 +10,7 @@ dependencies {
api project(':instrumentation-api')
api deps.opentelemetryApi
api deps.opentelemetryContextProp
testImplementation project(':testing-common')
}

View File

@ -5,6 +5,7 @@ apply from: "$rootDir/gradle/publish.gradle"
dependencies {
api deps.opentelemetryApi
api deps.opentelemetryContextProp
implementation deps.slf4j
testImplementation project(':testing-common')

View File

@ -20,7 +20,7 @@ import static io.opentelemetry.OpenTelemetry.getPropagators;
import static io.opentelemetry.trace.TracingContextUtils.getSpan;
import io.grpc.Context;
import io.opentelemetry.context.propagation.HttpTextFormat;
import io.opentelemetry.context.propagation.TextMapPropagator;
import io.opentelemetry.instrumentation.api.config.Config;
import io.opentelemetry.trace.Span;
import io.opentelemetry.trace.SpanContext;
@ -187,9 +187,9 @@ public abstract class BaseDecorator {
return simpleName;
}
public static <C> SpanContext extract(C carrier, HttpTextFormat.Getter<C> getter) {
public static <C> SpanContext extract(C carrier, TextMapPropagator.Getter<C> getter) {
Context context =
getPropagators().getHttpTextFormat().extract(Context.current(), carrier, getter);
getPropagators().getTextMapPropagator().extract(Context.current(), carrier, getter);
Span span = getSpan(context);
return span.getContext();
}

View File

@ -22,8 +22,8 @@ import static io.opentelemetry.trace.TracingContextUtils.withSpan;
import io.grpc.Context;
import io.opentelemetry.OpenTelemetry;
import io.opentelemetry.context.Scope;
import io.opentelemetry.context.propagation.HttpTextFormat;
import io.opentelemetry.context.propagation.HttpTextFormat.Setter;
import io.opentelemetry.context.propagation.TextMapPropagator;
import io.opentelemetry.context.propagation.TextMapPropagator.Setter;
import io.opentelemetry.instrumentation.api.MoreAttributes;
import io.opentelemetry.instrumentation.api.config.Config;
import io.opentelemetry.instrumentation.api.decorator.HttpStatusConverter;
@ -58,7 +58,7 @@ public abstract class HttpClientTracer<REQUEST, CARRIER, RESPONSE> extends BaseT
protected abstract String responseHeader(RESPONSE response, String name);
protected abstract HttpTextFormat.Setter<CARRIER> getSetter();
protected abstract TextMapPropagator.Setter<CARRIER> getSetter();
protected HttpClientTracer() {
super();
@ -84,7 +84,7 @@ public abstract class HttpClientTracer<REQUEST, CARRIER, RESPONSE> extends BaseT
throw new IllegalStateException(
"getSetter() not defined but calling startScope(), either getSetter must be implemented or the scope should be setup manually");
}
OpenTelemetry.getPropagators().getHttpTextFormat().inject(context, carrier, setter);
OpenTelemetry.getPropagators().getTextMapPropagator().inject(context, carrier, setter);
context = context.withValue(CONTEXT_CLIENT_SPAN_KEY, span);
return withScopedContext(context);
}

View File

@ -24,7 +24,7 @@ import static io.opentelemetry.trace.TracingContextUtils.withSpan;
import io.grpc.Context;
import io.opentelemetry.context.Scope;
import io.opentelemetry.context.propagation.HttpTextFormat;
import io.opentelemetry.context.propagation.TextMapPropagator;
import io.opentelemetry.instrumentation.api.MoreAttributes;
import io.opentelemetry.instrumentation.api.config.Config;
import io.opentelemetry.instrumentation.api.decorator.HttpStatusConverter;
@ -247,14 +247,15 @@ public abstract class HttpServerTracer<REQUEST, RESPONSE, CONNECTION, STORAGE> e
return forwarded.substring(start);
}
private <C> SpanContext extract(C carrier, HttpTextFormat.Getter<C> getter) {
private <C> SpanContext extract(C carrier, TextMapPropagator.Getter<C> getter) {
if (Config.THREAD_PROPAGATION_DEBUGGER) {
debugContextLeak();
}
// Using Context.ROOT here may be quite unexpected, but the reason is simple.
// We want either span context extracted from the carrier or invalid one.
// We DO NOT want any span context potentially lingering in the current context.
Context context = getPropagators().getHttpTextFormat().extract(Context.ROOT, carrier, getter);
Context context =
getPropagators().getTextMapPropagator().extract(Context.ROOT, carrier, getter);
Span span = getSpan(context);
return span.getContext();
}
@ -309,7 +310,7 @@ public abstract class HttpServerTracer<REQUEST, RESPONSE, CONNECTION, STORAGE> e
protected abstract String flavor(CONNECTION connection, REQUEST request);
protected abstract HttpTextFormat.Getter<REQUEST> getGetter();
protected abstract TextMapPropagator.Getter<REQUEST> getGetter();
protected abstract URI url(REQUEST request) throws URISyntaxException;

View File

@ -17,7 +17,7 @@
package io.opentelemetry.instrumentation.api.tracer
import static io.opentelemetry.auto.test.utils.ConfigUtils.withConfigOverride
import io.opentelemetry.context.propagation.HttpTextFormat
import io.opentelemetry.context.propagation.TextMapPropagator
import io.opentelemetry.instrumentation.api.decorator.HttpStatusConverter
import io.opentelemetry.trace.Span
import io.opentelemetry.trace.attributes.SemanticAttributes
@ -198,7 +198,7 @@ class HttpClientTracerTest extends BaseTracerTest {
}
@Override
protected HttpTextFormat.Setter<Map> getSetter() {
protected TextMapPropagator.Setter<Map> getSetter() {
return null
}

View File

@ -16,10 +16,10 @@
package io.opentelemetry.instrumentation.servlet;
import io.opentelemetry.context.propagation.HttpTextFormat;
import io.opentelemetry.context.propagation.TextMapPropagator;
import javax.servlet.http.HttpServletRequest;
public class HttpServletRequestGetter implements HttpTextFormat.Getter<HttpServletRequest> {
public class HttpServletRequestGetter implements TextMapPropagator.Getter<HttpServletRequest> {
public static final HttpServletRequestGetter GETTER = new HttpServletRequestGetter();

View File

@ -17,7 +17,7 @@
package io.opentelemetry.instrumentation.servlet;
import io.grpc.Context;
import io.opentelemetry.context.propagation.HttpTextFormat.Getter;
import io.opentelemetry.context.propagation.TextMapPropagator.Getter;
import io.opentelemetry.instrumentation.api.MoreAttributes;
import io.opentelemetry.instrumentation.api.tracer.HttpServerTracer;
import io.opentelemetry.trace.Span;

View File

@ -26,7 +26,7 @@ import akka.http.scaladsl.model.HttpRequest;
import akka.http.scaladsl.model.HttpResponse;
import com.google.auto.service.AutoService;
import io.opentelemetry.context.Scope;
import io.opentelemetry.context.propagation.HttpTextFormat;
import io.opentelemetry.context.propagation.TextMapPropagator;
import io.opentelemetry.instrumentation.auto.api.CallDepthThreadLocalMap.Depth;
import io.opentelemetry.javaagent.tooling.Instrumenter;
import io.opentelemetry.trace.Span;
@ -153,7 +153,7 @@ public final class AkkaHttpClientInstrumentation extends Instrumenter.Default {
}
}
public static class InjectAdapter implements HttpTextFormat.Setter<AkkaHttpHeaders> {
public static class InjectAdapter implements TextMapPropagator.Setter<AkkaHttpHeaders> {
public static final InjectAdapter SETTER = new InjectAdapter();

View File

@ -22,7 +22,7 @@ import akka.http.javadsl.model.HttpHeader;
import akka.http.scaladsl.HttpExt;
import akka.http.scaladsl.model.HttpRequest;
import akka.http.scaladsl.model.HttpResponse;
import io.opentelemetry.context.propagation.HttpTextFormat.Setter;
import io.opentelemetry.context.propagation.TextMapPropagator.Setter;
import io.opentelemetry.instrumentation.api.tracer.HttpClientTracer;
import io.opentelemetry.instrumentation.auto.akkahttp.AkkaHttpClientInstrumentation.AkkaHttpHeaders;
import io.opentelemetry.instrumentation.auto.api.CallDepthThreadLocalMap;

View File

@ -18,10 +18,10 @@ package io.opentelemetry.instrumentation.auto.akkahttp;
import akka.http.javadsl.model.HttpHeader;
import akka.http.scaladsl.model.HttpRequest;
import io.opentelemetry.context.propagation.HttpTextFormat;
import io.opentelemetry.context.propagation.TextMapPropagator;
import java.util.Optional;
public class AkkaHttpServerHeaders implements HttpTextFormat.Getter<HttpRequest> {
public class AkkaHttpServerHeaders implements TextMapPropagator.Getter<HttpRequest> {
public static final AkkaHttpServerHeaders GETTER = new AkkaHttpServerHeaders();

View File

@ -20,7 +20,7 @@ import akka.http.javadsl.model.HttpHeader;
import akka.http.scaladsl.model.HttpRequest;
import akka.http.scaladsl.model.HttpResponse;
import io.grpc.Context;
import io.opentelemetry.context.propagation.HttpTextFormat.Getter;
import io.opentelemetry.context.propagation.TextMapPropagator.Getter;
import io.opentelemetry.instrumentation.api.tracer.HttpServerTracer;
import java.net.URI;
import java.net.URISyntaxException;

View File

@ -18,7 +18,7 @@ package io.opentelemetry.instrumentation.auto.apachehttpasyncclient;
import static io.opentelemetry.instrumentation.auto.apachehttpasyncclient.HttpHeadersInjectAdapter.SETTER;
import io.opentelemetry.context.propagation.HttpTextFormat.Setter;
import io.opentelemetry.context.propagation.TextMapPropagator.Setter;
import io.opentelemetry.instrumentation.api.tracer.HttpClientTracer;
import io.opentelemetry.trace.Span;
import java.net.URI;

View File

@ -16,10 +16,10 @@
package io.opentelemetry.instrumentation.auto.apachehttpasyncclient;
import io.opentelemetry.context.propagation.HttpTextFormat;
import io.opentelemetry.context.propagation.TextMapPropagator;
import org.apache.http.HttpRequest;
public class HttpHeadersInjectAdapter implements HttpTextFormat.Setter<HttpRequest> {
public class HttpHeadersInjectAdapter implements TextMapPropagator.Setter<HttpRequest> {
public static final HttpHeadersInjectAdapter SETTER = new HttpHeadersInjectAdapter();

View File

@ -16,7 +16,7 @@
package io.opentelemetry.instrumentation.auto.apachehttpclient.v2_0;
import io.opentelemetry.context.propagation.HttpTextFormat.Setter;
import io.opentelemetry.context.propagation.TextMapPropagator.Setter;
import io.opentelemetry.instrumentation.api.tracer.HttpClientTracer;
import io.opentelemetry.instrumentation.auto.api.CallDepthThreadLocalMap;
import io.opentelemetry.instrumentation.auto.api.CallDepthThreadLocalMap.Depth;

View File

@ -16,11 +16,11 @@
package io.opentelemetry.instrumentation.auto.apachehttpclient.v2_0;
import io.opentelemetry.context.propagation.HttpTextFormat;
import io.opentelemetry.context.propagation.TextMapPropagator;
import org.apache.commons.httpclient.Header;
import org.apache.commons.httpclient.HttpMethod;
public class HttpHeadersInjectAdapter implements HttpTextFormat.Setter<HttpMethod> {
public class HttpHeadersInjectAdapter implements TextMapPropagator.Setter<HttpMethod> {
public static final HttpHeadersInjectAdapter SETTER = new HttpHeadersInjectAdapter();

View File

@ -18,7 +18,7 @@ package io.opentelemetry.instrumentation.auto.apachehttpclient.v4_0;
import static io.opentelemetry.instrumentation.auto.apachehttpclient.v4_0.HttpHeadersInjectAdapter.SETTER;
import io.opentelemetry.context.propagation.HttpTextFormat.Setter;
import io.opentelemetry.context.propagation.TextMapPropagator.Setter;
import io.opentelemetry.instrumentation.api.tracer.HttpClientTracer;
import io.opentelemetry.trace.Span;
import java.net.URI;

View File

@ -16,10 +16,10 @@
package io.opentelemetry.instrumentation.auto.apachehttpclient.v4_0;
import io.opentelemetry.context.propagation.HttpTextFormat;
import io.opentelemetry.context.propagation.TextMapPropagator;
import org.apache.http.client.methods.HttpUriRequest;
class HttpHeadersInjectAdapter implements HttpTextFormat.Setter<HttpUriRequest> {
class HttpHeadersInjectAdapter implements TextMapPropagator.Setter<HttpUriRequest> {
public static final HttpHeadersInjectAdapter SETTER = new HttpHeadersInjectAdapter();

View File

@ -18,7 +18,7 @@ package io.opentelemetry.instrumentation.armeria.v1_0.client;
import com.linecorp.armeria.client.ClientRequestContext;
import com.linecorp.armeria.common.logging.RequestLog;
import io.opentelemetry.context.propagation.HttpTextFormat.Setter;
import io.opentelemetry.context.propagation.TextMapPropagator.Setter;
import io.opentelemetry.instrumentation.api.tracer.HttpClientTracer;
import io.opentelemetry.trace.Tracer;
import java.net.URI;

View File

@ -20,7 +20,7 @@ import com.linecorp.armeria.common.HttpRequest;
import com.linecorp.armeria.common.logging.RequestLog;
import com.linecorp.armeria.server.ServiceRequestContext;
import io.grpc.Context;
import io.opentelemetry.context.propagation.HttpTextFormat.Getter;
import io.opentelemetry.context.propagation.TextMapPropagator.Getter;
import io.opentelemetry.instrumentation.api.tracer.HttpServerTracer;
import io.opentelemetry.trace.Tracer;
import java.net.InetSocketAddress;

View File

@ -25,7 +25,7 @@ import com.amazonaws.Request;
import com.amazonaws.Response;
import io.grpc.Context;
import io.opentelemetry.context.Scope;
import io.opentelemetry.context.propagation.HttpTextFormat.Setter;
import io.opentelemetry.context.propagation.TextMapPropagator.Setter;
import io.opentelemetry.instrumentation.api.tracer.HttpClientTracer;
import io.opentelemetry.trace.Span;
import java.net.URI;

View File

@ -16,7 +16,7 @@
package io.opentelemetry.instrumentation.awssdk.v2_2;
import io.opentelemetry.context.propagation.HttpTextFormat.Setter;
import io.opentelemetry.context.propagation.TextMapPropagator.Setter;
import io.opentelemetry.instrumentation.api.tracer.HttpClientTracer;
import io.opentelemetry.trace.DefaultSpan;
import io.opentelemetry.trace.Span;

View File

@ -19,7 +19,7 @@ package io.opentelemetry.instrumentation.auto.googlehttpclient;
import com.google.api.client.http.HttpHeaders;
import com.google.api.client.http.HttpRequest;
import com.google.api.client.http.HttpResponse;
import io.opentelemetry.context.propagation.HttpTextFormat.Setter;
import io.opentelemetry.context.propagation.TextMapPropagator.Setter;
import io.opentelemetry.instrumentation.api.tracer.HttpClientTracer;
import java.net.URI;
import java.net.URISyntaxException;

View File

@ -17,9 +17,9 @@
package io.opentelemetry.instrumentation.auto.googlehttpclient;
import com.google.api.client.http.HttpHeaders;
import io.opentelemetry.context.propagation.HttpTextFormat;
import io.opentelemetry.context.propagation.TextMapPropagator;
public class HeadersInjectAdapter implements HttpTextFormat.Setter<HttpHeaders> {
public class HeadersInjectAdapter implements TextMapPropagator.Setter<HttpHeaders> {
public static final HeadersInjectAdapter SETTER = new HeadersInjectAdapter();

View File

@ -16,10 +16,10 @@
package io.opentelemetry.instrumentation.auto.grizzly;
import io.opentelemetry.context.propagation.HttpTextFormat;
import io.opentelemetry.context.propagation.TextMapPropagator;
import org.glassfish.grizzly.http.HttpRequestPacket;
public class ExtractAdapter implements HttpTextFormat.Getter<HttpRequestPacket> {
public class ExtractAdapter implements TextMapPropagator.Getter<HttpRequestPacket> {
public static final ExtractAdapter GETTER = new ExtractAdapter();
@Override

View File

@ -17,7 +17,7 @@
package io.opentelemetry.instrumentation.auto.grizzly;
import io.grpc.Context;
import io.opentelemetry.context.propagation.HttpTextFormat.Getter;
import io.opentelemetry.context.propagation.TextMapPropagator.Getter;
import io.opentelemetry.instrumentation.api.tracer.HttpServerTracer;
import java.net.URI;
import java.net.URISyntaxException;

View File

@ -18,7 +18,7 @@ package io.opentelemetry.instrumentation.auto.grizzly.client;
import com.ning.http.client.Request;
import com.ning.http.client.Response;
import io.opentelemetry.context.propagation.HttpTextFormat.Setter;
import io.opentelemetry.context.propagation.TextMapPropagator.Setter;
import io.opentelemetry.instrumentation.api.tracer.HttpClientTracer;
import java.net.URI;
import java.net.URISyntaxException;

View File

@ -17,9 +17,9 @@
package io.opentelemetry.instrumentation.auto.grizzly.client;
import com.ning.http.client.Request;
import io.opentelemetry.context.propagation.HttpTextFormat;
import io.opentelemetry.context.propagation.TextMapPropagator;
public class GrizzlyInjectAdapter implements HttpTextFormat.Setter<Request> {
public class GrizzlyInjectAdapter implements TextMapPropagator.Setter<Request> {
public static final GrizzlyInjectAdapter SETTER = new GrizzlyInjectAdapter();

View File

@ -17,9 +17,9 @@
package io.opentelemetry.instrumentation.auto.grpc.client;
import io.grpc.Metadata;
import io.opentelemetry.context.propagation.HttpTextFormat;
import io.opentelemetry.context.propagation.TextMapPropagator;
public final class GrpcInjectAdapter implements HttpTextFormat.Setter<Metadata> {
public final class GrpcInjectAdapter implements TextMapPropagator.Setter<Metadata> {
public static final GrpcInjectAdapter SETTER = new GrpcInjectAdapter();

View File

@ -91,7 +91,7 @@ public class TracingClientInterceptor implements ClientInterceptor {
// (luckily the grpc instrumentation doesn't need to reference unshaded grpc Context, so we
// don't need to worry about distinguishing them like in the opentelemetry-api
// instrumentation)
OpenTelemetry.getPropagators().getHttpTextFormat().inject(context, headers, SETTER);
OpenTelemetry.getPropagators().getTextMapPropagator().inject(context, headers, SETTER);
try (Scope ignored = withScopedContext(context)) {
super.start(new TracingClientCallListener<>(context, responseListener), headers);
} catch (Throwable e) {

View File

@ -17,9 +17,9 @@
package io.opentelemetry.instrumentation.auto.grpc.server;
import io.grpc.Metadata;
import io.opentelemetry.context.propagation.HttpTextFormat;
import io.opentelemetry.context.propagation.TextMapPropagator;
public final class GrpcExtractAdapter implements HttpTextFormat.Getter<Metadata> {
public final class GrpcExtractAdapter implements TextMapPropagator.Getter<Metadata> {
public static final GrpcExtractAdapter GETTER = new GrpcExtractAdapter();

View File

@ -16,10 +16,10 @@
package io.opentelemetry.instrumentation.auto.httpurlconnection;
import io.opentelemetry.context.propagation.HttpTextFormat;
import io.opentelemetry.context.propagation.TextMapPropagator;
import java.net.HttpURLConnection;
public class HeadersInjectAdapter implements HttpTextFormat.Setter<HttpURLConnection> {
public class HeadersInjectAdapter implements TextMapPropagator.Setter<HttpURLConnection> {
public static final HeadersInjectAdapter SETTER = new HeadersInjectAdapter();

View File

@ -18,7 +18,7 @@ package io.opentelemetry.instrumentation.auto.httpurlconnection;
import static io.opentelemetry.instrumentation.auto.httpurlconnection.HeadersInjectAdapter.SETTER;
import io.opentelemetry.context.propagation.HttpTextFormat.Setter;
import io.opentelemetry.context.propagation.TextMapPropagator.Setter;
import io.opentelemetry.instrumentation.api.tracer.HttpClientTracer;
import java.net.HttpURLConnection;
import java.net.URI;

View File

@ -17,9 +17,9 @@
package io.opentelemetry.instrumentation.auto.jaxrsclient.v1_1;
import com.sun.jersey.api.client.ClientRequest;
import io.opentelemetry.context.propagation.HttpTextFormat;
import io.opentelemetry.context.propagation.TextMapPropagator;
public final class InjectAdapter implements HttpTextFormat.Setter<ClientRequest> {
public final class InjectAdapter implements TextMapPropagator.Setter<ClientRequest> {
public static final InjectAdapter SETTER = new InjectAdapter();

View File

@ -20,7 +20,7 @@ import static io.opentelemetry.instrumentation.auto.jaxrsclient.v1_1.InjectAdapt
import com.sun.jersey.api.client.ClientRequest;
import com.sun.jersey.api.client.ClientResponse;
import io.opentelemetry.context.propagation.HttpTextFormat.Setter;
import io.opentelemetry.context.propagation.TextMapPropagator.Setter;
import io.opentelemetry.instrumentation.api.tracer.HttpClientTracer;
import java.net.URI;

View File

@ -16,10 +16,10 @@
package io.opentelemetry.instrumentation.auto.jaxrsclient.v2_0;
import io.opentelemetry.context.propagation.HttpTextFormat;
import io.opentelemetry.context.propagation.TextMapPropagator;
import javax.ws.rs.client.ClientRequestContext;
public final class InjectAdapter implements HttpTextFormat.Setter<ClientRequestContext> {
public final class InjectAdapter implements TextMapPropagator.Setter<ClientRequestContext> {
public static final InjectAdapter SETTER = new InjectAdapter();

View File

@ -18,7 +18,7 @@ package io.opentelemetry.instrumentation.auto.jaxrsclient.v2_0;
import static io.opentelemetry.instrumentation.auto.jaxrsclient.v2_0.InjectAdapter.SETTER;
import io.opentelemetry.context.propagation.HttpTextFormat.Setter;
import io.opentelemetry.context.propagation.TextMapPropagator.Setter;
import io.opentelemetry.instrumentation.api.tracer.HttpClientTracer;
import java.net.URI;
import javax.ws.rs.client.ClientRequestContext;

View File

@ -110,7 +110,7 @@ public final class JMSMessageProducerInstrumentation extends Instrumenter.Defaul
DECORATE.afterStart(span, spanName, message);
Context context = withSpan(span, Context.current());
OpenTelemetry.getPropagators().getHttpTextFormat().inject(context, message, SETTER);
OpenTelemetry.getPropagators().getTextMapPropagator().inject(context, message, SETTER);
return new SpanWithScope(span, currentContextWith(span));
}
@ -148,7 +148,7 @@ public final class JMSMessageProducerInstrumentation extends Instrumenter.Defaul
DECORATE.afterStart(span, spanName, message);
Context context = withSpan(span, Context.current());
OpenTelemetry.getPropagators().getHttpTextFormat().inject(context, message, SETTER);
OpenTelemetry.getPropagators().getTextMapPropagator().inject(context, message, SETTER);
return new SpanWithScope(span, currentContextWith(span));
}

View File

@ -16,11 +16,11 @@
package io.opentelemetry.instrumentation.auto.jms;
import io.opentelemetry.context.propagation.HttpTextFormat;
import io.opentelemetry.context.propagation.TextMapPropagator;
import javax.jms.JMSException;
import javax.jms.Message;
public class MessageExtractAdapter implements HttpTextFormat.Getter<Message> {
public class MessageExtractAdapter implements TextMapPropagator.Getter<Message> {
public static final MessageExtractAdapter GETTER = new MessageExtractAdapter();

View File

@ -16,13 +16,13 @@
package io.opentelemetry.instrumentation.auto.jms;
import io.opentelemetry.context.propagation.HttpTextFormat;
import io.opentelemetry.context.propagation.TextMapPropagator;
import javax.jms.JMSException;
import javax.jms.Message;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class MessageInjectAdapter implements HttpTextFormat.Setter<Message> {
public class MessageInjectAdapter implements TextMapPropagator.Setter<Message> {
private static final Logger log = LoggerFactory.getLogger(MessageInjectAdapter.class);

View File

@ -112,7 +112,7 @@ public final class KafkaProducerInstrumentation extends Instrumenter.Default {
Context context = withSpan(span, Context.current());
try {
OpenTelemetry.getPropagators()
.getHttpTextFormat()
.getTextMapPropagator()
.inject(context, record.headers(), SETTER);
} catch (IllegalStateException e) {
// headers must be read-only from reused record. try again with new one.
@ -126,7 +126,7 @@ public final class KafkaProducerInstrumentation extends Instrumenter.Default {
record.headers());
OpenTelemetry.getPropagators()
.getHttpTextFormat()
.getTextMapPropagator()
.inject(context, record.headers(), SETTER);
}
}

View File

@ -16,12 +16,12 @@
package io.opentelemetry.instrumentation.auto.kafkaclients;
import io.opentelemetry.context.propagation.HttpTextFormat;
import io.opentelemetry.context.propagation.TextMapPropagator;
import java.nio.charset.StandardCharsets;
import org.apache.kafka.common.header.Header;
import org.apache.kafka.common.header.Headers;
public class TextMapExtractAdapter implements HttpTextFormat.Getter<Headers> {
public class TextMapExtractAdapter implements TextMapPropagator.Getter<Headers> {
public static final TextMapExtractAdapter GETTER = new TextMapExtractAdapter();

View File

@ -16,11 +16,11 @@
package io.opentelemetry.instrumentation.auto.kafkaclients;
import io.opentelemetry.context.propagation.HttpTextFormat;
import io.opentelemetry.context.propagation.TextMapPropagator;
import java.nio.charset.StandardCharsets;
import org.apache.kafka.common.header.Headers;
public class TextMapInjectAdapter implements HttpTextFormat.Setter<Headers> {
public class TextMapInjectAdapter implements TextMapPropagator.Setter<Headers> {
public static final TextMapInjectAdapter SETTER = new TextMapInjectAdapter();

View File

@ -16,12 +16,12 @@
package io.opentelemetry.instrumentation.auto.kafkastreams;
import io.opentelemetry.context.propagation.HttpTextFormat;
import io.opentelemetry.context.propagation.TextMapPropagator;
import java.nio.charset.StandardCharsets;
import org.apache.kafka.common.header.Header;
import org.apache.kafka.common.header.Headers;
public class TextMapExtractAdapter implements HttpTextFormat.Getter<Headers> {
public class TextMapExtractAdapter implements TextMapPropagator.Getter<Headers> {
public static final TextMapExtractAdapter GETTER = new TextMapExtractAdapter();

View File

@ -20,7 +20,7 @@ import static io.opentelemetry.trace.TracingContextUtils.getSpan
import io.grpc.Context
import io.opentelemetry.auto.test.AgentTestRunner
import io.opentelemetry.context.propagation.HttpTextFormat
import io.opentelemetry.context.propagation.TextMapPropagator
import io.opentelemetry.trace.propagation.HttpTraceContext
import java.util.concurrent.LinkedBlockingQueue
import java.util.concurrent.TimeUnit
@ -196,7 +196,7 @@ class KafkaStreamsTest extends AgentTestRunner {
def headers = received.headers()
headers.iterator().hasNext()
def traceparent = new String(headers.headers("traceparent").iterator().next().value())
Context context = new HttpTraceContext().extract(Context.ROOT, "", new HttpTextFormat.Getter<String>() {
Context context = new HttpTraceContext().extract(Context.ROOT, "", new TextMapPropagator.Getter<String>() {
@Override
String get(String carrier, String key) {
if (key == "traceparent") {

View File

@ -16,11 +16,11 @@
package io.opentelemetry.instrumentation.auto.khttp;
import io.opentelemetry.context.propagation.HttpTextFormat;
import io.opentelemetry.context.propagation.TextMapPropagator;
import java.util.HashMap;
import java.util.Map;
public class KHttpHeadersInjectAdapter implements HttpTextFormat.Setter<Map<String, String>> {
public class KHttpHeadersInjectAdapter implements TextMapPropagator.Setter<Map<String, String>> {
public static Map<String, String> asWritable(Map<String, String> headers) {
// Kotlin likes to use read-only data structures, so wrap into new writable map

View File

@ -18,7 +18,7 @@ package io.opentelemetry.instrumentation.auto.khttp;
import static io.opentelemetry.instrumentation.auto.khttp.KHttpHeadersInjectAdapter.SETTER;
import io.opentelemetry.context.propagation.HttpTextFormat.Setter;
import io.opentelemetry.context.propagation.TextMapPropagator.Setter;
import io.opentelemetry.instrumentation.api.tracer.HttpClientTracer;
import io.opentelemetry.instrumentation.auto.api.CallDepthThreadLocalMap;
import io.opentelemetry.instrumentation.auto.api.CallDepthThreadLocalMap.Depth;

View File

@ -18,7 +18,7 @@ package io.opentelemetry.instrumentation.auto.kubernetesclient;
import static io.opentelemetry.trace.Span.Kind.CLIENT;
import io.opentelemetry.context.propagation.HttpTextFormat.Setter;
import io.opentelemetry.context.propagation.TextMapPropagator.Setter;
import io.opentelemetry.instrumentation.api.tracer.HttpClientTracer;
import io.opentelemetry.trace.Span;
import java.net.URI;

View File

@ -23,7 +23,7 @@ import static org.jboss.netty.handler.codec.http.HttpHeaders.Names.HOST;
import io.grpc.Context;
import io.opentelemetry.context.Scope;
import io.opentelemetry.context.propagation.HttpTextFormat.Setter;
import io.opentelemetry.context.propagation.TextMapPropagator.Setter;
import io.opentelemetry.instrumentation.api.tracer.HttpClientTracer;
import io.opentelemetry.trace.Span;
import java.net.URI;

View File

@ -16,10 +16,10 @@
package io.opentelemetry.instrumentation.auto.netty.v3_8.client;
import io.opentelemetry.context.propagation.HttpTextFormat;
import io.opentelemetry.context.propagation.TextMapPropagator;
import org.jboss.netty.handler.codec.http.HttpHeaders;
public class NettyResponseInjectAdapter implements HttpTextFormat.Setter<HttpHeaders> {
public class NettyResponseInjectAdapter implements TextMapPropagator.Setter<HttpHeaders> {
public static final NettyResponseInjectAdapter SETTER = new NettyResponseInjectAdapter();

View File

@ -19,7 +19,7 @@ package io.opentelemetry.instrumentation.auto.netty.v3_8.server;
import static org.jboss.netty.handler.codec.http.HttpHeaders.Names.HOST;
import io.grpc.Context;
import io.opentelemetry.context.propagation.HttpTextFormat.Getter;
import io.opentelemetry.context.propagation.TextMapPropagator.Getter;
import io.opentelemetry.instrumentation.api.tracer.HttpServerTracer;
import io.opentelemetry.instrumentation.auto.netty.v3_8.ChannelTraceContext;
import java.net.InetSocketAddress;

View File

@ -16,10 +16,10 @@
package io.opentelemetry.instrumentation.auto.netty.v3_8.server;
import io.opentelemetry.context.propagation.HttpTextFormat;
import io.opentelemetry.context.propagation.TextMapPropagator;
import org.jboss.netty.handler.codec.http.HttpRequest;
public class NettyRequestExtractAdapter implements HttpTextFormat.Getter<HttpRequest> {
public class NettyRequestExtractAdapter implements TextMapPropagator.Getter<HttpRequest> {
public static final NettyRequestExtractAdapter GETTER = new NettyRequestExtractAdapter();

View File

@ -26,7 +26,7 @@ import io.netty.handler.codec.http.HttpHeaders;
import io.netty.handler.codec.http.HttpRequest;
import io.netty.handler.codec.http.HttpResponse;
import io.opentelemetry.context.Scope;
import io.opentelemetry.context.propagation.HttpTextFormat.Setter;
import io.opentelemetry.context.propagation.TextMapPropagator.Setter;
import io.opentelemetry.instrumentation.api.tracer.HttpClientTracer;
import io.opentelemetry.trace.Span;
import java.net.URI;

View File

@ -17,9 +17,9 @@
package io.opentelemetry.instrumentation.auto.netty.v4_0.client;
import io.netty.handler.codec.http.HttpHeaders;
import io.opentelemetry.context.propagation.HttpTextFormat;
import io.opentelemetry.context.propagation.TextMapPropagator;
public class NettyResponseInjectAdapter implements HttpTextFormat.Setter<HttpHeaders> {
public class NettyResponseInjectAdapter implements TextMapPropagator.Setter<HttpHeaders> {
public static final NettyResponseInjectAdapter SETTER = new NettyResponseInjectAdapter();

View File

@ -22,7 +22,7 @@ import io.grpc.Context;
import io.netty.channel.Channel;
import io.netty.handler.codec.http.HttpRequest;
import io.netty.handler.codec.http.HttpResponse;
import io.opentelemetry.context.propagation.HttpTextFormat.Getter;
import io.opentelemetry.context.propagation.TextMapPropagator.Getter;
import io.opentelemetry.instrumentation.api.tracer.HttpServerTracer;
import io.opentelemetry.instrumentation.auto.netty.v4_0.AttributeKeys;
import java.net.InetSocketAddress;

View File

@ -17,9 +17,9 @@
package io.opentelemetry.instrumentation.auto.netty.v4_0.server;
import io.netty.handler.codec.http.HttpRequest;
import io.opentelemetry.context.propagation.HttpTextFormat;
import io.opentelemetry.context.propagation.TextMapPropagator;
public class NettyRequestExtractAdapter implements HttpTextFormat.Getter<HttpRequest> {
public class NettyRequestExtractAdapter implements TextMapPropagator.Getter<HttpRequest> {
public static final NettyRequestExtractAdapter GETTER = new NettyRequestExtractAdapter();

View File

@ -22,7 +22,7 @@ import static io.opentelemetry.instrumentation.auto.netty.v4_1.client.NettyRespo
import io.netty.handler.codec.http.HttpHeaders;
import io.netty.handler.codec.http.HttpRequest;
import io.netty.handler.codec.http.HttpResponse;
import io.opentelemetry.context.propagation.HttpTextFormat.Setter;
import io.opentelemetry.context.propagation.TextMapPropagator.Setter;
import io.opentelemetry.instrumentation.api.tracer.HttpClientTracer;
import java.net.URI;
import java.net.URISyntaxException;

View File

@ -17,9 +17,9 @@
package io.opentelemetry.instrumentation.auto.netty.v4_1.client;
import io.netty.handler.codec.http.HttpHeaders;
import io.opentelemetry.context.propagation.HttpTextFormat;
import io.opentelemetry.context.propagation.TextMapPropagator;
public class NettyResponseInjectAdapter implements HttpTextFormat.Setter<HttpHeaders> {
public class NettyResponseInjectAdapter implements TextMapPropagator.Setter<HttpHeaders> {
public static final NettyResponseInjectAdapter SETTER = new NettyResponseInjectAdapter();

View File

@ -22,7 +22,7 @@ import io.grpc.Context;
import io.netty.channel.Channel;
import io.netty.handler.codec.http.HttpRequest;
import io.netty.handler.codec.http.HttpResponse;
import io.opentelemetry.context.propagation.HttpTextFormat.Getter;
import io.opentelemetry.context.propagation.TextMapPropagator.Getter;
import io.opentelemetry.instrumentation.api.tracer.HttpServerTracer;
import io.opentelemetry.instrumentation.auto.netty.v4_1.AttributeKeys;
import java.net.InetSocketAddress;

View File

@ -17,9 +17,9 @@
package io.opentelemetry.instrumentation.auto.netty.v4_1.server;
import io.netty.handler.codec.http.HttpRequest;
import io.opentelemetry.context.propagation.HttpTextFormat;
import io.opentelemetry.context.propagation.TextMapPropagator;
public class NettyRequestExtractAdapter implements HttpTextFormat.Getter<HttpRequest> {
public class NettyRequestExtractAdapter implements TextMapPropagator.Getter<HttpRequest> {
public static final NettyRequestExtractAdapter GETTER = new NettyRequestExtractAdapter();

View File

@ -20,7 +20,7 @@ import static io.opentelemetry.instrumentation.auto.okhttp.v2_2.RequestBuilderIn
import com.squareup.okhttp.Request;
import com.squareup.okhttp.Response;
import io.opentelemetry.context.propagation.HttpTextFormat.Setter;
import io.opentelemetry.context.propagation.TextMapPropagator.Setter;
import io.opentelemetry.instrumentation.api.tracer.HttpClientTracer;
import java.net.URI;
import java.net.URISyntaxException;

View File

@ -17,9 +17,9 @@
package io.opentelemetry.instrumentation.auto.okhttp.v2_2;
import com.squareup.okhttp.Request;
import io.opentelemetry.context.propagation.HttpTextFormat;
import io.opentelemetry.context.propagation.TextMapPropagator;
public class RequestBuilderInjectAdapter implements HttpTextFormat.Setter<Request.Builder> {
public class RequestBuilderInjectAdapter implements TextMapPropagator.Setter<Request.Builder> {
public static final RequestBuilderInjectAdapter SETTER = new RequestBuilderInjectAdapter();
@Override

View File

@ -18,7 +18,7 @@ package io.opentelemetry.instrumentation.auto.okhttp.v3_0;
import static io.opentelemetry.instrumentation.auto.okhttp.v3_0.RequestBuilderInjectAdapter.SETTER;
import io.opentelemetry.context.propagation.HttpTextFormat.Setter;
import io.opentelemetry.context.propagation.TextMapPropagator.Setter;
import io.opentelemetry.instrumentation.api.tracer.HttpClientTracer;
import java.net.URI;
import okhttp3.Request;

View File

@ -16,7 +16,7 @@
package io.opentelemetry.instrumentation.auto.okhttp.v3_0;
import io.opentelemetry.context.propagation.HttpTextFormat;
import io.opentelemetry.context.propagation.TextMapPropagator;
import okhttp3.Request;
/**
@ -24,7 +24,7 @@ import okhttp3.Request;
*
* @author Pavol Loffay
*/
public class RequestBuilderInjectAdapter implements HttpTextFormat.Setter<Request.Builder> {
public class RequestBuilderInjectAdapter implements TextMapPropagator.Setter<Request.Builder> {
public static final RequestBuilderInjectAdapter SETTER = new RequestBuilderInjectAdapter();

View File

@ -33,9 +33,9 @@ public abstract class AbstractInstrumentation extends Instrumenter.Default {
packageName + ".context.ApplicationScope",
packageName + ".context.NoopScope",
packageName + ".context.propagation.ApplicationContextPropagators",
packageName + ".context.propagation.ApplicationHttpTextFormat",
packageName + ".context.propagation.ApplicationHttpTextFormat$AgentSetter",
packageName + ".context.propagation.ApplicationHttpTextFormat$AgentGetter",
packageName + ".context.propagation.ApplicationTextMapPropagator",
packageName + ".context.propagation.ApplicationTextMapPropagator$AgentSetter",
packageName + ".context.propagation.ApplicationTextMapPropagator$AgentGetter",
packageName + ".metrics.ApplicationBatchRecorder",
packageName + ".metrics.ApplicationDoubleCounter",
packageName + ".metrics.ApplicationDoubleCounter$BoundInstrument",

View File

@ -18,22 +18,22 @@ package io.opentelemetry.instrumentation.auto.opentelemetryapi.context.propagati
import application.io.grpc.Context;
import application.io.opentelemetry.context.propagation.ContextPropagators;
import application.io.opentelemetry.context.propagation.HttpTextFormat;
import application.io.opentelemetry.context.propagation.TextMapPropagator;
import io.opentelemetry.OpenTelemetry;
import io.opentelemetry.instrumentation.auto.api.ContextStore;
public class ApplicationContextPropagators implements ContextPropagators {
private final ApplicationHttpTextFormat applicationHttpTextFormat;
private final ApplicationTextMapPropagator applicationTextMapPropagator;
public ApplicationContextPropagators(ContextStore<Context, io.grpc.Context> contextStore) {
applicationHttpTextFormat =
new ApplicationHttpTextFormat(
OpenTelemetry.getPropagators().getHttpTextFormat(), contextStore);
applicationTextMapPropagator =
new ApplicationTextMapPropagator(
OpenTelemetry.getPropagators().getTextMapPropagator(), contextStore);
}
@Override
public HttpTextFormat getHttpTextFormat() {
return applicationHttpTextFormat;
public TextMapPropagator getTextMapPropagator() {
return applicationTextMapPropagator;
}
}

View File

@ -17,34 +17,34 @@
package io.opentelemetry.instrumentation.auto.opentelemetryapi.context.propagation;
import application.io.grpc.Context;
import application.io.opentelemetry.context.propagation.HttpTextFormat;
import application.io.opentelemetry.context.propagation.TextMapPropagator;
import io.opentelemetry.instrumentation.auto.api.ContextStore;
import java.util.List;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
class ApplicationHttpTextFormat implements HttpTextFormat {
class ApplicationTextMapPropagator implements TextMapPropagator {
private static final Logger log = LoggerFactory.getLogger(ApplicationHttpTextFormat.class);
private static final Logger log = LoggerFactory.getLogger(ApplicationTextMapPropagator.class);
private final io.opentelemetry.context.propagation.HttpTextFormat agentHttpTextFormat;
private final io.opentelemetry.context.propagation.TextMapPropagator agentTextMapPropagator;
private final ContextStore<Context, io.grpc.Context> contextStore;
ApplicationHttpTextFormat(
io.opentelemetry.context.propagation.HttpTextFormat agentHttpTextFormat,
ApplicationTextMapPropagator(
io.opentelemetry.context.propagation.TextMapPropagator agentTextMapPropagator,
ContextStore<Context, io.grpc.Context> contextStore) {
this.agentHttpTextFormat = agentHttpTextFormat;
this.agentTextMapPropagator = agentTextMapPropagator;
this.contextStore = contextStore;
}
@Override
public List<String> fields() {
return agentHttpTextFormat.fields();
return agentTextMapPropagator.fields();
}
@Override
public <C> Context extract(
Context applicationContext, C carrier, HttpTextFormat.Getter<C> applicationGetter) {
Context applicationContext, C carrier, TextMapPropagator.Getter<C> applicationGetter) {
io.grpc.Context agentContext = contextStore.get(applicationContext);
if (agentContext == null) {
if (log.isDebugEnabled()) {
@ -54,7 +54,7 @@ class ApplicationHttpTextFormat implements HttpTextFormat {
return applicationContext;
}
io.grpc.Context agentUpdatedContext =
agentHttpTextFormat.extract(agentContext, carrier, new AgentGetter<>(applicationGetter));
agentTextMapPropagator.extract(agentContext, carrier, new AgentGetter<>(applicationGetter));
if (agentUpdatedContext == agentContext) {
return applicationContext;
}
@ -64,7 +64,7 @@ class ApplicationHttpTextFormat implements HttpTextFormat {
@Override
public <C> void inject(
Context applicationContext, C carrier, HttpTextFormat.Setter<C> applicationSetter) {
Context applicationContext, C carrier, TextMapPropagator.Setter<C> applicationSetter) {
io.grpc.Context agentContext = contextStore.get(applicationContext);
if (agentContext == null) {
if (log.isDebugEnabled()) {
@ -73,15 +73,15 @@ class ApplicationHttpTextFormat implements HttpTextFormat {
}
return;
}
agentHttpTextFormat.inject(agentContext, carrier, new AgentSetter<>(applicationSetter));
agentTextMapPropagator.inject(agentContext, carrier, new AgentSetter<>(applicationSetter));
}
private static class AgentGetter<C>
implements io.opentelemetry.context.propagation.HttpTextFormat.Getter<C> {
implements io.opentelemetry.context.propagation.TextMapPropagator.Getter<C> {
private final HttpTextFormat.Getter<C> applicationGetter;
private final TextMapPropagator.Getter<C> applicationGetter;
AgentGetter(HttpTextFormat.Getter<C> applicationGetter) {
AgentGetter(TextMapPropagator.Getter<C> applicationGetter) {
this.applicationGetter = applicationGetter;
}
@ -92,9 +92,9 @@ class ApplicationHttpTextFormat implements HttpTextFormat {
}
private static class AgentSetter<C>
implements io.opentelemetry.context.propagation.HttpTextFormat.Setter<C> {
implements io.opentelemetry.context.propagation.TextMapPropagator.Setter<C> {
private final HttpTextFormat.Setter<C> applicationSetter;
private final TextMapPropagator.Setter<C> applicationSetter;
AgentSetter(Setter<C> applicationSetter) {
this.applicationSetter = applicationSetter;

View File

@ -37,6 +37,11 @@ class ApplicationDoubleCounter implements DoubleCounter {
agentDoubleCounter.add(delta, LabelBridging.toAgent(labels));
}
@Override
public void add(double v) {
agentDoubleCounter.add(v);
}
@Override
public BoundDoubleCounter bind(Labels labels) {
return new BoundInstrument(agentDoubleCounter.bind(LabelBridging.toAgent(labels)));

View File

@ -38,6 +38,11 @@ class ApplicationDoubleUpDownCounter implements DoubleUpDownCounter {
agentDoubleUpDownCounter.add(delta, LabelBridging.toAgent(labels));
}
@Override
public void add(double v) {
agentDoubleUpDownCounter.add(v);
}
@Override
public BoundDoubleUpDownCounter bind(Labels labels) {
return new BoundInstrument(agentDoubleUpDownCounter.bind(LabelBridging.toAgent(labels)));

View File

@ -38,6 +38,11 @@ class ApplicationDoubleValueRecorder implements DoubleValueRecorder {
agentDoubleValueRecorder.record(delta, LabelBridging.toAgent(labels));
}
@Override
public void record(double v) {
agentDoubleValueRecorder.record(v);
}
@Override
public BoundDoubleValueRecorder bind(Labels labels) {
return new BoundInstrument(agentDoubleValueRecorder.bind(LabelBridging.toAgent(labels)));

View File

@ -37,6 +37,11 @@ class ApplicationLongCounter implements LongCounter {
agentLongCounter.add(delta, LabelBridging.toAgent(labels));
}
@Override
public void add(long l) {
agentLongCounter.add(l);
}
@Override
public BoundLongCounter bind(Labels labels) {
return new BoundInstrument(agentLongCounter.bind(LabelBridging.toAgent(labels)));

View File

@ -37,6 +37,11 @@ class ApplicationLongUpDownCounter implements LongUpDownCounter {
agentLongUpDownCounter.add(delta, LabelBridging.toAgent(labels));
}
@Override
public void add(long l) {
agentLongUpDownCounter.add(l);
}
@Override
public BoundLongUpDownCounter bind(Labels labels) {
return new BoundInstrument(agentLongUpDownCounter.bind(LabelBridging.toAgent(labels)));

View File

@ -38,6 +38,11 @@ class ApplicationLongValueRecorder implements LongValueRecorder {
agentLongValueRecorder.record(delta, LabelBridging.toAgent(labels));
}
@Override
public void record(long l) {
agentLongValueRecorder.record(l);
}
@Override
public BoundLongValueRecorder bind(Labels labels) {
return new BoundInstrument(agentLongValueRecorder.bind(LabelBridging.toAgent(labels)));

View File

@ -16,10 +16,10 @@
package io.opentelemetry.instrumentation.auto.playws;
import io.opentelemetry.context.propagation.HttpTextFormat;
import io.opentelemetry.context.propagation.TextMapPropagator;
import play.shaded.ahc.io.netty.handler.codec.http.HttpHeaders;
public class HeadersInjectAdapter implements HttpTextFormat.Setter<HttpHeaders> {
public class HeadersInjectAdapter implements TextMapPropagator.Setter<HttpHeaders> {
public static final HeadersInjectAdapter SETTER = new HeadersInjectAdapter();

View File

@ -18,7 +18,7 @@ package io.opentelemetry.instrumentation.auto.playws;
import static io.opentelemetry.instrumentation.auto.playws.HeadersInjectAdapter.SETTER;
import io.opentelemetry.context.propagation.HttpTextFormat.Setter;
import io.opentelemetry.context.propagation.TextMapPropagator.Setter;
import io.opentelemetry.instrumentation.api.tracer.HttpClientTracer;
import java.net.URI;
import java.net.URISyntaxException;

View File

@ -197,7 +197,7 @@ public class RabbitChannelInstrumentation extends Instrumenter.Default {
Context context = withSpan(span, Context.current());
OpenTelemetry.getPropagators().getHttpTextFormat().inject(context, headers, SETTER);
OpenTelemetry.getPropagators().getTextMapPropagator().inject(context, headers, SETTER);
props =
new AMQP.BasicProperties(

View File

@ -16,10 +16,10 @@
package io.opentelemetry.instrumentation.auto.rabbitmq.amqp;
import io.opentelemetry.context.propagation.HttpTextFormat;
import io.opentelemetry.context.propagation.TextMapPropagator;
import java.util.Map;
public class TextMapExtractAdapter implements HttpTextFormat.Getter<Map<String, Object>> {
public class TextMapExtractAdapter implements TextMapPropagator.Getter<Map<String, Object>> {
public static final TextMapExtractAdapter GETTER = new TextMapExtractAdapter();

View File

@ -16,10 +16,10 @@
package io.opentelemetry.instrumentation.auto.rabbitmq.amqp;
import io.opentelemetry.context.propagation.HttpTextFormat;
import io.opentelemetry.context.propagation.TextMapPropagator;
import java.util.Map;
public class TextMapInjectAdapter implements HttpTextFormat.Setter<Map<String, Object>> {
public class TextMapInjectAdapter implements TextMapPropagator.Setter<Map<String, Object>> {
public static final TextMapInjectAdapter SETTER = new TextMapInjectAdapter();

View File

@ -20,7 +20,7 @@ import static io.opentelemetry.trace.TracingContextUtils.withSpan;
import io.grpc.Context;
import io.opentelemetry.OpenTelemetry;
import io.opentelemetry.context.propagation.HttpTextFormat;
import io.opentelemetry.context.propagation.TextMapPropagator;
import io.opentelemetry.trace.Span;
import io.opentelemetry.trace.Tracer;
import java.io.IOException;
@ -53,7 +53,7 @@ public class ContextPayload {
public static ContextPayload from(Span span) {
ContextPayload payload = new ContextPayload();
Context context = withSpan(span, Context.current());
OpenTelemetry.getPropagators().getHttpTextFormat().inject(context, payload, SETTER);
OpenTelemetry.getPropagators().getTextMapPropagator().inject(context, payload, SETTER);
return payload;
}
@ -78,14 +78,14 @@ public class ContextPayload {
out.writeObject(context);
}
public static class ExtractAdapter implements HttpTextFormat.Getter<ContextPayload> {
public static class ExtractAdapter implements TextMapPropagator.Getter<ContextPayload> {
@Override
public String get(ContextPayload carrier, String key) {
return carrier.getContext().get(key);
}
}
public static class InjectAdapter implements HttpTextFormat.Setter<ContextPayload> {
public static class InjectAdapter implements TextMapPropagator.Setter<ContextPayload> {
@Override
public void set(ContextPayload carrier, String key, String value) {
carrier.getContext().put(key, value);

View File

@ -209,7 +209,7 @@ public class MainServiceController {
6. Configure `HttpUtils.callEndpoint` to inject span context into request. This is key to propagate the trace to the TimeService
HttpUtils is a helper class that injects the current span context into outgoing requests. This involves adding the tracer id and the trace-state to a request header. For this example, we used `RestTemplate` to send requests from `MainService` to `TimeService`. A similar approach can be used with popular Java Web Clients such as [okhttp](https://square.github.io/okhttp/) and [apache http client](https://www.tutorialspoint.com/apache_httpclient/apache_httpclient_quick_guide.htm). The key to this implementation is to override the put method in `HttpTextFormat.Setter<?>` to handle your request format. `HttpTextFormat.inject` will use this setter to set `traceparent` and `tracestate` headers in your requests. These values will be used to propagate your span context to external services.
HttpUtils is a helper class that injects the current span context into outgoing requests. This involves adding the tracer id and the trace-state to a request header. For this example, we used `RestTemplate` to send requests from `MainService` to `TimeService`. A similar approach can be used with popular Java Web Clients such as [okhttp](https://square.github.io/okhttp/) and [apache http client](https://www.tutorialspoint.com/apache_httpclient/apache_httpclient_quick_guide.htm). The key to this implementation is to override the put method in `TextMapPropagator.Setter<?>` to handle your request format. `TextMapPropagator.inject` will use this setter to set `traceparent` and `tracestate` headers in your requests. These values will be used to propagate your span context to external services.
```java
@ -223,7 +223,7 @@ import org.springframework.web.client.RestTemplate;
import io.grpc.Context;
import io.opentelemetry.context.propagation.HttpTextFormat;
import io.opentelemetry.context.propagation.TextMapPropagator;
import io.opentelemetry.trace.Span;
import io.opentelemetry.trace.SpanContext;
import io.opentelemetry.trace.Tracer;
@ -231,7 +231,7 @@ import io.opentelemetry.trace.Tracer;
@Component
public class HttpUtils {
private static final HttpTextFormat.Setter<HttpHeaders> setter = new HttpTextFormat.Setter<HttpHeaders>() {
private static final TextMapPropagator.Setter<HttpHeaders> setter = new TextMapPropagator.Setter<HttpHeaders>() {
@Override
public void set(HttpHeaders headers, String key, String value) {
headers.set(key, value);
@ -241,10 +241,10 @@ public class HttpUtils {
@Autowired
private Tracer tracer;
private HttpTextFormat<SpanContext> textFormat;
private TextMapPropagator<SpanContext> textFormat;
public HttpUtils(Tracer tracer) {
textFormat = tracer.getHttpTextFormat();
textFormat = tracer.getTextMapPropagator();
}
public String callEndpoint(String url) throws Exception {
@ -400,8 +400,8 @@ public class ControllerFilter implements Filter {
@Autowired
Tracer tracer;
private final HttpTextFormat.Getter<HttpServletRequest> GETTER =
new HttpTextFormat.Getter<HttpServletRequest>() {
private final TextMapPropagator.Getter<HttpServletRequest> GETTER =
new TextMapPropagator.Getter<HttpServletRequest>() {
public String get(HttpServletRequest req, String key) {
return req.getHeader(key);
}
@ -415,7 +415,7 @@ public class ControllerFilter implements Filter {
HttpServletRequest req = (HttpServletRequest) request;
Span currentSpan;
try (Scope scope = tracer.withSpan(currentSpan)) {
Context context = OpenTelemetry.getPropagators().getHttpTextFormat()
Context context = OpenTelemetry.getPropagators().getTextMapPropagator()
.extract(Context.current(), req, GETTER);
currentSpan = createSpanWithParent(req, context);
currentSpan.addEvent("dofilter");
@ -513,7 +513,7 @@ import org.springframework.http.client.ClientHttpRequestInterceptor;
import org.springframework.http.client.ClientHttpResponse;
import org.springframework.stereotype.Component;
import io.opentelemetry.OpenTelemetry;
import io.opentelemetry.context.propagation.HttpTextFormat;
import io.opentelemetry.context.propagation.TextMapPropagator;
import io.opentelemetry.trace.Span;
import io.opentelemetry.trace.Tracer;
@ -523,8 +523,8 @@ public class RestTemplateInterceptor implements ClientHttpRequestInterceptor {
@Autowired
private Tracer tracer;
private static final HttpTextFormat.Setter<HttpRequest> setter =
new HttpTextFormat.Setter<HttpRequest>() {
private static final TextMapPropagator.Setter<HttpRequest> setter =
new TextMapPropagator.Setter<HttpRequest>() {
@Override
public void set(HttpRequest carrier, String key, String value) {
carrier.getHeaders().set(key, value);
@ -540,7 +540,7 @@ public class RestTemplateInterceptor implements ClientHttpRequestInterceptor {
Span currentSpan = tracer.spanBuilder(spanName).setSpanKind(Span.Kind.CLIENT).startSpan();
try (Scope scope = tracer.withSpan(currentSpan)) {
OpenTelemetry.getPropagators().getHttpTextFormat().inject(Context.current(), request, setter);
OpenTelemetry.getPropagators().getTextMapPropagator().inject(Context.current(), request, setter);
ClientHttpResponse response = execution.execute(request, body);
LOG.info(String.format("Request sent from RestTemplateInterceptor"));

View File

@ -16,10 +16,10 @@
package io.opentelemetry.instrumentation.spring.httpclients;
import io.opentelemetry.context.propagation.HttpTextFormat;
import io.opentelemetry.context.propagation.TextMapPropagator;
import org.springframework.http.HttpHeaders;
class HttpHeadersInjectAdapter implements HttpTextFormat.Setter<HttpHeaders> {
class HttpHeadersInjectAdapter implements TextMapPropagator.Setter<HttpHeaders> {
public static final HttpHeadersInjectAdapter SETTER = new HttpHeadersInjectAdapter();

View File

@ -18,7 +18,7 @@ package io.opentelemetry.instrumentation.spring.httpclients;
import static io.opentelemetry.instrumentation.spring.httpclients.HttpHeadersInjectAdapter.SETTER;
import io.opentelemetry.context.propagation.HttpTextFormat.Setter;
import io.opentelemetry.context.propagation.TextMapPropagator.Setter;
import io.opentelemetry.instrumentation.api.tracer.HttpClientTracer;
import java.io.IOException;
import java.net.URI;

View File

@ -16,10 +16,10 @@
package io.opentelemetry.instrumentation.spring.webflux.client;
import io.opentelemetry.context.propagation.HttpTextFormat;
import io.opentelemetry.context.propagation.TextMapPropagator;
import org.springframework.web.reactive.function.client.ClientRequest;
class HttpHeadersInjectAdapter implements HttpTextFormat.Setter<ClientRequest.Builder> {
class HttpHeadersInjectAdapter implements TextMapPropagator.Setter<ClientRequest.Builder> {
public static final HttpHeadersInjectAdapter SETTER = new HttpHeadersInjectAdapter();

View File

@ -18,7 +18,7 @@ package io.opentelemetry.instrumentation.spring.webflux.client;
import static io.opentelemetry.instrumentation.spring.webflux.client.HttpHeadersInjectAdapter.SETTER;
import io.opentelemetry.context.propagation.HttpTextFormat.Setter;
import io.opentelemetry.context.propagation.TextMapPropagator.Setter;
import io.opentelemetry.instrumentation.api.tracer.HttpClientTracer;
import io.opentelemetry.trace.Span;
import io.opentelemetry.trace.Tracer;

View File

@ -17,7 +17,7 @@
package io.opentelemetry.instrumentation.spring.webmvc;
import io.grpc.Context;
import io.opentelemetry.context.propagation.HttpTextFormat.Getter;
import io.opentelemetry.context.propagation.TextMapPropagator.Getter;
import io.opentelemetry.instrumentation.api.tracer.HttpServerTracer;
import io.opentelemetry.instrumentation.servlet.HttpServletRequestGetter;
import io.opentelemetry.trace.Tracer;

View File

@ -18,6 +18,7 @@ package io.opentelemetry.javaagent.exporters.logging;
import io.opentelemetry.common.AttributeValue;
import io.opentelemetry.common.ReadableKeyValuePairs.KeyValueConsumer;
import io.opentelemetry.sdk.common.export.CompletableResultCode;
import io.opentelemetry.sdk.trace.data.SpanData;
import io.opentelemetry.sdk.trace.export.SpanExporter;
import java.util.Collection;
@ -30,7 +31,7 @@ public class LoggingExporter implements SpanExporter {
}
@Override
public ResultCode export(Collection<SpanData> list) {
public CompletableResultCode export(Collection<SpanData> list) {
for (SpanData span : list) {
System.out.print(
prefix + " " + span.getName() + " " + span.getSpanId().toLowerBase16() + " ");
@ -59,12 +60,12 @@ public class LoggingExporter implements SpanExporter {
});
}
System.out.println();
return ResultCode.SUCCESS;
return CompletableResultCode.ofSuccess();
}
@Override
public ResultCode flush() {
return ResultCode.SUCCESS;
public CompletableResultCode flush() {
return CompletableResultCode.ofSuccess();
}
@Override

View File

@ -18,6 +18,7 @@ dependencies {
implementation project(':instrumentation-api')
implementation deps.opentelemetryApi
implementation deps.opentelemetryContextProp
implementation deps.opentelemetrySdk
implementation deps.opentelemetrySdkAutoConfig
implementation deps.opentelemetryTraceProps

View File

@ -19,7 +19,7 @@ package io.opentelemetry.javaagent.tooling;
import com.google.common.collect.ImmutableMap;
import io.opentelemetry.OpenTelemetry;
import io.opentelemetry.context.propagation.DefaultContextPropagators;
import io.opentelemetry.context.propagation.HttpTextFormat;
import io.opentelemetry.context.propagation.TextMapPropagator;
import io.opentelemetry.extensions.trace.propagation.AwsXRayPropagator;
import io.opentelemetry.extensions.trace.propagation.B3Propagator;
import io.opentelemetry.extensions.trace.propagation.JaegerPropagator;
@ -44,8 +44,8 @@ public class PropagatorsInitializer {
private static final String OT_TRACER = "ottracer";
private static final String XRAY = "xray";
private static final Map<String, HttpTextFormat> TEXTMAP_PROPAGATORS =
ImmutableMap.<String, HttpTextFormat>builder()
private static final Map<String, TextMapPropagator> TEXTMAP_PROPAGATORS =
ImmutableMap.<String, TextMapPropagator>builder()
.put(TRACE_CONTEXT, new HttpTraceContext())
.put(B3, B3Propagator.getMultipleHeaderPropagator())
.put(B3_SINGLE, B3Propagator.getSingleHeaderPropagator())
@ -63,9 +63,9 @@ public class PropagatorsInitializer {
DefaultContextPropagators.Builder propagatorsBuilder = DefaultContextPropagators.builder();
List<HttpTextFormat> textPropagators = new ArrayList<>(propagators.size());
List<TextMapPropagator> textPropagators = new ArrayList<>(propagators.size());
for (String propagatorId : propagators) {
HttpTextFormat textPropagator = TEXTMAP_PROPAGATORS.get(propagatorId.trim().toLowerCase());
TextMapPropagator textPropagator = TEXTMAP_PROPAGATORS.get(propagatorId.trim().toLowerCase());
if (textPropagator != null) {
textPropagators.add(textPropagator);
log.info("Added " + textPropagator + " propagator");
@ -75,12 +75,12 @@ public class PropagatorsInitializer {
}
if (textPropagators.size() > 1) {
Builder traceMultiPropagatorBuilder = TraceMultiPropagator.builder();
for (HttpTextFormat textPropagator : textPropagators) {
for (TextMapPropagator textPropagator : textPropagators) {
traceMultiPropagatorBuilder.addPropagator(textPropagator);
}
propagatorsBuilder.addHttpTextFormat(traceMultiPropagatorBuilder.build());
propagatorsBuilder.addTextMapPropagator(traceMultiPropagatorBuilder.build());
} else if (textPropagators.size() == 1) {
propagatorsBuilder.addHttpTextFormat(textPropagators.get(0));
propagatorsBuilder.addTextMapPropagator(textPropagators.get(0));
}
// Register it in the global propagators:
OpenTelemetry.setPropagators(propagatorsBuilder.build());

View File

@ -14,7 +14,7 @@
* limitations under the License.
*/
package io.opentelemetry.auto.typed.base;
package io.opentelemetry.javaagent.typed.base;
import io.opentelemetry.trace.EndSpanOptions;
import io.opentelemetry.trace.Span;

View File

@ -14,7 +14,7 @@
* limitations under the License.
*/
package io.opentelemetry.auto.typed.base;
package io.opentelemetry.javaagent.typed.base;
import static io.opentelemetry.trace.TracingContextUtils.currentContextWith;

View File

@ -14,7 +14,7 @@
* limitations under the License.
*/
package io.opentelemetry.auto.typed.base;
package io.opentelemetry.javaagent.typed.base;
import io.opentelemetry.common.AttributeValue;
import io.opentelemetry.common.Attributes;

View File

@ -14,9 +14,9 @@
* limitations under the License.
*/
package io.opentelemetry.auto.typed.client;
package io.opentelemetry.javaagent.typed.client;
import io.opentelemetry.auto.typed.base.BaseTypedSpan;
import io.opentelemetry.javaagent.typed.base.BaseTypedSpan;
import io.opentelemetry.trace.Span;
public abstract class ClientTypedSpan<T extends ClientTypedSpan, REQUEST, RESPONSE>

View File

@ -14,9 +14,9 @@
* limitations under the License.
*/
package io.opentelemetry.auto.typed.client;
package io.opentelemetry.javaagent.typed.client;
import io.opentelemetry.auto.typed.base.BaseTypedTracer;
import io.opentelemetry.javaagent.typed.base.BaseTypedTracer;
import io.opentelemetry.trace.Span;
public abstract class ClientTypedTracer<

View File

@ -14,9 +14,9 @@
* limitations under the License.
*/
package io.opentelemetry.auto.typed.client.http;
package io.opentelemetry.javaagent.typed.client.http;
import io.opentelemetry.auto.typed.client.ClientTypedSpan;
import io.opentelemetry.javaagent.typed.client.ClientTypedSpan;
import io.opentelemetry.trace.Span;
public abstract class HttpClientTypedSpan<T extends HttpClientTypedSpan, REQUEST, RESPONSE>

View File

@ -14,12 +14,12 @@
* limitations under the License.
*/
package io.opentelemetry.auto.typed.client.http;
package io.opentelemetry.javaagent.typed.client.http;
import io.grpc.Context;
import io.opentelemetry.OpenTelemetry;
import io.opentelemetry.auto.typed.client.ClientTypedTracer;
import io.opentelemetry.context.propagation.HttpTextFormat;
import io.opentelemetry.context.propagation.TextMapPropagator;
import io.opentelemetry.javaagent.typed.client.ClientTypedTracer;
import io.opentelemetry.trace.TracingContextUtils;
public abstract class HttpClientTypedTracer<
@ -29,9 +29,9 @@ public abstract class HttpClientTypedTracer<
@Override
protected T startSpan(REQUEST request, T span) {
Context context = TracingContextUtils.withSpan(span, Context.current());
OpenTelemetry.getPropagators().getHttpTextFormat().inject(context, request, getSetter());
OpenTelemetry.getPropagators().getTextMapPropagator().inject(context, request, getSetter());
return super.startSpan(request, span);
}
protected abstract HttpTextFormat.Setter<REQUEST> getSetter();
protected abstract TextMapPropagator.Setter<REQUEST> getSetter();
}

View File

@ -14,9 +14,9 @@
* limitations under the License.
*/
package io.opentelemetry.auto.typed.server;
package io.opentelemetry.javaagent.typed.server;
import io.opentelemetry.auto.typed.base.BaseTypedSpan;
import io.opentelemetry.javaagent.typed.base.BaseTypedSpan;
import io.opentelemetry.trace.Span;
public abstract class ServerTypedSpan<T extends ServerTypedSpan, REQUEST, RESPONSE>

View File

@ -14,9 +14,9 @@
* limitations under the License.
*/
package io.opentelemetry.auto.typed.server;
package io.opentelemetry.javaagent.typed.server;
import io.opentelemetry.auto.typed.base.BaseTypedTracer;
import io.opentelemetry.javaagent.typed.base.BaseTypedTracer;
import io.opentelemetry.trace.Span;
public abstract class ServerTypedTracer<

View File

@ -14,9 +14,9 @@
* limitations under the License.
*/
package io.opentelemetry.auto.typed.server.http;
package io.opentelemetry.javaagent.typed.server.http;
import io.opentelemetry.auto.typed.server.ServerTypedSpan;
import io.opentelemetry.javaagent.typed.server.ServerTypedSpan;
import io.opentelemetry.trace.Span;
public abstract class HttpServerTypedSpan<T extends HttpServerTypedSpan, REQUEST, RESPONSE>

View File

@ -14,12 +14,12 @@
* limitations under the License.
*/
package io.opentelemetry.auto.typed.server.http;
package io.opentelemetry.javaagent.typed.server.http;
import static io.opentelemetry.instrumentation.api.decorator.BaseDecorator.extract;
import io.opentelemetry.auto.typed.server.ServerTypedTracer;
import io.opentelemetry.context.propagation.HttpTextFormat;
import io.opentelemetry.context.propagation.TextMapPropagator;
import io.opentelemetry.javaagent.typed.server.ServerTypedTracer;
import io.opentelemetry.trace.Span;
public abstract class HttpServerTypedTracer<
@ -32,5 +32,5 @@ public abstract class HttpServerTypedTracer<
return super.buildSpan(request, spanBuilder);
}
protected abstract HttpTextFormat.Getter<REQUEST> getGetter();
protected abstract TextMapPropagator.Getter<REQUEST> getGetter();
}

Some files were not shown because too many files have changed in this diff Show More