Add HttpAsyncClient to Elasticsearch for verification.
This commit is contained in:
parent
9ad06a6791
commit
20df3aa18e
|
@ -34,7 +34,8 @@ public abstract class HttpClientDecorator<REQUEST, RESPONSE> extends ClientDecor
|
||||||
Tags.HTTP_METHOD.set(span, method(request));
|
Tags.HTTP_METHOD.set(span, method(request));
|
||||||
Tags.HTTP_URL.set(span, url(request));
|
Tags.HTTP_URL.set(span, url(request));
|
||||||
Tags.PEER_HOSTNAME.set(span, hostname(request));
|
Tags.PEER_HOSTNAME.set(span, hostname(request));
|
||||||
Tags.PEER_PORT.set(span, port(request));
|
final Integer port = port(request);
|
||||||
|
Tags.PEER_PORT.set(span, port != null && port > 0 ? port : null);
|
||||||
|
|
||||||
if (Config.get().isHttpClientSplitByDomain()) {
|
if (Config.get().isHttpClientSplitByDomain()) {
|
||||||
span.setTag(DDTags.SERVICE_NAME, hostname(request));
|
span.setTag(DDTags.SERVICE_NAME, hostname(request));
|
||||||
|
|
|
@ -38,10 +38,8 @@ dependencies {
|
||||||
implementation deps.autoservice
|
implementation deps.autoservice
|
||||||
|
|
||||||
testCompile project(':dd-java-agent:testing')
|
testCompile project(':dd-java-agent:testing')
|
||||||
// Include httpclient instrumentation for testing because it is a dependency for elasticsearch-rest-client.
|
|
||||||
// It doesn't actually work though. They use HttpAsyncClient, which isn't currently instrumented.
|
|
||||||
// TODO: add Apache's HttpAsyncClient instrumentation when that is complete.
|
|
||||||
testCompile project(':dd-java-agent:instrumentation:apache-httpclient-4')
|
testCompile project(':dd-java-agent:instrumentation:apache-httpclient-4')
|
||||||
|
testCompile project(':dd-java-agent:instrumentation:apache-httpasyncclient-4')
|
||||||
|
|
||||||
testCompile group: 'org.apache.logging.log4j', name: 'log4j-core', version: '2.11.0'
|
testCompile group: 'org.apache.logging.log4j', name: 'log4j-core', version: '2.11.0'
|
||||||
testCompile group: 'org.apache.logging.log4j', name: 'log4j-api', version: '2.11.0'
|
testCompile group: 'org.apache.logging.log4j', name: 'log4j-api', version: '2.11.0'
|
||||||
|
|
|
@ -78,7 +78,7 @@ class Elasticsearch6RestClientTest extends AgentTestRunner {
|
||||||
result.status == "green"
|
result.status == "green"
|
||||||
|
|
||||||
assertTraces(1) {
|
assertTraces(1) {
|
||||||
trace(0, 1) {
|
trace(0, 2) {
|
||||||
span(0) {
|
span(0) {
|
||||||
serviceName "elasticsearch"
|
serviceName "elasticsearch"
|
||||||
resourceName "GET _cluster/health"
|
resourceName "GET _cluster/health"
|
||||||
|
@ -96,6 +96,21 @@ class Elasticsearch6RestClientTest extends AgentTestRunner {
|
||||||
defaultTags()
|
defaultTags()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
span(1) {
|
||||||
|
serviceName "elasticsearch"
|
||||||
|
resourceName "GET _cluster/health"
|
||||||
|
operationName "http.request"
|
||||||
|
spanType DDSpanTypes.HTTP_CLIENT
|
||||||
|
childOf span(0)
|
||||||
|
tags {
|
||||||
|
"$Tags.COMPONENT.key" "apache-httpasyncclient"
|
||||||
|
"$Tags.SPAN_KIND.key" Tags.SPAN_KIND_CLIENT
|
||||||
|
"$Tags.HTTP_METHOD.key" "GET"
|
||||||
|
"$Tags.HTTP_URL.key" "_cluster/health"
|
||||||
|
"$Tags.HTTP_STATUS.key" 200
|
||||||
|
defaultTags()
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -83,7 +83,7 @@ class Elasticsearch5RestClientTest extends AgentTestRunner {
|
||||||
result.status == "green"
|
result.status == "green"
|
||||||
|
|
||||||
assertTraces(1) {
|
assertTraces(1) {
|
||||||
trace(0, 1) {
|
trace(0, 2) {
|
||||||
span(0) {
|
span(0) {
|
||||||
serviceName "elasticsearch"
|
serviceName "elasticsearch"
|
||||||
resourceName "GET _cluster/health"
|
resourceName "GET _cluster/health"
|
||||||
|
@ -101,6 +101,21 @@ class Elasticsearch5RestClientTest extends AgentTestRunner {
|
||||||
defaultTags()
|
defaultTags()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
span(1) {
|
||||||
|
serviceName "elasticsearch"
|
||||||
|
resourceName "GET _cluster/health"
|
||||||
|
operationName "http.request"
|
||||||
|
spanType DDSpanTypes.HTTP_CLIENT
|
||||||
|
childOf span(0)
|
||||||
|
tags {
|
||||||
|
"$Tags.COMPONENT.key" "apache-httpasyncclient"
|
||||||
|
"$Tags.SPAN_KIND.key" Tags.SPAN_KIND_CLIENT
|
||||||
|
"$Tags.HTTP_METHOD.key" "GET"
|
||||||
|
"$Tags.HTTP_URL.key" "_cluster/health"
|
||||||
|
"$Tags.HTTP_STATUS.key" 200
|
||||||
|
defaultTags()
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -39,10 +39,10 @@ dependencies {
|
||||||
implementation deps.autoservice
|
implementation deps.autoservice
|
||||||
|
|
||||||
testCompile project(':dd-java-agent:testing')
|
testCompile project(':dd-java-agent:testing')
|
||||||
// Include httpclient instrumentation for testing because it is a dependency for elasticsearch-rest-client.
|
|
||||||
// It doesn't actually work though. They use HttpAsyncClient, which isn't currently instrumented.
|
|
||||||
// TODO: add Apache's HttpAsyncClient instrumentation when that is complete.
|
|
||||||
testCompile project(':dd-java-agent:instrumentation:apache-httpclient-4')
|
testCompile project(':dd-java-agent:instrumentation:apache-httpclient-4')
|
||||||
|
testCompile project(':dd-java-agent:instrumentation:apache-httpasyncclient-4')
|
||||||
|
// Netty is used, but it adds complexity to the tests since we're using embedded ES.
|
||||||
|
//testCompile project(':dd-java-agent:instrumentation:netty-4.1')
|
||||||
|
|
||||||
testCompile group: 'org.apache.logging.log4j', name: 'log4j-core', version: '2.11.0'
|
testCompile group: 'org.apache.logging.log4j', name: 'log4j-core', version: '2.11.0'
|
||||||
testCompile group: 'org.apache.logging.log4j', name: 'log4j-api', version: '2.11.0'
|
testCompile group: 'org.apache.logging.log4j', name: 'log4j-api', version: '2.11.0'
|
||||||
|
|
|
@ -82,7 +82,7 @@ class Elasticsearch6RestClientTest extends AgentTestRunner {
|
||||||
result.status == "green"
|
result.status == "green"
|
||||||
|
|
||||||
assertTraces(1) {
|
assertTraces(1) {
|
||||||
trace(0, 1) {
|
trace(0, 2) {
|
||||||
span(0) {
|
span(0) {
|
||||||
serviceName "elasticsearch"
|
serviceName "elasticsearch"
|
||||||
resourceName "GET _cluster/health"
|
resourceName "GET _cluster/health"
|
||||||
|
@ -100,6 +100,21 @@ class Elasticsearch6RestClientTest extends AgentTestRunner {
|
||||||
defaultTags()
|
defaultTags()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
span(1) {
|
||||||
|
serviceName "elasticsearch"
|
||||||
|
resourceName "GET _cluster/health"
|
||||||
|
operationName "http.request"
|
||||||
|
spanType DDSpanTypes.HTTP_CLIENT
|
||||||
|
childOf span(0)
|
||||||
|
tags {
|
||||||
|
"$Tags.COMPONENT.key" "apache-httpasyncclient"
|
||||||
|
"$Tags.SPAN_KIND.key" Tags.SPAN_KIND_CLIENT
|
||||||
|
"$Tags.HTTP_METHOD.key" "GET"
|
||||||
|
"$Tags.HTTP_URL.key" "_cluster/health"
|
||||||
|
"$Tags.HTTP_STATUS.key" 200
|
||||||
|
defaultTags()
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -78,7 +78,7 @@ class Elasticsearch6RestClientTest extends AgentTestRunner {
|
||||||
result.status == "green"
|
result.status == "green"
|
||||||
|
|
||||||
assertTraces(1) {
|
assertTraces(1) {
|
||||||
trace(0, 1) {
|
trace(0, 2) {
|
||||||
span(0) {
|
span(0) {
|
||||||
serviceName "elasticsearch"
|
serviceName "elasticsearch"
|
||||||
resourceName "GET _cluster/health"
|
resourceName "GET _cluster/health"
|
||||||
|
@ -96,6 +96,21 @@ class Elasticsearch6RestClientTest extends AgentTestRunner {
|
||||||
defaultTags()
|
defaultTags()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
span(1) {
|
||||||
|
serviceName "elasticsearch"
|
||||||
|
resourceName "GET _cluster/health"
|
||||||
|
operationName "http.request"
|
||||||
|
spanType DDSpanTypes.HTTP_CLIENT
|
||||||
|
childOf span(0)
|
||||||
|
tags {
|
||||||
|
"$Tags.COMPONENT.key" "apache-httpasyncclient"
|
||||||
|
"$Tags.SPAN_KIND.key" Tags.SPAN_KIND_CLIENT
|
||||||
|
"$Tags.HTTP_METHOD.key" "GET"
|
||||||
|
"$Tags.HTTP_URL.key" "_cluster/health"
|
||||||
|
"$Tags.HTTP_STATUS.key" 200
|
||||||
|
defaultTags()
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -36,6 +36,7 @@ dependencies {
|
||||||
// Ensure no cross interference
|
// Ensure no cross interference
|
||||||
testCompile project(':dd-java-agent:instrumentation:elasticsearch:rest-5')
|
testCompile project(':dd-java-agent:instrumentation:elasticsearch:rest-5')
|
||||||
testCompile project(':dd-java-agent:instrumentation:elasticsearch:transport-5')
|
testCompile project(':dd-java-agent:instrumentation:elasticsearch:transport-5')
|
||||||
|
testCompile project(':dd-java-agent:instrumentation:apache-httpasyncclient-4')
|
||||||
|
|
||||||
testCompile group: 'org.elasticsearch', name: 'elasticsearch', version: '2.0.0'
|
testCompile group: 'org.elasticsearch', name: 'elasticsearch', version: '2.0.0'
|
||||||
|
|
||||||
|
|
|
@ -40,6 +40,8 @@ dependencies {
|
||||||
implementation deps.autoservice
|
implementation deps.autoservice
|
||||||
|
|
||||||
testCompile project(':dd-java-agent:testing')
|
testCompile project(':dd-java-agent:testing')
|
||||||
|
testCompile project(':dd-java-agent:instrumentation:apache-httpasyncclient-4')
|
||||||
|
testCompile project(':dd-java-agent:instrumentation:netty-4.1')
|
||||||
|
|
||||||
testCompile group: 'org.apache.logging.log4j', name: 'log4j-core', version: '2.11.0'
|
testCompile group: 'org.apache.logging.log4j', name: 'log4j-core', version: '2.11.0'
|
||||||
testCompile group: 'org.apache.logging.log4j', name: 'log4j-api', version: '2.11.0'
|
testCompile group: 'org.apache.logging.log4j', name: 'log4j-api', version: '2.11.0'
|
||||||
|
|
|
@ -42,11 +42,8 @@ dependencies {
|
||||||
testCompile project(':dd-java-agent:testing')
|
testCompile project(':dd-java-agent:testing')
|
||||||
// Ensure no cross interference
|
// Ensure no cross interference
|
||||||
testCompile project(':dd-java-agent:instrumentation:elasticsearch:rest-5')
|
testCompile project(':dd-java-agent:instrumentation:elasticsearch:rest-5')
|
||||||
// Include httpclient instrumentation for testing because it is a dependency for elasticsearch-rest-client.
|
testCompile project(':dd-java-agent:instrumentation:apache-httpasyncclient-4')
|
||||||
// It doesn't actually work though. They use HttpAsyncClient, which isn't currently instrumented.
|
testCompile project(':dd-java-agent:instrumentation:netty-4.1')
|
||||||
// TODO: add HttpAsyncClient instrumentation when that is complete.
|
|
||||||
testCompile project(':dd-java-agent:instrumentation:apache-httpclient-4')
|
|
||||||
// TODO: add netty instrumentation when that is complete.
|
|
||||||
|
|
||||||
testCompile group: 'org.apache.logging.log4j', name: 'log4j-core', version: '2.11.0'
|
testCompile group: 'org.apache.logging.log4j', name: 'log4j-core', version: '2.11.0'
|
||||||
testCompile group: 'org.apache.logging.log4j', name: 'log4j-api', version: '2.11.0'
|
testCompile group: 'org.apache.logging.log4j', name: 'log4j-api', version: '2.11.0'
|
||||||
|
|
|
@ -42,10 +42,8 @@ dependencies {
|
||||||
testCompile project(':dd-java-agent:testing')
|
testCompile project(':dd-java-agent:testing')
|
||||||
// Ensure no cross interference
|
// Ensure no cross interference
|
||||||
testCompile project(':dd-java-agent:instrumentation:elasticsearch:rest-5')
|
testCompile project(':dd-java-agent:instrumentation:elasticsearch:rest-5')
|
||||||
// Include httpclient instrumentation for testing because it is a dependency for elasticsearch-rest-client.
|
testCompile project(':dd-java-agent:instrumentation:apache-httpasyncclient-4')
|
||||||
// It doesn't actually work though. They use HttpAsyncClient, which isn't currently instrumented.
|
testCompile project(':dd-java-agent:instrumentation:netty-4.1')
|
||||||
// TODO: add HttpAsyncClient instrumentation when that is complete.
|
|
||||||
testCompile project(':dd-java-agent:instrumentation:apache-httpclient-4')
|
|
||||||
|
|
||||||
testCompile group: 'org.elasticsearch.plugin', name: 'transport-netty4-client', version: '6.0.0'
|
testCompile group: 'org.elasticsearch.plugin', name: 'transport-netty4-client', version: '6.0.0'
|
||||||
testCompile group: 'org.elasticsearch.client', name: 'transport', version: '6.0.0'
|
testCompile group: 'org.elasticsearch.client', name: 'transport', version: '6.0.0'
|
||||||
|
|
Loading…
Reference in New Issue