From 0344cff386b19528c8f64078be0250a97ea45cf0 Mon Sep 17 00:00:00 2001 From: Anubhaw Arya Date: Fri, 13 Mar 2020 10:45:43 -0700 Subject: [PATCH 1/2] Remove hostname and port from HttpClientDecorator --- .../decorator/HttpClientDecorator.java | 28 ++++------ .../decorator/HttpClientDecoratorTest.groovy | 55 +++++++++---------- .../akkahttp/AkkaHttpClientDecorator.java | 10 ---- .../ApacheHttpAsyncClientDecorator.java | 29 +--------- .../ApacheHttpClientDecorator.java | 20 ------- .../aws/v0/AwsSdkClientDecorator.java | 10 ---- .../src/test/groovy/AWSClientTest.groovy | 10 +++- .../groovy/AWSClientTest.groovy | 7 +++ .../aws/v2/AwsSdkClientDecorator.java | 10 ---- .../CommonsHttpClientDecorator.java | 18 ------ .../GoogleHttpClientDecorator.java | 10 ---- .../HttpUrlConnectionDecorator.java | 19 +------ .../jaxrs/v1/JaxRsClientV1Decorator.java | 10 ---- .../jaxrs/JaxRsClientDecorator.java | 10 ---- .../client/NettyHttpClientDecorator.java | 29 ---------- .../client/NettyHttpClientDecorator.java | 29 ---------- .../okhttp3/OkHttpClientDecorator.java | 10 ---- .../playws/PlayWSClientDecorator.java | 10 ---- .../SpringWebfluxHttpClientDecorator.java | 10 ---- 19 files changed, 51 insertions(+), 283 deletions(-) diff --git a/dd-java-agent/agent-bootstrap/src/main/java/datadog/trace/bootstrap/instrumentation/decorator/HttpClientDecorator.java b/dd-java-agent/agent-bootstrap/src/main/java/datadog/trace/bootstrap/instrumentation/decorator/HttpClientDecorator.java index 21f26c5574e..6030d6324f6 100644 --- a/dd-java-agent/agent-bootstrap/src/main/java/datadog/trace/bootstrap/instrumentation/decorator/HttpClientDecorator.java +++ b/dd-java-agent/agent-bootstrap/src/main/java/datadog/trace/bootstrap/instrumentation/decorator/HttpClientDecorator.java @@ -16,10 +16,6 @@ public abstract class HttpClientDecorator extends ClientDecor protected abstract URI url(REQUEST request) throws URISyntaxException; - protected abstract String hostname(REQUEST request); - - protected abstract Integer port(REQUEST request); - protected abstract Integer status(RESPONSE response); @Override @@ -48,9 +44,16 @@ public AgentSpan onRequest(final AgentSpan span, final REQUEST request) { } if (url.getHost() != null) { urlNoParams.append(url.getHost()); - if (url.getPort() > 0 && url.getPort() != 80 && url.getPort() != 443) { - urlNoParams.append(":"); - urlNoParams.append(url.getPort()); + span.setTag(Tags.PEER_HOSTNAME, url.getHost()); + if (Config.get().isHttpClientSplitByDomain()) { + span.setTag(DDTags.SERVICE_NAME, url.getHost()); + } + if (url.getPort() > 0) { + span.setTag(Tags.PEER_PORT, url.getPort()); + if (url.getPort() != 80 && url.getPort() != 443) { + urlNoParams.append(":"); + urlNoParams.append(url.getPort()); + } } } final String path = url.getPath(); @@ -70,17 +73,6 @@ public AgentSpan onRequest(final AgentSpan span, final REQUEST request) { } catch (final Exception e) { log.debug("Error tagging url", e); } - - span.setTag(Tags.PEER_HOSTNAME, hostname(request)); - final Integer port = port(request); - // Negative or Zero ports might represent an unset/null value for an int type. Skip setting. - if (port != null && port > 0) { - span.setTag(Tags.PEER_PORT, port); - } - - if (Config.get().isHttpClientSplitByDomain()) { - span.setTag(DDTags.SERVICE_NAME, hostname(request)); - } } return span; } diff --git a/dd-java-agent/agent-bootstrap/src/test/groovy/datadog/trace/bootstrap/instrumentation/decorator/HttpClientDecoratorTest.groovy b/dd-java-agent/agent-bootstrap/src/test/groovy/datadog/trace/bootstrap/instrumentation/decorator/HttpClientDecoratorTest.groovy index 6d5ad6e530c..adf3b1a21c5 100644 --- a/dd-java-agent/agent-bootstrap/src/test/groovy/datadog/trace/bootstrap/instrumentation/decorator/HttpClientDecoratorTest.groovy +++ b/dd-java-agent/agent-bootstrap/src/test/groovy/datadog/trace/bootstrap/instrumentation/decorator/HttpClientDecoratorTest.groovy @@ -11,7 +11,7 @@ import static datadog.trace.agent.test.utils.ConfigUtils.withConfigOverride class HttpClientDecoratorTest extends ClientDecoratorTest { @Shared - def testUrl = new URI("http://myhost/somepath") + def testUrl = new URI("http://myhost:123/somepath") def span = Mock(AgentSpan) @@ -28,10 +28,10 @@ class HttpClientDecoratorTest extends ClientDecoratorTest { if (req) { 1 * span.setTag(Tags.HTTP_METHOD, req.method) 1 * span.setTag(Tags.HTTP_URL, "$req.url") - 1 * span.setTag(Tags.PEER_HOSTNAME, req.host) - 1 * span.setTag(Tags.PEER_PORT, req.port) + 1 * span.setTag(Tags.PEER_HOSTNAME, req.url.host) + 1 * span.setTag(Tags.PEER_PORT, req.url.port) if (renameService) { - 1 * span.setTag(DDTags.SERVICE_NAME, req.host) + 1 * span.setTag(DDTags.SERVICE_NAME, req.url.host) } } 0 * _ @@ -40,8 +40,8 @@ class HttpClientDecoratorTest extends ClientDecoratorTest { renameService | req false | null true | null - false | [method: "test-method", url: testUrl, host: "test-host", port: 555] - true | [method: "test-method", url: testUrl, host: "test-host", port: 555] + false | [method: "test-method", url: testUrl] + true | [method: "test-method", url: testUrl] } def "test url handling for #url"() { @@ -62,23 +62,28 @@ class HttpClientDecoratorTest extends ClientDecoratorTest { 1 * span.setTag(DDTags.HTTP_FRAGMENT, expectedFragment) } 1 * span.setTag(Tags.HTTP_METHOD, null) - 1 * span.setTag(Tags.PEER_HOSTNAME, null) + if (hostname) { + 1 * span.setTag(Tags.PEER_HOSTNAME, hostname) + } + if (port) { + 1 * span.setTag(Tags.PEER_PORT, port) + } 0 * _ where: - tagQueryString | url | expectedUrl | expectedQuery | expectedFragment - false | null | null | null | null - false | "" | "/" | "" | null - false | "/path?query" | "/path" | "" | null - false | "https://host:0" | "https://host/" | "" | null - false | "https://host/path" | "https://host/path" | "" | null - false | "http://host:99/path?query#fragment" | "http://host:99/path" | "" | null - true | null | null | null | null - true | "" | "/" | null | null - true | "/path?encoded+%28query%29%3F" | "/path" | "encoded+(query)?" | null - true | "https://host:0" | "https://host/" | null | null - true | "https://host/path" | "https://host/path" | null | null - true | "http://host:99/path?query#encoded+%28fragment%29%3F" | "http://host:99/path" | "query" | "encoded+(fragment)?" + tagQueryString | url | expectedUrl | expectedQuery | expectedFragment | hostname | port + false | null | null | null | null | null | null + false | "" | "/" | "" | null | null | null + false | "/path?query" | "/path" | "" | null | null | null + false | "https://host:0" | "https://host/" | "" | null | "host" | null + false | "https://host/path" | "https://host/path" | "" | null | "host" | null + false | "http://host:99/path?query#fragment" | "http://host:99/path" | "" | null | "host" | 99 + true | null | null | null | null | null | null + true | "" | "/" | null | null | null | null + true | "/path?encoded+%28query%29%3F" | "/path" | "encoded+(query)?" | null | null | null + true | "https://host:0" | "https://host/" | null | null | "host" | null + true | "https://host/path" | "https://host/path" | null | null | "host" | null + true | "http://host:99/path?query#encoded+%28fragment%29%3F" | "http://host:99/path" | "query" | "encoded+(fragment)?" | "host" | 99 req = [url: url == null ? null : new URI(url)] } @@ -160,16 +165,6 @@ class HttpClientDecoratorTest extends ClientDecoratorTest { return m.url } - @Override - protected String hostname(Map m) { - return m.host - } - - @Override - protected Integer port(Map m) { - return m.port - } - @Override protected Integer status(Map m) { return m.status diff --git a/dd-java-agent/instrumentation/akka-http-10.0/src/main/java/datadog/trace/instrumentation/akkahttp/AkkaHttpClientDecorator.java b/dd-java-agent/instrumentation/akka-http-10.0/src/main/java/datadog/trace/instrumentation/akkahttp/AkkaHttpClientDecorator.java index 49d9dde4a35..0986a4bd474 100644 --- a/dd-java-agent/instrumentation/akka-http-10.0/src/main/java/datadog/trace/instrumentation/akkahttp/AkkaHttpClientDecorator.java +++ b/dd-java-agent/instrumentation/akka-http-10.0/src/main/java/datadog/trace/instrumentation/akkahttp/AkkaHttpClientDecorator.java @@ -29,16 +29,6 @@ protected URI url(final HttpRequest httpRequest) throws URISyntaxException { return new URI(httpRequest.uri().toString()); } - @Override - protected String hostname(final HttpRequest httpRequest) { - return httpRequest.getUri().host().address(); - } - - @Override - protected Integer port(final HttpRequest httpRequest) { - return httpRequest.getUri().port(); - } - @Override protected Integer status(final HttpResponse httpResponse) { return httpResponse.status().intValue(); diff --git a/dd-java-agent/instrumentation/apache-httpasyncclient-4/src/main/java/datadog/trace/instrumentation/apachehttpasyncclient/ApacheHttpAsyncClientDecorator.java b/dd-java-agent/instrumentation/apache-httpasyncclient-4/src/main/java/datadog/trace/instrumentation/apachehttpasyncclient/ApacheHttpAsyncClientDecorator.java index aaec1de71cb..e7f62d463e4 100644 --- a/dd-java-agent/instrumentation/apache-httpasyncclient-4/src/main/java/datadog/trace/instrumentation/apachehttpasyncclient/ApacheHttpAsyncClientDecorator.java +++ b/dd-java-agent/instrumentation/apache-httpasyncclient-4/src/main/java/datadog/trace/instrumentation/apachehttpasyncclient/ApacheHttpAsyncClientDecorator.java @@ -12,6 +12,7 @@ import org.apache.http.protocol.HttpCoreContext; public class ApacheHttpAsyncClientDecorator extends HttpClientDecorator { + public static final ApacheHttpAsyncClientDecorator DECORATE = new ApacheHttpAsyncClientDecorator(); @@ -50,34 +51,6 @@ protected URI url(final HttpRequest request) throws URISyntaxException { } } - @Override - protected String hostname(final HttpRequest request) { - try { - final URI uri = url(request); - if (uri != null) { - return uri.getHost(); - } else { - return null; - } - } catch (final URISyntaxException e) { - return null; - } - } - - @Override - protected Integer port(final HttpRequest request) { - try { - final URI uri = url(request); - if (uri != null) { - return uri.getPort(); - } else { - return null; - } - } catch (final URISyntaxException e) { - return null; - } - } - @Override protected Integer status(final HttpContext context) { final Object responseObject = context.getAttribute(HttpCoreContext.HTTP_RESPONSE); 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 53593028d82..9285630f63f 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 @@ -28,26 +28,6 @@ protected URI url(final HttpUriRequest request) { return request.getURI(); } - @Override - protected String hostname(final HttpUriRequest httpRequest) { - final URI uri = httpRequest.getURI(); - if (uri != null) { - return uri.getHost(); - } else { - return null; - } - } - - @Override - protected Integer port(final HttpUriRequest httpRequest) { - final URI uri = httpRequest.getURI(); - if (uri != null) { - return uri.getPort(); - } else { - return null; - } - } - @Override protected Integer status(final HttpResponse httpResponse) { return httpResponse.getStatusLine().getStatusCode(); diff --git a/dd-java-agent/instrumentation/aws-java-sdk-1.11.0/src/main/java/datadog/trace/instrumentation/aws/v0/AwsSdkClientDecorator.java b/dd-java-agent/instrumentation/aws-java-sdk-1.11.0/src/main/java/datadog/trace/instrumentation/aws/v0/AwsSdkClientDecorator.java index 67d57b2fab2..07ca1244c23 100644 --- a/dd-java-agent/instrumentation/aws-java-sdk-1.11.0/src/main/java/datadog/trace/instrumentation/aws/v0/AwsSdkClientDecorator.java +++ b/dd-java-agent/instrumentation/aws-java-sdk-1.11.0/src/main/java/datadog/trace/instrumentation/aws/v0/AwsSdkClientDecorator.java @@ -105,16 +105,6 @@ protected URI url(final Request request) { return request.getEndpoint(); } - @Override - protected String hostname(final Request request) { - return null; - } - - @Override - protected Integer port(final Request request) { - return null; - } - @Override protected Integer status(final Response response) { return response.getHttpResponse().getStatusCode(); diff --git a/dd-java-agent/instrumentation/aws-java-sdk-1.11.0/src/test/groovy/AWSClientTest.groovy b/dd-java-agent/instrumentation/aws-java-sdk-1.11.0/src/test/groovy/AWSClientTest.groovy index 5b29c6c9645..2d83a4bc354 100644 --- a/dd-java-agent/instrumentation/aws-java-sdk-1.11.0/src/test/groovy/AWSClientTest.groovy +++ b/dd-java-agent/instrumentation/aws-java-sdk-1.11.0/src/test/groovy/AWSClientTest.groovy @@ -1,9 +1,6 @@ -import com.amazonaws.AmazonClientException import com.amazonaws.AmazonWebServiceClient import com.amazonaws.ClientConfiguration import com.amazonaws.Request -import com.amazonaws.SDKGlobalConfiguration -import com.amazonaws.SdkClientException import com.amazonaws.auth.AWSCredentialsProviderChain import com.amazonaws.auth.AWSStaticCredentialsProvider import com.amazonaws.auth.AnonymousAWSCredentials @@ -146,6 +143,8 @@ class AWSClientTest extends AgentTestRunner { "$Tags.HTTP_URL" "$server.address/" "$Tags.HTTP_METHOD" "$method" "$Tags.HTTP_STATUS" 200 + "$Tags.PEER_PORT" server.address.port + "$Tags.PEER_HOSTNAME" "localhost" "aws.service" { it.contains(service) } "aws.endpoint" "$server.address" "aws.operation" "${operation}Request" @@ -240,6 +239,8 @@ class AWSClientTest extends AgentTestRunner { "$Tags.SPAN_KIND" Tags.SPAN_KIND_CLIENT "$Tags.HTTP_URL" "http://localhost:${UNUSABLE_PORT}/" "$Tags.HTTP_METHOD" "$method" + "$Tags.PEER_HOSTNAME" "localhost" + "$Tags.PEER_PORT" 61 "aws.service" { it.contains(service) } "aws.endpoint" "http://localhost:${UNUSABLE_PORT}" "aws.operation" "${operation}Request" @@ -306,6 +307,7 @@ class AWSClientTest extends AgentTestRunner { "$Tags.SPAN_KIND" Tags.SPAN_KIND_CLIENT "$Tags.HTTP_URL" "https://s3.amazonaws.com/" "$Tags.HTTP_METHOD" "HEAD" + "$Tags.PEER_HOSTNAME" "s3.amazonaws.com" "aws.service" "Amazon S3" "aws.endpoint" "https://s3.amazonaws.com" "aws.operation" "HeadBucketRequest" @@ -352,6 +354,8 @@ class AWSClientTest extends AgentTestRunner { "$Tags.SPAN_KIND" Tags.SPAN_KIND_CLIENT "$Tags.HTTP_URL" "$server.address/" "$Tags.HTTP_METHOD" "GET" + "$Tags.PEER_PORT" server.address.port + "$Tags.PEER_HOSTNAME" "localhost" "aws.service" "Amazon S3" "aws.endpoint" "$server.address" "aws.operation" "GetObjectRequest" diff --git a/dd-java-agent/instrumentation/aws-java-sdk-1.11.0/src/test_before_1_11_106/groovy/AWSClientTest.groovy b/dd-java-agent/instrumentation/aws-java-sdk-1.11.0/src/test_before_1_11_106/groovy/AWSClientTest.groovy index 8d19d5369b9..6c993e8f1ba 100644 --- a/dd-java-agent/instrumentation/aws-java-sdk-1.11.0/src/test_before_1_11_106/groovy/AWSClientTest.groovy +++ b/dd-java-agent/instrumentation/aws-java-sdk-1.11.0/src/test_before_1_11_106/groovy/AWSClientTest.groovy @@ -109,6 +109,8 @@ class AWSClientTest extends AgentTestRunner { "$Tags.HTTP_URL" "$server.address/" "$Tags.HTTP_METHOD" "$method" "$Tags.HTTP_STATUS" 200 + "$Tags.PEER_PORT" server.address.port + "$Tags.PEER_HOSTNAME" "localhost" "aws.service" { it.contains(service) } "aws.endpoint" "$server.address" "aws.operation" "${operation}Request" @@ -185,6 +187,8 @@ class AWSClientTest extends AgentTestRunner { "$Tags.SPAN_KIND" Tags.SPAN_KIND_CLIENT "$Tags.HTTP_URL" "http://localhost:${UNUSABLE_PORT}/" "$Tags.HTTP_METHOD" "$method" + "$Tags.PEER_PORT" 61 + "$Tags.PEER_HOSTNAME" "localhost" "aws.service" { it.contains(service) } "aws.endpoint" "http://localhost:${UNUSABLE_PORT}" "aws.operation" "${operation}Request" @@ -251,6 +255,7 @@ class AWSClientTest extends AgentTestRunner { "$Tags.SPAN_KIND" Tags.SPAN_KIND_CLIENT "$Tags.HTTP_URL" "https://s3.amazonaws.com/" "$Tags.HTTP_METHOD" "GET" + "$Tags.PEER_HOSTNAME" "s3.amazonaws.com" "aws.service" "Amazon S3" "aws.endpoint" "https://s3.amazonaws.com" "aws.operation" "GetObjectRequest" @@ -298,6 +303,8 @@ class AWSClientTest extends AgentTestRunner { "$Tags.SPAN_KIND" Tags.SPAN_KIND_CLIENT "$Tags.HTTP_URL" "$server.address/" "$Tags.HTTP_METHOD" "GET" + "$Tags.PEER_PORT" server.address.port + "$Tags.PEER_HOSTNAME" "localhost" "aws.service" "Amazon S3" "aws.endpoint" "http://localhost:$server.address.port" "aws.operation" "GetObjectRequest" 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 3b165d0cf47..11f3936a81a 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 @@ -88,16 +88,6 @@ protected URI url(final SdkHttpRequest request) { return request.getUri(); } - @Override - protected String hostname(final SdkHttpRequest request) { - return request.host(); - } - - @Override - protected Integer port(final SdkHttpRequest request) { - return request.port(); - } - @Override protected Integer status(final SdkHttpResponse response) { return response.statusCode(); diff --git a/dd-java-agent/instrumentation/commons-httpclient-2/src/main/java/datadog/trace/instrumentation/commonshttpclient/CommonsHttpClientDecorator.java b/dd-java-agent/instrumentation/commons-httpclient-2/src/main/java/datadog/trace/instrumentation/commonshttpclient/CommonsHttpClientDecorator.java index e10404f2eef..64714a97f8a 100644 --- a/dd-java-agent/instrumentation/commons-httpclient-2/src/main/java/datadog/trace/instrumentation/commonshttpclient/CommonsHttpClientDecorator.java +++ b/dd-java-agent/instrumentation/commons-httpclient-2/src/main/java/datadog/trace/instrumentation/commonshttpclient/CommonsHttpClientDecorator.java @@ -35,24 +35,6 @@ protected URI url(final HttpMethod httpMethod) throws URISyntaxException { } } - @Override - protected String hostname(final HttpMethod httpMethod) { - try { - return httpMethod.getURI().getHost(); - } catch (final URIException e) { - return null; - } - } - - @Override - protected Integer port(final HttpMethod httpMethod) { - try { - return httpMethod.getURI().getPort(); - } catch (final URIException e) { - return null; - } - } - @Override protected Integer status(final HttpMethod httpMethod) { final StatusLine statusLine = httpMethod.getStatusLine(); diff --git a/dd-java-agent/instrumentation/google-http-client/src/main/java/datadog/trace/instrumentation/googlehttpclient/GoogleHttpClientDecorator.java b/dd-java-agent/instrumentation/google-http-client/src/main/java/datadog/trace/instrumentation/googlehttpclient/GoogleHttpClientDecorator.java index fb6da54fc75..2c1965f1e70 100644 --- a/dd-java-agent/instrumentation/google-http-client/src/main/java/datadog/trace/instrumentation/googlehttpclient/GoogleHttpClientDecorator.java +++ b/dd-java-agent/instrumentation/google-http-client/src/main/java/datadog/trace/instrumentation/googlehttpclient/GoogleHttpClientDecorator.java @@ -23,16 +23,6 @@ protected URI url(final HttpRequest httpRequest) throws URISyntaxException { return new URI(fixedUrl); } - @Override - protected String hostname(final HttpRequest httpRequest) { - return httpRequest.getUrl().getHost(); - } - - @Override - protected Integer port(final HttpRequest httpRequest) { - return httpRequest.getUrl().getPort(); - } - @Override protected Integer status(final HttpResponse httpResponse) { return httpResponse.getStatusCode(); diff --git a/dd-java-agent/instrumentation/http-url-connection/src/main/java/datadog/trace/instrumentation/http_url_connection/HttpUrlConnectionDecorator.java b/dd-java-agent/instrumentation/http-url-connection/src/main/java/datadog/trace/instrumentation/http_url_connection/HttpUrlConnectionDecorator.java index d7dcac3461f..19fc28adb70 100644 --- a/dd-java-agent/instrumentation/http-url-connection/src/main/java/datadog/trace/instrumentation/http_url_connection/HttpUrlConnectionDecorator.java +++ b/dd-java-agent/instrumentation/http-url-connection/src/main/java/datadog/trace/instrumentation/http_url_connection/HttpUrlConnectionDecorator.java @@ -4,9 +4,9 @@ import java.net.HttpURLConnection; import java.net.URI; import java.net.URISyntaxException; -import javax.net.ssl.HttpsURLConnection; public class HttpUrlConnectionDecorator extends HttpClientDecorator { + public static final HttpUrlConnectionDecorator DECORATE = new HttpUrlConnectionDecorator(); @Override @@ -29,23 +29,6 @@ protected URI url(final HttpURLConnection connection) throws URISyntaxException return connection.getURL().toURI(); } - @Override - protected String hostname(final HttpURLConnection connection) { - return connection.getURL().getHost(); - } - - @Override - protected Integer port(final HttpURLConnection connection) { - final int port = connection.getURL().getPort(); - if (port > 0) { - return port; - } else if (connection instanceof HttpsURLConnection) { - return 443; - } else { - return 80; - } - } - @Override protected Integer status(final Integer status) { return status; diff --git a/dd-java-agent/instrumentation/jax-rs-client-1.1/src/main/java/datadog/trace/instrumentation/jaxrs/v1/JaxRsClientV1Decorator.java b/dd-java-agent/instrumentation/jax-rs-client-1.1/src/main/java/datadog/trace/instrumentation/jaxrs/v1/JaxRsClientV1Decorator.java index 81eb892c7ac..70b65581066 100644 --- a/dd-java-agent/instrumentation/jax-rs-client-1.1/src/main/java/datadog/trace/instrumentation/jaxrs/v1/JaxRsClientV1Decorator.java +++ b/dd-java-agent/instrumentation/jax-rs-client-1.1/src/main/java/datadog/trace/instrumentation/jaxrs/v1/JaxRsClientV1Decorator.java @@ -28,16 +28,6 @@ protected URI url(final ClientRequest httpRequest) { return httpRequest.getURI(); } - @Override - protected String hostname(final ClientRequest httpRequest) { - return httpRequest.getURI().getHost(); - } - - @Override - protected Integer port(final ClientRequest httpRequest) { - return httpRequest.getURI().getPort(); - } - @Override protected Integer status(final ClientResponse clientResponse) { return clientResponse.getStatus(); diff --git a/dd-java-agent/instrumentation/jax-rs-client-2.0/src/main/java/datadog/trace/instrumentation/jaxrs/JaxRsClientDecorator.java b/dd-java-agent/instrumentation/jax-rs-client-2.0/src/main/java/datadog/trace/instrumentation/jaxrs/JaxRsClientDecorator.java index 4a0ee4f77d1..14fc9fb4b22 100644 --- a/dd-java-agent/instrumentation/jax-rs-client-2.0/src/main/java/datadog/trace/instrumentation/jaxrs/JaxRsClientDecorator.java +++ b/dd-java-agent/instrumentation/jax-rs-client-2.0/src/main/java/datadog/trace/instrumentation/jaxrs/JaxRsClientDecorator.java @@ -29,16 +29,6 @@ protected URI url(final ClientRequestContext httpRequest) { return httpRequest.getUri(); } - @Override - protected String hostname(final ClientRequestContext httpRequest) { - return httpRequest.getUri().getHost(); - } - - @Override - protected Integer port(final ClientRequestContext httpRequest) { - return httpRequest.getUri().getPort(); - } - @Override protected Integer status(final ClientResponseContext httpResponse) { return httpResponse.getStatus(); diff --git a/dd-java-agent/instrumentation/netty-4.0/src/main/java/datadog/trace/instrumentation/netty40/client/NettyHttpClientDecorator.java b/dd-java-agent/instrumentation/netty-4.0/src/main/java/datadog/trace/instrumentation/netty40/client/NettyHttpClientDecorator.java index 9320cf12164..b6093b3681d 100644 --- a/dd-java-agent/instrumentation/netty-4.0/src/main/java/datadog/trace/instrumentation/netty40/client/NettyHttpClientDecorator.java +++ b/dd-java-agent/instrumentation/netty-4.0/src/main/java/datadog/trace/instrumentation/netty40/client/NettyHttpClientDecorator.java @@ -38,35 +38,6 @@ protected URI url(final HttpRequest request) throws URISyntaxException { } } - @Override - protected String hostname(final HttpRequest request) { - try { - final URI uri = new URI(request.getUri()); - if ((uri.getHost() == null || uri.getHost().equals("")) && request.headers().contains(HOST)) { - return request.headers().get(HOST).split(":")[0]; - } else { - return uri.getHost(); - } - } catch (final Exception e) { - return null; - } - } - - @Override - protected Integer port(final HttpRequest request) { - try { - final URI uri = new URI(request.getUri()); - if ((uri.getHost() == null || uri.getHost().equals("")) && request.headers().contains(HOST)) { - final String[] hostPort = request.headers().get(HOST).split(":"); - return hostPort.length == 2 ? Integer.parseInt(hostPort[1]) : null; - } else { - return uri.getPort(); - } - } catch (final Exception e) { - return null; - } - } - @Override protected Integer status(final HttpResponse httpResponse) { return httpResponse.getStatus().code(); diff --git a/dd-java-agent/instrumentation/netty-4.1/src/main/java/datadog/trace/instrumentation/netty41/client/NettyHttpClientDecorator.java b/dd-java-agent/instrumentation/netty-4.1/src/main/java/datadog/trace/instrumentation/netty41/client/NettyHttpClientDecorator.java index 29f1c7d071a..598b237e32f 100644 --- a/dd-java-agent/instrumentation/netty-4.1/src/main/java/datadog/trace/instrumentation/netty41/client/NettyHttpClientDecorator.java +++ b/dd-java-agent/instrumentation/netty-4.1/src/main/java/datadog/trace/instrumentation/netty41/client/NettyHttpClientDecorator.java @@ -38,35 +38,6 @@ protected URI url(final HttpRequest request) throws URISyntaxException { } } - @Override - protected String hostname(final HttpRequest request) { - try { - final URI uri = new URI(request.uri()); - if ((uri.getHost() == null || uri.getHost().equals("")) && request.headers().contains(HOST)) { - return request.headers().get(HOST).split(":")[0]; - } else { - return uri.getHost(); - } - } catch (final Exception e) { - return null; - } - } - - @Override - protected Integer port(final HttpRequest request) { - try { - final URI uri = new URI(request.uri()); - if ((uri.getHost() == null || uri.getHost().equals("")) && request.headers().contains(HOST)) { - final String[] hostPort = request.headers().get(HOST).split(":"); - return hostPort.length == 2 ? Integer.parseInt(hostPort[1]) : null; - } else { - return uri.getPort(); - } - } catch (final Exception e) { - return null; - } - } - @Override protected Integer status(final HttpResponse httpResponse) { return httpResponse.status().code(); diff --git a/dd-java-agent/instrumentation/okhttp-3/src/main/java/datadog/trace/instrumentation/okhttp3/OkHttpClientDecorator.java b/dd-java-agent/instrumentation/okhttp-3/src/main/java/datadog/trace/instrumentation/okhttp3/OkHttpClientDecorator.java index 0caad8109c6..bb203054c31 100644 --- a/dd-java-agent/instrumentation/okhttp-3/src/main/java/datadog/trace/instrumentation/okhttp3/OkHttpClientDecorator.java +++ b/dd-java-agent/instrumentation/okhttp-3/src/main/java/datadog/trace/instrumentation/okhttp3/OkHttpClientDecorator.java @@ -33,16 +33,6 @@ protected URI url(final Request httpRequest) { return httpRequest.url().uri(); } - @Override - protected String hostname(final Request httpRequest) { - return httpRequest.url().host(); - } - - @Override - protected Integer port(final Request httpRequest) { - return httpRequest.url().port(); - } - @Override protected Integer status(final Response httpResponse) { return httpResponse.code(); diff --git a/dd-java-agent/instrumentation/play-ws/src/main/java/datadog/trace/instrumentation/playws/PlayWSClientDecorator.java b/dd-java-agent/instrumentation/play-ws/src/main/java/datadog/trace/instrumentation/playws/PlayWSClientDecorator.java index 1a2d3f933d8..1cf99580236 100644 --- a/dd-java-agent/instrumentation/play-ws/src/main/java/datadog/trace/instrumentation/playws/PlayWSClientDecorator.java +++ b/dd-java-agent/instrumentation/play-ws/src/main/java/datadog/trace/instrumentation/playws/PlayWSClientDecorator.java @@ -19,16 +19,6 @@ protected URI url(final Request request) throws URISyntaxException { return request.getUri().toJavaNetURI(); } - @Override - protected String hostname(final Request request) { - return request.getUri().getHost(); - } - - @Override - protected Integer port(final Request request) { - return request.getUri().getPort(); - } - @Override protected Integer status(final Response response) { return response.getStatusCode(); diff --git a/dd-java-agent/instrumentation/spring-webflux-5/src/main/java8/datadog/trace/instrumentation/springwebflux/client/SpringWebfluxHttpClientDecorator.java b/dd-java-agent/instrumentation/spring-webflux-5/src/main/java8/datadog/trace/instrumentation/springwebflux/client/SpringWebfluxHttpClientDecorator.java index 84d67ecf5ef..ae78ee15614 100644 --- a/dd-java-agent/instrumentation/spring-webflux-5/src/main/java8/datadog/trace/instrumentation/springwebflux/client/SpringWebfluxHttpClientDecorator.java +++ b/dd-java-agent/instrumentation/spring-webflux-5/src/main/java8/datadog/trace/instrumentation/springwebflux/client/SpringWebfluxHttpClientDecorator.java @@ -39,16 +39,6 @@ protected URI url(final ClientRequest httpRequest) { return httpRequest.url(); } - @Override - protected String hostname(final ClientRequest httpRequest) { - return httpRequest.url().getHost(); - } - - @Override - protected Integer port(final ClientRequest httpRequest) { - return httpRequest.url().getPort(); - } - @Override protected Integer status(final ClientResponse httpResponse) { return httpResponse.statusCode().value(); From 0069c101b343ef4e0b0afbd77f69513b23fa9a16 Mon Sep 17 00:00:00 2001 From: Anubhaw Arya Date: Fri, 13 Mar 2020 11:06:00 -0700 Subject: [PATCH 2/2] oops --- .../aws-java-sdk-1.11.0/src/test/groovy/AWSClientTest.groovy | 3 +++ 1 file changed, 3 insertions(+) diff --git a/dd-java-agent/instrumentation/aws-java-sdk-1.11.0/src/test/groovy/AWSClientTest.groovy b/dd-java-agent/instrumentation/aws-java-sdk-1.11.0/src/test/groovy/AWSClientTest.groovy index 2d83a4bc354..0e66a21c8ec 100644 --- a/dd-java-agent/instrumentation/aws-java-sdk-1.11.0/src/test/groovy/AWSClientTest.groovy +++ b/dd-java-agent/instrumentation/aws-java-sdk-1.11.0/src/test/groovy/AWSClientTest.groovy @@ -1,6 +1,9 @@ +import com.amazonaws.AmazonClientException import com.amazonaws.AmazonWebServiceClient import com.amazonaws.ClientConfiguration import com.amazonaws.Request +import com.amazonaws.SDKGlobalConfiguration +import com.amazonaws.SdkClientException import com.amazonaws.auth.AWSCredentialsProviderChain import com.amazonaws.auth.AWSStaticCredentialsProvider import com.amazonaws.auth.AnonymousAWSCredentials