diff --git a/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/decorator/HttpClientDecorator.java b/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/decorator/HttpClientDecorator.java index 9ce20149f8..f9bcc2af02 100644 --- a/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/decorator/HttpClientDecorator.java +++ b/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/decorator/HttpClientDecorator.java @@ -23,6 +23,11 @@ public abstract class HttpClientDecorator extends ClientDecor return DDSpanTypes.HTTP_CLIENT; } + @Override + protected String service() { + return null; + } + public Span onRequest(final Span span, final REQUEST request) { assert span != null; if (request != null) { diff --git a/dd-java-agent/instrumentation/akka-http-10.0/src/main/scala/datadog/trace/instrumentation/akkahttp/AkkaHttpClientDecorator.java b/dd-java-agent/instrumentation/akka-http-10.0/src/main/scala/datadog/trace/instrumentation/akkahttp/AkkaHttpClientDecorator.java index 71c08e548f..6a5e32a445 100644 --- a/dd-java-agent/instrumentation/akka-http-10.0/src/main/scala/datadog/trace/instrumentation/akkahttp/AkkaHttpClientDecorator.java +++ b/dd-java-agent/instrumentation/akka-http-10.0/src/main/scala/datadog/trace/instrumentation/akkahttp/AkkaHttpClientDecorator.java @@ -5,7 +5,7 @@ import akka.http.scaladsl.model.HttpResponse; import datadog.trace.agent.decorator.HttpClientDecorator; public class AkkaHttpClientDecorator extends HttpClientDecorator { - public static final AkkaHttpClientDecorator INSTANCE = new AkkaHttpClientDecorator(); + public static final AkkaHttpClientDecorator DECORATE = new AkkaHttpClientDecorator(); @Override protected String[] instrumentationNames() { @@ -17,11 +17,6 @@ public class AkkaHttpClientDecorator extends HttpClientDecorator result) { if (result.isSuccess()) { - AkkaHttpClientDecorator.INSTANCE.onResponse(span, result.get()); + DECORATE.onResponse(span, result.get()); } else { - AkkaHttpClientDecorator.INSTANCE.onError(span, result.failed().get()); + DECORATE.onError(span, result.failed().get()); } - AkkaHttpClientDecorator.INSTANCE.beforeFinish(span); + DECORATE.beforeFinish(span); span.finish(); return null; } diff --git a/dd-java-agent/instrumentation/akka-http-10.0/src/main/scala/datadog/trace/instrumentation/akkahttp/AkkaHttpClientTransformFlow.scala b/dd-java-agent/instrumentation/akka-http-10.0/src/main/scala/datadog/trace/instrumentation/akkahttp/AkkaHttpClientTransformFlow.scala index 237d23f1e4..f8bc628007 100644 --- a/dd-java-agent/instrumentation/akka-http-10.0/src/main/scala/datadog/trace/instrumentation/akkahttp/AkkaHttpClientTransformFlow.scala +++ b/dd-java-agent/instrumentation/akka-http-10.0/src/main/scala/datadog/trace/instrumentation/akkahttp/AkkaHttpClientTransformFlow.scala @@ -3,6 +3,7 @@ package datadog.trace.instrumentation.akkahttp import akka.NotUsed import akka.http.scaladsl.model.{HttpRequest, HttpResponse} import akka.stream.scaladsl.Flow +import datadog.trace.instrumentation.akkahttp.AkkaHttpClientDecorator.DECORATE import io.opentracing.Span import io.opentracing.propagation.Format import io.opentracing.util.GlobalTracer @@ -16,17 +17,17 @@ object AkkaHttpClientTransformFlow { Flow.fromFunction((input: (HttpRequest, T)) => { val (request, data) = input span = GlobalTracer.get.buildSpan("akka-http.request").start() - AkkaHttpClientDecorator.INSTANCE.afterStart(span) - AkkaHttpClientDecorator.INSTANCE.onRequest(span, request) + DECORATE.afterStart(span) + DECORATE.onRequest(span, request) val headers = new AkkaHttpClientInstrumentation.AkkaHttpHeaders(request) GlobalTracer.get.inject(span.context, Format.Builtin.HTTP_HEADERS, headers) (headers.getRequest, data) }).via(flow).map(output => { output._1 match { - case Success(response) => AkkaHttpClientDecorator.INSTANCE.onResponse(span, response) - case Failure(e) => AkkaHttpClientDecorator.INSTANCE.onError(span, e) + case Success(response) => DECORATE.onResponse(span, response) + case Failure(e) => DECORATE.onError(span, e) } - AkkaHttpClientDecorator.INSTANCE.beforeFinish(span) + DECORATE.beforeFinish(span) span.finish() output }) diff --git a/dd-java-agent/instrumentation/akka-http-10.0/src/main/scala/datadog/trace/instrumentation/akkahttp/AkkaHttpServerDecorator.java b/dd-java-agent/instrumentation/akka-http-10.0/src/main/scala/datadog/trace/instrumentation/akkahttp/AkkaHttpServerDecorator.java index 37e159581b..36f2ad9713 100644 --- a/dd-java-agent/instrumentation/akka-http-10.0/src/main/scala/datadog/trace/instrumentation/akkahttp/AkkaHttpServerDecorator.java +++ b/dd-java-agent/instrumentation/akka-http-10.0/src/main/scala/datadog/trace/instrumentation/akkahttp/AkkaHttpServerDecorator.java @@ -5,7 +5,7 @@ import akka.http.scaladsl.model.HttpResponse; import datadog.trace.agent.decorator.HttpServerDecorator; public class AkkaHttpServerDecorator extends HttpServerDecorator { - public static final AkkaHttpServerDecorator INSTANCE = new AkkaHttpServerDecorator(); + public static final AkkaHttpServerDecorator DECORATE = new AkkaHttpServerDecorator(); @Override protected String[] instrumentationNames() { diff --git a/dd-java-agent/instrumentation/akka-http-10.0/src/main/scala/datadog/trace/instrumentation/akkahttp/AkkaHttpServerInstrumentation.java b/dd-java-agent/instrumentation/akka-http-10.0/src/main/scala/datadog/trace/instrumentation/akkahttp/AkkaHttpServerInstrumentation.java index 6e09237079..fb3f8ce6eb 100644 --- a/dd-java-agent/instrumentation/akka-http-10.0/src/main/scala/datadog/trace/instrumentation/akkahttp/AkkaHttpServerInstrumentation.java +++ b/dd-java-agent/instrumentation/akka-http-10.0/src/main/scala/datadog/trace/instrumentation/akkahttp/AkkaHttpServerInstrumentation.java @@ -1,5 +1,6 @@ package datadog.trace.instrumentation.akkahttp; +import static datadog.trace.instrumentation.akkahttp.AkkaHttpServerDecorator.DECORATE; import static net.bytebuddy.matcher.ElementMatchers.named; import static net.bytebuddy.matcher.ElementMatchers.takesArgument; @@ -106,8 +107,8 @@ public final class AkkaHttpServerInstrumentation extends Instrumenter.Default { .asChildOf(extractedContext) .startActive(false); - AkkaHttpServerDecorator.INSTANCE.afterStart(scope.span()); - AkkaHttpServerDecorator.INSTANCE.onRequest(scope.span(), request); + DECORATE.afterStart(scope.span()); + DECORATE.onRequest(scope.span(), request); if (scope instanceof TraceScope) { ((TraceScope) scope).setAsyncPropagation(true); @@ -116,8 +117,8 @@ public final class AkkaHttpServerInstrumentation extends Instrumenter.Default { } public static void finishSpan(final Span span, final HttpResponse response) { - AkkaHttpServerDecorator.INSTANCE.onResponse(span, response); - AkkaHttpServerDecorator.INSTANCE.beforeFinish(span); + DECORATE.onResponse(span, response); + DECORATE.beforeFinish(span); if (GlobalTracer.get().scopeManager().active() instanceof TraceScope) { ((TraceScope) GlobalTracer.get().scopeManager().active()).setAsyncPropagation(false); @@ -126,9 +127,9 @@ public final class AkkaHttpServerInstrumentation extends Instrumenter.Default { } public static void finishSpan(final Span span, final Throwable t) { - AkkaHttpServerDecorator.INSTANCE.onError(span, t); + DECORATE.onError(span, t); Tags.HTTP_STATUS.set(span, 500); - AkkaHttpServerDecorator.INSTANCE.beforeFinish(span); + DECORATE.beforeFinish(span); if (GlobalTracer.get().scopeManager().active() instanceof TraceScope) { ((TraceScope) GlobalTracer.get().scopeManager().active()).setAsyncPropagation(false); diff --git a/dd-java-agent/instrumentation/apache-httpclient-4/src/main/java/datadog/trace/instrumentation/apachehttpclient/ApacheHttpClientDecorator.java b/dd-java-agent/instrumentation/apache-httpclient-4/src/main/java/datadog/trace/instrumentation/apachehttpclient/ApacheHttpClientDecorator.java index 3a7be238c0..bf038c580f 100644 --- a/dd-java-agent/instrumentation/apache-httpclient-4/src/main/java/datadog/trace/instrumentation/apachehttpclient/ApacheHttpClientDecorator.java +++ b/dd-java-agent/instrumentation/apache-httpclient-4/src/main/java/datadog/trace/instrumentation/apachehttpclient/ApacheHttpClientDecorator.java @@ -6,7 +6,7 @@ import org.apache.http.HttpResponse; import org.apache.http.client.methods.HttpUriRequest; public class ApacheHttpClientDecorator extends HttpClientDecorator { - public static final ApacheHttpClientDecorator INSTANCE = new ApacheHttpClientDecorator(); + public static final ApacheHttpClientDecorator DECORATE = new ApacheHttpClientDecorator(); @Override protected String[] instrumentationNames() { @@ -18,11 +18,6 @@ public class ApacheHttpClientDecorator extends HttpClientDecorator { - public static final AwsSdkClientDecorator INSTANCE = new AwsSdkClientDecorator(); + public static final AwsSdkClientDecorator DECORATE = new AwsSdkClientDecorator(); static final String COMPONENT_NAME = "java-aws-sdk"; diff --git a/dd-java-agent/instrumentation/aws-java-sdk-1.11.0/src/main/java/datadog/trace/instrumentation/aws/v0/TracingRequestHandler.java b/dd-java-agent/instrumentation/aws-java-sdk-1.11.0/src/main/java/datadog/trace/instrumentation/aws/v0/TracingRequestHandler.java index e26f29748f..a31dd8aaf2 100644 --- a/dd-java-agent/instrumentation/aws-java-sdk-1.11.0/src/main/java/datadog/trace/instrumentation/aws/v0/TracingRequestHandler.java +++ b/dd-java-agent/instrumentation/aws-java-sdk-1.11.0/src/main/java/datadog/trace/instrumentation/aws/v0/TracingRequestHandler.java @@ -13,6 +13,8 @@ */ package datadog.trace.instrumentation.aws.v0; +import static datadog.trace.instrumentation.aws.v0.AwsSdkClientDecorator.DECORATE; + import com.amazonaws.AmazonWebServiceRequest; import com.amazonaws.Request; import com.amazonaws.Response; @@ -37,12 +39,11 @@ public class TracingRequestHandler extends RequestHandler2 { return request; } - /** {@inheritDoc} */ @Override public void beforeRequest(final Request request) { final Scope scope = GlobalTracer.get().buildSpan("aws.command").startActive(true); - AwsSdkClientDecorator.INSTANCE.afterStart(scope.span()); - AwsSdkClientDecorator.INSTANCE.onRequest(scope.span(), request); + DECORATE.afterStart(scope.span()); + DECORATE.onRequest(scope.span(), request); // We inject headers at aws-client level because aws requests may be signed and adding headers // on http-client level may break signature. @@ -55,21 +56,19 @@ public class TracingRequestHandler extends RequestHandler2 { request.addHandlerContext(SCOPE_CONTEXT_KEY, scope); } - /** {@inheritDoc} */ @Override public void afterResponse(final Request request, final Response response) { final Scope scope = request.getHandlerContext(SCOPE_CONTEXT_KEY); - AwsSdkClientDecorator.INSTANCE.onResponse(scope.span(), response); - AwsSdkClientDecorator.INSTANCE.beforeFinish(scope.span()); + DECORATE.onResponse(scope.span(), response); + DECORATE.beforeFinish(scope.span()); scope.close(); } - /** {@inheritDoc} */ @Override public void afterError(final Request request, final Response response, final Exception e) { final Scope scope = request.getHandlerContext(SCOPE_CONTEXT_KEY); - AwsSdkClientDecorator.INSTANCE.onError(scope.span(), e); - AwsSdkClientDecorator.INSTANCE.beforeFinish(scope.span()); + DECORATE.onError(scope.span(), e); + DECORATE.beforeFinish(scope.span()); scope.close(); } } diff --git a/dd-java-agent/instrumentation/aws-java-sdk-2.2/src/main/java8/datadog/trace/instrumentation/aws/v2/AwsSdkClientDecorator.java b/dd-java-agent/instrumentation/aws-java-sdk-2.2/src/main/java8/datadog/trace/instrumentation/aws/v2/AwsSdkClientDecorator.java index 58538f8e5b..3f7f12b6d1 100644 --- a/dd-java-agent/instrumentation/aws-java-sdk-2.2/src/main/java8/datadog/trace/instrumentation/aws/v2/AwsSdkClientDecorator.java +++ b/dd-java-agent/instrumentation/aws-java-sdk-2.2/src/main/java8/datadog/trace/instrumentation/aws/v2/AwsSdkClientDecorator.java @@ -11,7 +11,7 @@ import software.amazon.awssdk.http.SdkHttpRequest; import software.amazon.awssdk.http.SdkHttpResponse; public class AwsSdkClientDecorator extends HttpClientDecorator { - public static final AwsSdkClientDecorator INSTANCE = new AwsSdkClientDecorator(); + public static final AwsSdkClientDecorator DECORATE = new AwsSdkClientDecorator(); static final String COMPONENT_NAME = "java-aws-sdk"; diff --git a/dd-java-agent/instrumentation/aws-java-sdk-2.2/src/main/java8/datadog/trace/instrumentation/aws/v2/TracingExecutionInterceptor.java b/dd-java-agent/instrumentation/aws-java-sdk-2.2/src/main/java8/datadog/trace/instrumentation/aws/v2/TracingExecutionInterceptor.java index 02d5313062..64b8d49762 100644 --- a/dd-java-agent/instrumentation/aws-java-sdk-2.2/src/main/java8/datadog/trace/instrumentation/aws/v2/TracingExecutionInterceptor.java +++ b/dd-java-agent/instrumentation/aws-java-sdk-2.2/src/main/java8/datadog/trace/instrumentation/aws/v2/TracingExecutionInterceptor.java @@ -13,6 +13,8 @@ */ package datadog.trace.instrumentation.aws.v2; +import static datadog.trace.instrumentation.aws.v2.AwsSdkClientDecorator.DECORATE; + import datadog.trace.context.TraceScope; import io.opentracing.Scope; import io.opentracing.Span; @@ -46,7 +48,7 @@ public class TracingExecutionInterceptor implements ExecutionInterceptor { public void beforeExecution( final Context.BeforeExecution context, final ExecutionAttributes executionAttributes) { final Span span = GlobalTracer.get().buildSpan("aws.command").start(); - AwsSdkClientDecorator.INSTANCE.afterStart(span); + DECORATE.afterStart(span); executionAttributes.putAttribute(SPAN_ATTRIBUTE, span); } @@ -56,8 +58,8 @@ public class TracingExecutionInterceptor implements ExecutionInterceptor { final Span span = executionAttributes.getAttribute(SPAN_ATTRIBUTE); final SdkHttpRequest httpRequest = context.httpRequest(); - AwsSdkClientDecorator.INSTANCE.onRequest(span, httpRequest); - AwsSdkClientDecorator.INSTANCE.onAttributes(span, executionAttributes); + DECORATE.onRequest(span, httpRequest); + DECORATE.onAttributes(span, executionAttributes); } @Override @@ -86,9 +88,9 @@ public class TracingExecutionInterceptor implements ExecutionInterceptor { final Context.AfterExecution context, final ExecutionAttributes executionAttributes) { final Span span = executionAttributes.getAttribute(SPAN_ATTRIBUTE); // Call onResponse on both types of responses: - AwsSdkClientDecorator.INSTANCE.onResponse(span, context.response()); - AwsSdkClientDecorator.INSTANCE.onResponse(span, context.httpResponse()); - AwsSdkClientDecorator.INSTANCE.beforeFinish(span); + DECORATE.onResponse(span, context.response()); + DECORATE.onResponse(span, context.httpResponse()); + DECORATE.beforeFinish(span); span.finish(); } @@ -96,7 +98,7 @@ public class TracingExecutionInterceptor implements ExecutionInterceptor { public void onExecutionFailure( final Context.FailedExecution context, final ExecutionAttributes executionAttributes) { final Span span = executionAttributes.getAttribute(SPAN_ATTRIBUTE); - AwsSdkClientDecorator.INSTANCE.onError(span, context.exception()); + DECORATE.onError(span, context.exception()); } public static Consumer getOverrideConfigurationConsumer() { diff --git a/dd-java-agent/instrumentation/couchbase-2.0/src/main/java/datadog/trace/instrumentation/couchbase/client/CouchbaseBucketInstrumentation.java b/dd-java-agent/instrumentation/couchbase-2.0/src/main/java/datadog/trace/instrumentation/couchbase/client/CouchbaseBucketInstrumentation.java index 006acb79d2..b7bb935dfe 100644 --- a/dd-java-agent/instrumentation/couchbase-2.0/src/main/java/datadog/trace/instrumentation/couchbase/client/CouchbaseBucketInstrumentation.java +++ b/dd-java-agent/instrumentation/couchbase-2.0/src/main/java/datadog/trace/instrumentation/couchbase/client/CouchbaseBucketInstrumentation.java @@ -1,5 +1,6 @@ package datadog.trace.instrumentation.couchbase.client; +import static datadog.trace.instrumentation.couchbase.client.CouchbaseClientDecorator.DECORATE; import static java.util.Collections.singletonMap; import static net.bytebuddy.matcher.ElementMatchers.isInterface; import static net.bytebuddy.matcher.ElementMatchers.isMethod; @@ -114,7 +115,7 @@ public class CouchbaseBucketInstrumentation extends Instrumenter.Default { // just replace the no-op span. spanRef.set( - CouchbaseClientDecorator.INSTANCE.afterStart( + DECORATE.afterStart( GlobalTracer.get() .buildSpan("couchbase.call") .withTag(DDTags.RESOURCE_NAME, resourceName) @@ -135,7 +136,7 @@ public class CouchbaseBucketInstrumentation extends Instrumenter.Default { final Span span = spanRef.getAndSet(null); if (span != null) { - CouchbaseClientDecorator.INSTANCE.beforeFinish(span); + DECORATE.beforeFinish(span); span.finish(); } } @@ -152,8 +153,8 @@ public class CouchbaseBucketInstrumentation extends Instrumenter.Default { public void call(final Throwable throwable) { final Span span = spanRef.getAndSet(null); if (span != null) { - CouchbaseClientDecorator.INSTANCE.onError(span, throwable); - CouchbaseClientDecorator.INSTANCE.beforeFinish(span); + DECORATE.onError(span, throwable); + DECORATE.beforeFinish(span); span.finish(); } } diff --git a/dd-java-agent/instrumentation/couchbase-2.0/src/main/java/datadog/trace/instrumentation/couchbase/client/CouchbaseClientDecorator.java b/dd-java-agent/instrumentation/couchbase-2.0/src/main/java/datadog/trace/instrumentation/couchbase/client/CouchbaseClientDecorator.java index 0d2c33cd9f..75b6258220 100644 --- a/dd-java-agent/instrumentation/couchbase-2.0/src/main/java/datadog/trace/instrumentation/couchbase/client/CouchbaseClientDecorator.java +++ b/dd-java-agent/instrumentation/couchbase-2.0/src/main/java/datadog/trace/instrumentation/couchbase/client/CouchbaseClientDecorator.java @@ -4,7 +4,7 @@ import datadog.trace.agent.decorator.DatabaseClientDecorator; import datadog.trace.api.DDSpanTypes; class CouchbaseClientDecorator extends DatabaseClientDecorator { - public static final CouchbaseClientDecorator INSTANCE = new CouchbaseClientDecorator(); + public static final CouchbaseClientDecorator DECORATE = new CouchbaseClientDecorator(); @Override protected String[] instrumentationNames() { diff --git a/dd-java-agent/instrumentation/couchbase-2.0/src/main/java/datadog/trace/instrumentation/couchbase/client/CouchbaseClusterInstrumentation.java b/dd-java-agent/instrumentation/couchbase-2.0/src/main/java/datadog/trace/instrumentation/couchbase/client/CouchbaseClusterInstrumentation.java index 7a85ebc011..17fdfa7574 100644 --- a/dd-java-agent/instrumentation/couchbase-2.0/src/main/java/datadog/trace/instrumentation/couchbase/client/CouchbaseClusterInstrumentation.java +++ b/dd-java-agent/instrumentation/couchbase-2.0/src/main/java/datadog/trace/instrumentation/couchbase/client/CouchbaseClusterInstrumentation.java @@ -1,5 +1,6 @@ package datadog.trace.instrumentation.couchbase.client; +import static datadog.trace.instrumentation.couchbase.client.CouchbaseClientDecorator.DECORATE; import static java.util.Collections.singletonMap; import static net.bytebuddy.matcher.ElementMatchers.isInterface; import static net.bytebuddy.matcher.ElementMatchers.isMethod; @@ -109,7 +110,7 @@ public class CouchbaseClusterInstrumentation extends Instrumenter.Default { // just replace the no-op span. spanRef.set( - CouchbaseClientDecorator.INSTANCE.afterStart( + DECORATE.afterStart( GlobalTracer.get() .buildSpan("couchbase.call") .withTag(DDTags.RESOURCE_NAME, resourceName) @@ -129,7 +130,7 @@ public class CouchbaseClusterInstrumentation extends Instrumenter.Default { final Span span = spanRef.getAndSet(null); if (span != null) { - CouchbaseClientDecorator.INSTANCE.beforeFinish(span); + DECORATE.beforeFinish(span); span.finish(); } } @@ -146,8 +147,8 @@ public class CouchbaseClusterInstrumentation extends Instrumenter.Default { public void call(final Throwable throwable) { final Span span = spanRef.getAndSet(null); if (span != null) { - CouchbaseClientDecorator.INSTANCE.onError(span, throwable); - CouchbaseClientDecorator.INSTANCE.beforeFinish(span); + DECORATE.onError(span, throwable); + DECORATE.beforeFinish(span); span.finish(); } } diff --git a/dd-java-agent/instrumentation/datastax-cassandra-2.3/src/main/java/datadog/trace/instrumentation/datastax/cassandra/CassandraClientDecorator.java b/dd-java-agent/instrumentation/datastax-cassandra-2.3/src/main/java/datadog/trace/instrumentation/datastax/cassandra/CassandraClientDecorator.java index bd636b91a2..98eaab8e5e 100644 --- a/dd-java-agent/instrumentation/datastax-cassandra-2.3/src/main/java/datadog/trace/instrumentation/datastax/cassandra/CassandraClientDecorator.java +++ b/dd-java-agent/instrumentation/datastax-cassandra-2.3/src/main/java/datadog/trace/instrumentation/datastax/cassandra/CassandraClientDecorator.java @@ -12,7 +12,7 @@ import java.net.InetAddress; import java.nio.ByteBuffer; public class CassandraClientDecorator extends DatabaseClientDecorator { - public static final CassandraClientDecorator INSTANCE = new CassandraClientDecorator(); + public static final CassandraClientDecorator DECORATE = new CassandraClientDecorator(); @Override protected String[] instrumentationNames() { diff --git a/dd-java-agent/instrumentation/datastax-cassandra-2.3/src/main/java/datadog/trace/instrumentation/datastax/cassandra/TracingSession.java b/dd-java-agent/instrumentation/datastax-cassandra-2.3/src/main/java/datadog/trace/instrumentation/datastax/cassandra/TracingSession.java index 89d3e81b19..889867281d 100644 --- a/dd-java-agent/instrumentation/datastax-cassandra-2.3/src/main/java/datadog/trace/instrumentation/datastax/cassandra/TracingSession.java +++ b/dd-java-agent/instrumentation/datastax-cassandra-2.3/src/main/java/datadog/trace/instrumentation/datastax/cassandra/TracingSession.java @@ -1,5 +1,7 @@ package datadog.trace.instrumentation.datastax.cassandra; +import static datadog.trace.instrumentation.datastax.cassandra.CassandraClientDecorator.DECORATE; + import com.datastax.driver.core.BoundStatement; import com.datastax.driver.core.CloseFuture; import com.datastax.driver.core.Cluster; @@ -209,21 +211,21 @@ public class TracingSession implements Session { private Span buildSpan(final String query) { final Span span = tracer.buildSpan("cassandra.execute").start(); - CassandraClientDecorator.INSTANCE.afterStart(span); - CassandraClientDecorator.INSTANCE.onSession(span, session); - CassandraClientDecorator.INSTANCE.onStatement(span, query); + DECORATE.afterStart(span); + DECORATE.onSession(span, session); + DECORATE.onStatement(span, query); return span; } private static void finishSpan(final Span span, final ResultSet resultSet) { - CassandraClientDecorator.INSTANCE.onResponse(span, resultSet); - CassandraClientDecorator.INSTANCE.beforeFinish(span); + DECORATE.onResponse(span, resultSet); + DECORATE.beforeFinish(span); span.finish(); } private static void finishSpan(final Span span, final Exception e) { - CassandraClientDecorator.INSTANCE.onError(span, e); - CassandraClientDecorator.INSTANCE.beforeFinish(span); + DECORATE.onError(span, e); + DECORATE.beforeFinish(span); span.finish(); } } diff --git a/dd-java-agent/instrumentation/servlet-2/src/main/java/datadog/trace/instrumentation/servlet2/Servlet2Advice.java b/dd-java-agent/instrumentation/servlet-2/src/main/java/datadog/trace/instrumentation/servlet2/Servlet2Advice.java index a809e93916..e1bc2b67de 100644 --- a/dd-java-agent/instrumentation/servlet-2/src/main/java/datadog/trace/instrumentation/servlet2/Servlet2Advice.java +++ b/dd-java-agent/instrumentation/servlet-2/src/main/java/datadog/trace/instrumentation/servlet2/Servlet2Advice.java @@ -1,5 +1,7 @@ package datadog.trace.instrumentation.servlet2; +import static datadog.trace.instrumentation.servlet2.Servlet2Decorator.DECORATE; + import datadog.trace.api.DDTags; import datadog.trace.context.TraceScope; import io.opentracing.Scope; @@ -37,8 +39,8 @@ public class Servlet2Advice { .withTag("span.origin.type", servlet.getClass().getName()) .startActive(true); - Servlet2Decorator.INSTANCE.afterStart(scope.span()); - Servlet2Decorator.INSTANCE.onRequest(scope.span(), httpServletRequest); + DECORATE.afterStart(scope.span()); + DECORATE.onRequest(scope.span(), httpServletRequest); if (scope instanceof TraceScope) { ((TraceScope) scope).setAsyncPropagation(true); @@ -64,9 +66,9 @@ public class Servlet2Advice { } if (scope != null) { - Servlet2Decorator.INSTANCE.onResponse(scope.span(), response); - Servlet2Decorator.INSTANCE.onError(scope.span(), throwable); - Servlet2Decorator.INSTANCE.beforeFinish(scope.span()); + DECORATE.onResponse(scope.span(), response); + DECORATE.onError(scope.span(), throwable); + DECORATE.beforeFinish(scope.span()); if (scope instanceof TraceScope) { ((TraceScope) scope).setAsyncPropagation(false); diff --git a/dd-java-agent/instrumentation/servlet-2/src/main/java/datadog/trace/instrumentation/servlet2/Servlet2Decorator.java b/dd-java-agent/instrumentation/servlet-2/src/main/java/datadog/trace/instrumentation/servlet2/Servlet2Decorator.java index f68cb2a2c2..80624cc1bf 100644 --- a/dd-java-agent/instrumentation/servlet-2/src/main/java/datadog/trace/instrumentation/servlet2/Servlet2Decorator.java +++ b/dd-java-agent/instrumentation/servlet-2/src/main/java/datadog/trace/instrumentation/servlet2/Servlet2Decorator.java @@ -6,7 +6,7 @@ import javax.servlet.ServletResponse; import javax.servlet.http.HttpServletRequest; public class Servlet2Decorator extends HttpServerDecorator { - public static final Servlet2Decorator INSTANCE = new Servlet2Decorator(); + public static final Servlet2Decorator DECORATE = new Servlet2Decorator(); @Override protected String[] instrumentationNames() { diff --git a/dd-java-agent/instrumentation/servlet-3/src/main/java/datadog/trace/instrumentation/servlet3/Servlet3Advice.java b/dd-java-agent/instrumentation/servlet-3/src/main/java/datadog/trace/instrumentation/servlet3/Servlet3Advice.java index a69b959a6e..3e84f7d0a7 100644 --- a/dd-java-agent/instrumentation/servlet-3/src/main/java/datadog/trace/instrumentation/servlet3/Servlet3Advice.java +++ b/dd-java-agent/instrumentation/servlet-3/src/main/java/datadog/trace/instrumentation/servlet3/Servlet3Advice.java @@ -1,5 +1,7 @@ package datadog.trace.instrumentation.servlet3; +import static datadog.trace.instrumentation.servlet3.Servlet3Decorator.DECORATE; + import datadog.trace.api.DDTags; import datadog.trace.context.TraceScope; import io.opentracing.Scope; @@ -42,8 +44,8 @@ public class Servlet3Advice { .withTag("span.origin.type", servlet.getClass().getName()) .startActive(false); - Servlet3Decorator.INSTANCE.afterStart(scope.span()); - Servlet3Decorator.INSTANCE.onRequest(scope.span(), httpServletRequest); + DECORATE.afterStart(scope.span()); + DECORATE.onRequest(scope.span(), httpServletRequest); if (scope instanceof TraceScope) { ((TraceScope) scope).setAsyncPropagation(true); @@ -75,13 +77,13 @@ public class Servlet3Advice { final Span span = scope.span(); if (throwable != null) { - Servlet3Decorator.INSTANCE.onResponse(span, resp); + DECORATE.onResponse(span, resp); if (resp.getStatus() == HttpServletResponse.SC_OK) { // exception is thrown in filter chain, but status code is incorrect Tags.HTTP_STATUS.set(span, 500); } - Servlet3Decorator.INSTANCE.onError(span, throwable); - Servlet3Decorator.INSTANCE.beforeFinish(span); + DECORATE.onError(span, throwable); + DECORATE.beforeFinish(span); req.removeAttribute(SERVLET_SPAN); span.finish(); // Finish the span manually since finishSpanOnClose was false } else { @@ -96,8 +98,8 @@ public class Servlet3Advice { } // Check again in case the request finished before adding the listener. if (!req.isAsyncStarted() && activated.compareAndSet(false, true)) { - Servlet3Decorator.INSTANCE.onResponse(span, resp); - Servlet3Decorator.INSTANCE.beforeFinish(span); + DECORATE.onResponse(span, resp); + DECORATE.beforeFinish(span); req.removeAttribute(SERVLET_SPAN); span.finish(); // Finish the span manually since finishSpanOnClose was false } diff --git a/dd-java-agent/instrumentation/servlet-3/src/main/java/datadog/trace/instrumentation/servlet3/Servlet3Decorator.java b/dd-java-agent/instrumentation/servlet-3/src/main/java/datadog/trace/instrumentation/servlet3/Servlet3Decorator.java index 54f1714093..f72186f807 100644 --- a/dd-java-agent/instrumentation/servlet-3/src/main/java/datadog/trace/instrumentation/servlet3/Servlet3Decorator.java +++ b/dd-java-agent/instrumentation/servlet-3/src/main/java/datadog/trace/instrumentation/servlet3/Servlet3Decorator.java @@ -7,7 +7,7 @@ import javax.servlet.http.HttpServletResponse; public class Servlet3Decorator extends HttpServerDecorator { - public static final Servlet3Decorator INSTANCE = new Servlet3Decorator(); + public static final Servlet3Decorator DECORATE = new Servlet3Decorator(); @Override protected String[] instrumentationNames() { diff --git a/dd-java-agent/instrumentation/servlet-3/src/main/java/datadog/trace/instrumentation/servlet3/TagSettingAsyncListener.java b/dd-java-agent/instrumentation/servlet-3/src/main/java/datadog/trace/instrumentation/servlet3/TagSettingAsyncListener.java index 1e261e7033..6954db21f2 100644 --- a/dd-java-agent/instrumentation/servlet-3/src/main/java/datadog/trace/instrumentation/servlet3/TagSettingAsyncListener.java +++ b/dd-java-agent/instrumentation/servlet-3/src/main/java/datadog/trace/instrumentation/servlet3/TagSettingAsyncListener.java @@ -1,5 +1,7 @@ package datadog.trace.instrumentation.servlet3; +import static datadog.trace.instrumentation.servlet3.Servlet3Decorator.DECORATE; + import io.opentracing.Span; import io.opentracing.tag.Tags; import java.io.IOException; @@ -20,9 +22,8 @@ public class TagSettingAsyncListener implements AsyncListener { @Override public void onComplete(final AsyncEvent event) throws IOException { if (activated.compareAndSet(false, true)) { - Servlet3Decorator.INSTANCE.onResponse( - span, (HttpServletResponse) event.getSuppliedResponse()); - Servlet3Decorator.INSTANCE.beforeFinish(span); + DECORATE.onResponse(span, (HttpServletResponse) event.getSuppliedResponse()); + DECORATE.beforeFinish(span); span.finish(); } } @@ -32,7 +33,7 @@ public class TagSettingAsyncListener implements AsyncListener { if (activated.compareAndSet(false, true)) { Tags.ERROR.set(span, Boolean.TRUE); span.setTag("timeout", event.getAsyncContext().getTimeout()); - Servlet3Decorator.INSTANCE.beforeFinish(span); + DECORATE.beforeFinish(span); span.finish(); } } @@ -45,8 +46,8 @@ public class TagSettingAsyncListener implements AsyncListener { // exception is thrown in filter chain, but status code is incorrect Tags.HTTP_STATUS.set(span, 500); } - Servlet3Decorator.INSTANCE.onError(span, event.getThrowable()); - Servlet3Decorator.INSTANCE.beforeFinish(span); + DECORATE.onError(span, event.getThrowable()); + DECORATE.beforeFinish(span); span.finish(); } }