diff --git a/dd-java-agent/instrumentation/elasticsearch-rest-5/elasticsearch-rest-5.gradle b/dd-java-agent/instrumentation/elasticsearch-rest-5/elasticsearch-rest-5.gradle index 3ad7351cdf..ac8372a78f 100644 --- a/dd-java-agent/instrumentation/elasticsearch-rest-5/elasticsearch-rest-5.gradle +++ b/dd-java-agent/instrumentation/elasticsearch-rest-5/elasticsearch-rest-5.gradle @@ -10,6 +10,12 @@ muzzle { versions = "[5.0,6.4)" assertInverse = true } + + pass { + group = "org.elasticsearch.client" + module = "elasticsearch-rest-client" + versions = "[5.0,6.4)" + } } apply from: "${rootDir}/gradle/java.gradle" @@ -43,11 +49,6 @@ dependencies { testCompile group: 'org.elasticsearch', name: 'elasticsearch', version: '5.0.0' testCompile group: 'org.elasticsearch.plugin', name: 'transport-netty3-client', version: '5.0.0' - /* - We know that 6.3.+ Doesn't work because they've reworked relevant code. - See https://github.com/elastic/elasticsearch/commit/0be443c5bbd4c7eb5776740d8fb7117224124cce#diff-d5bb3520f960a753d8f8a3a2686dfd6b - Lock on 6.2.+ to fix tests. - */ latestDepTestCompile group: 'org.elasticsearch.client', name: 'elasticsearch-rest-client', version: '6.3.+' latestDepTestCompile group: 'org.elasticsearch', name: 'elasticsearch', version: '6.3.+' latestDepTestCompile group: 'org.elasticsearch.plugin', name: 'transport-netty4-client', version: '6.3.+' diff --git a/dd-java-agent/instrumentation/elasticsearch-rest-5/src/main/java/datadog/trace/instrumentation/elasticsearch5/Elasticsearch5RestClientInstrumentation.java b/dd-java-agent/instrumentation/elasticsearch-rest-5/src/main/java/datadog/trace/instrumentation/elasticsearch5/Elasticsearch5RestClientInstrumentation.java index 4249dd82ba..bcd364df44 100644 --- a/dd-java-agent/instrumentation/elasticsearch-rest-5/src/main/java/datadog/trace/instrumentation/elasticsearch5/Elasticsearch5RestClientInstrumentation.java +++ b/dd-java-agent/instrumentation/elasticsearch-rest-5/src/main/java/datadog/trace/instrumentation/elasticsearch5/Elasticsearch5RestClientInstrumentation.java @@ -58,11 +58,11 @@ public class Elasticsearch5RestClientInstrumentation extends Instrumenter.Defaul @Advice.OnMethodEnter(suppress = Throwable.class) public static Scope startSpan( - @Advice.Argument(0) String method, - @Advice.Argument(1) String endpoint, + @Advice.Argument(0) final String method, + @Advice.Argument(1) final String endpoint, @Advice.Argument(value = 5, readOnly = false) ResponseListener responseListener) { - Scope scope = + final Scope scope = GlobalTracer.get() .buildSpan("elasticsearch.rest.query") .withTag(DDTags.SERVICE_NAME, "elasticsearch") @@ -78,9 +78,10 @@ public class Elasticsearch5RestClientInstrumentation extends Instrumenter.Defaul } @Advice.OnMethodExit(onThrowable = Throwable.class, suppress = Throwable.class) - public static void stopSpan(@Advice.Enter Scope scope, @Advice.Thrown Throwable throwable) { + public static void stopSpan( + @Advice.Enter final Scope scope, @Advice.Thrown final Throwable throwable) { if (throwable != null) { - Span span = scope.span(); + final Span span = scope.span(); Tags.ERROR.set(span, true); span.log(Collections.singletonMap(ERROR_OBJECT, throwable)); span.finish(); diff --git a/dd-java-agent/instrumentation/elasticsearch-rest-6.4/elasticsearch-rest-6.4.gradle b/dd-java-agent/instrumentation/elasticsearch-rest-6.4/elasticsearch-rest-6.4.gradle index 98fad47e91..d3d511cea6 100644 --- a/dd-java-agent/instrumentation/elasticsearch-rest-6.4/elasticsearch-rest-6.4.gradle +++ b/dd-java-agent/instrumentation/elasticsearch-rest-6.4/elasticsearch-rest-6.4.gradle @@ -6,10 +6,17 @@ ext { muzzle { pass { group = "org.elasticsearch.client" - module = "rest" // elasticsearch-rest-client ? + module = "relasticsearch-rest-client" versions = "[6.4,)" assertInverse = true } + + fail { + group = "org.elasticsearch.client" + module = "rest" + versions = "(,)" + assertInverse = true + } } apply from: "${rootDir}/gradle/java.gradle" diff --git a/dd-java-agent/instrumentation/elasticsearch-rest-6.4/src/main/java/datadog/trace/instrumentation/elasticsearch6_4/Elasticsearch6RestClientInstrumentation.java b/dd-java-agent/instrumentation/elasticsearch-rest-6.4/src/main/java/datadog/trace/instrumentation/elasticsearch6_4/Elasticsearch6RestClientInstrumentation.java index 88f23c8837..f439cf3e99 100644 --- a/dd-java-agent/instrumentation/elasticsearch-rest-6.4/src/main/java/datadog/trace/instrumentation/elasticsearch6_4/Elasticsearch6RestClientInstrumentation.java +++ b/dd-java-agent/instrumentation/elasticsearch-rest-6.4/src/main/java/datadog/trace/instrumentation/elasticsearch6_4/Elasticsearch6RestClientInstrumentation.java @@ -58,10 +58,10 @@ public class Elasticsearch6RestClientInstrumentation extends Instrumenter.Defaul @Advice.OnMethodEnter(suppress = Throwable.class) public static Scope startSpan( - @Advice.Argument(0) Request request, + @Advice.Argument(0) final Request request, @Advice.Argument(value = 1, readOnly = false) ResponseListener responseListener) { - Scope scope = + final Scope scope = GlobalTracer.get() .buildSpan("elasticsearch.rest.query") .withTag(DDTags.SERVICE_NAME, "elasticsearch") @@ -77,9 +77,10 @@ public class Elasticsearch6RestClientInstrumentation extends Instrumenter.Defaul } @Advice.OnMethodExit(onThrowable = Throwable.class, suppress = Throwable.class) - public static void stopSpan(@Advice.Enter Scope scope, @Advice.Thrown Throwable throwable) { + public static void stopSpan( + @Advice.Enter final Scope scope, @Advice.Thrown final Throwable throwable) { if (throwable != null) { - Span span = scope.span(); + final Span span = scope.span(); Tags.ERROR.set(span, true); span.log(Collections.singletonMap(ERROR_OBJECT, throwable)); span.finish(); diff --git a/dd-java-agent/instrumentation/elasticsearch-rest-6.4/src/main/java/datadog/trace/instrumentation/elasticsearch6_4/RestResponseListener.java b/dd-java-agent/instrumentation/elasticsearch-rest-6.4/src/main/java/datadog/trace/instrumentation/elasticsearch6_4/RestResponseListener.java index b9842e9985..6cc0a1b9bf 100644 --- a/dd-java-agent/instrumentation/elasticsearch-rest-6.4/src/main/java/datadog/trace/instrumentation/elasticsearch6_4/RestResponseListener.java +++ b/dd-java-agent/instrumentation/elasticsearch-rest-6.4/src/main/java/datadog/trace/instrumentation/elasticsearch6_4/RestResponseListener.java @@ -13,13 +13,13 @@ public class RestResponseListener implements ResponseListener { private final ResponseListener listener; private final Span span; - public RestResponseListener(ResponseListener listener, Span span) { + public RestResponseListener(final ResponseListener listener, final Span span) { this.listener = listener; this.span = span; } @Override - public void onSuccess(Response response) { + public void onSuccess(final Response response) { if (response.getHost() != null) { Tags.PEER_HOSTNAME.set(span, response.getHost().getHostName()); Tags.PEER_PORT.set(span, response.getHost().getPort()); @@ -33,7 +33,7 @@ public class RestResponseListener implements ResponseListener { } @Override - public void onFailure(Exception e) { + public void onFailure(final Exception e) { span.log(Collections.singletonMap(ERROR_OBJECT, e)); try {