Skip to content

Commit b4a314e

Browse files
committed
elasticsearch-api-client-7.16
1 parent 2088d86 commit b4a314e

File tree

4 files changed

+27
-9
lines changed

4 files changed

+27
-9
lines changed

instrumentation/elasticsearch/elasticsearch-api-client-7.16/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/elasticsearch/apiclient/ElasticsearchApiClientInstrumentationModule.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,4 +42,9 @@ public List<TypeInstrumentation> typeInstrumentations() {
4242
return asList(
4343
new RestClientTransportInstrumentation(), new RestClientHttpClientInstrumentation());
4444
}
45+
46+
@Override
47+
public boolean isIndyReady() {
48+
return true;
49+
}
4550
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
/*
2+
* Copyright The OpenTelemetry Authors
3+
* SPDX-License-Identifier: Apache-2.0
4+
*/
5+
6+
package io.opentelemetry.javaagent.instrumentation.elasticsearch.apiclient;
7+
8+
import io.opentelemetry.instrumentation.api.util.VirtualField;
9+
import io.opentelemetry.instrumentation.elasticsearch.rest.common.v5_0.internal.ElasticsearchEndpointDefinition;
10+
import org.elasticsearch.client.Request;
11+
12+
public class ElasticsearchApiClientSingletons {
13+
14+
public static final VirtualField<Request, ElasticsearchEndpointDefinition> ENDPOINT_DEFINITION =
15+
VirtualField.find(Request.class, ElasticsearchEndpointDefinition.class);
16+
17+
private ElasticsearchApiClientSingletons() {}
18+
}

instrumentation/elasticsearch/elasticsearch-api-client-7.16/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/elasticsearch/apiclient/RestClientHttpClientInstrumentation.java

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55

66
package io.opentelemetry.javaagent.instrumentation.elasticsearch.apiclient;
77

8+
import static io.opentelemetry.javaagent.instrumentation.elasticsearch.apiclient.ElasticsearchApiClientSingletons.ENDPOINT_DEFINITION;
89
import static net.bytebuddy.matcher.ElementMatchers.isMethod;
910
import static net.bytebuddy.matcher.ElementMatchers.named;
1011
import static net.bytebuddy.matcher.ElementMatchers.namedOneOf;
@@ -13,8 +14,6 @@
1314

1415
import io.opentelemetry.context.Context;
1516
import io.opentelemetry.context.Scope;
16-
import io.opentelemetry.instrumentation.api.util.VirtualField;
17-
import io.opentelemetry.instrumentation.elasticsearch.rest.common.v5_0.internal.ElasticsearchEndpointDefinition;
1817
import io.opentelemetry.javaagent.extension.instrumentation.TypeInstrumentation;
1918
import io.opentelemetry.javaagent.extension.instrumentation.TypeTransformer;
2019
import net.bytebuddy.asm.Advice;
@@ -72,8 +71,7 @@ public static void onExit(@Advice.Return Request request) {
7271
if (endpointId.startsWith("es/") && endpointId.length() > 3) {
7372
endpointId = endpointId.substring(3);
7473
}
75-
VirtualField.find(Request.class, ElasticsearchEndpointDefinition.class)
76-
.set(request, ElasticsearchEndpointMap.get(endpointId));
74+
ENDPOINT_DEFINITION.set(request, ElasticsearchEndpointMap.get(endpointId));
7775
}
7876
}
7977
}

instrumentation/elasticsearch/elasticsearch-api-client-7.16/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/elasticsearch/apiclient/RestClientTransportInstrumentation.java

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,13 @@
55

66
package io.opentelemetry.javaagent.instrumentation.elasticsearch.apiclient;
77

8+
import static io.opentelemetry.javaagent.instrumentation.elasticsearch.apiclient.ElasticsearchApiClientSingletons.ENDPOINT_DEFINITION;
89
import static net.bytebuddy.matcher.ElementMatchers.isMethod;
910
import static net.bytebuddy.matcher.ElementMatchers.named;
1011
import static net.bytebuddy.matcher.ElementMatchers.returns;
1112
import static net.bytebuddy.matcher.ElementMatchers.takesArgument;
1213

1314
import co.elastic.clients.transport.Endpoint;
14-
import io.opentelemetry.instrumentation.api.util.VirtualField;
15-
import io.opentelemetry.instrumentation.elasticsearch.rest.common.v5_0.internal.ElasticsearchEndpointDefinition;
1615
import io.opentelemetry.javaagent.extension.instrumentation.TypeInstrumentation;
1716
import io.opentelemetry.javaagent.extension.instrumentation.TypeTransformer;
1817
import net.bytebuddy.asm.Advice;
@@ -44,13 +43,11 @@ public static class RestClientTransportAdvice {
4443
@Advice.OnMethodExit(onThrowable = Throwable.class, suppress = Throwable.class)
4544
public static void onPrepareLowLevelRequest(
4645
@Advice.Argument(1) Endpoint<?, ?, ?> endpoint, @Advice.Return Request request) {
47-
VirtualField<Request, ElasticsearchEndpointDefinition> virtualField =
48-
VirtualField.find(Request.class, ElasticsearchEndpointDefinition.class);
4946
String endpointId = endpoint.id();
5047
if (endpointId.startsWith("es/") && endpointId.length() > 3) {
5148
endpointId = endpointId.substring(3);
5249
}
53-
virtualField.set(request, ElasticsearchEndpointMap.get(endpointId));
50+
ENDPOINT_DEFINITION.set(request, ElasticsearchEndpointMap.get(endpointId));
5451
}
5552
}
5653
}

0 commit comments

Comments
 (0)