Skip to content

Commit

Permalink
Fixed tests
Browse files Browse the repository at this point in the history
Signed-off-by: Alexander Wert <alexander.wert@elastic.co>
  • Loading branch information
AlexanderWert committed Jul 4, 2023
1 parent d9c5117 commit 273a785
Show file tree
Hide file tree
Showing 5 changed files with 35 additions and 16 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -3,24 +3,18 @@
* SPDX-License-Identifier: Apache-2.0
*/

import static io.opentelemetry.instrumentation.testing.GlobalTraceUtil.runWithSpan;
import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.equalTo;
import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.satisfies;

import co.elastic.clients.elasticsearch.ElasticsearchAsyncClient;
import co.elastic.clients.elasticsearch.ElasticsearchClient;
import co.elastic.clients.elasticsearch.core.InfoResponse;
import co.elastic.clients.json.jackson.JacksonJsonpMapper;
import co.elastic.clients.transport.ElasticsearchTransport;
import co.elastic.clients.transport.Version;
import co.elastic.clients.transport.rest_client.RestClientTransport;
import io.opentelemetry.api.common.AttributeKey;
import io.opentelemetry.api.trace.SpanKind;
import io.opentelemetry.instrumentation.testing.junit.AgentInstrumentationExtension;
import io.opentelemetry.instrumentation.testing.junit.InstrumentationExtension;
import io.opentelemetry.semconv.trace.attributes.SemanticAttributes;
import java.io.IOException;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.TimeUnit;
import org.apache.http.HttpHost;
import org.assertj.core.api.AbstractLongAssert;
import org.elasticsearch.client.RestClient;
Expand All @@ -30,6 +24,13 @@
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.RegisterExtension;
import org.testcontainers.elasticsearch.ElasticsearchContainer;
import java.io.IOException;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.TimeUnit;

import static io.opentelemetry.instrumentation.testing.GlobalTraceUtil.runWithSpan;
import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.equalTo;
import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.satisfies;

public class ElasticsearchClientTest {
@RegisterExtension
Expand Down Expand Up @@ -73,7 +74,7 @@ static void cleanUp() {
}

private static String userAgent() {
return "elastic-java/7.16.0" + " (Java/" + System.getProperty("java.version") + ")";
return "elastic-java/" + Version.VERSION + " (Java/" + System.getProperty("java.version") + ")";
}

@Test
Expand All @@ -92,7 +93,9 @@ public void elasticsearchStatus() throws IOException {
equalTo(SemanticAttributes.DB_SYSTEM, "elasticsearch"),
equalTo(SemanticAttributes.DB_OPERATION, "info"),
equalTo(SemanticAttributes.HTTP_METHOD, "GET"),
equalTo(SemanticAttributes.HTTP_URL, httpHost.toURI() + "/")),
equalTo(SemanticAttributes.HTTP_URL, httpHost.toURI() + "/"),
equalTo(SemanticAttributes.NET_PEER_NAME, httpHost.getHostName()),
equalTo(SemanticAttributes.NET_PEER_PORT, httpHost.getPort())),
span ->
span.hasName("GET")
.hasKind(SpanKind.CLIENT)
Expand Down Expand Up @@ -130,6 +133,8 @@ public void elasticsearchIndex() throws IOException {
.hasAttributesSatisfyingExactly(
equalTo(SemanticAttributes.DB_SYSTEM, "elasticsearch"),
equalTo(SemanticAttributes.DB_OPERATION, "index"),
equalTo(SemanticAttributes.NET_PEER_NAME, httpHost.getHostName()),
equalTo(SemanticAttributes.NET_PEER_PORT, httpHost.getPort()),
equalTo(SemanticAttributes.HTTP_METHOD, "PUT"),
equalTo(
SemanticAttributes.HTTP_URL,
Expand Down Expand Up @@ -194,6 +199,8 @@ public void elasticsearchStatusAsync() throws Exception {
.hasAttributesSatisfyingExactly(
equalTo(SemanticAttributes.DB_SYSTEM, "elasticsearch"),
equalTo(SemanticAttributes.DB_OPERATION, "info"),
equalTo(SemanticAttributes.NET_PEER_NAME, httpHost.getHostName()),
equalTo(SemanticAttributes.NET_PEER_PORT, httpHost.getPort()),
equalTo(SemanticAttributes.HTTP_METHOD, "GET"),
equalTo(SemanticAttributes.HTTP_URL, httpHost.toURI() + "/")),
span ->
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,8 @@ void elasticsearchStatus() throws IOException {
.hasAttributesSatisfyingExactly(
equalTo(SemanticAttributes.DB_SYSTEM, "elasticsearch"),
equalTo(SemanticAttributes.HTTP_METHOD, "GET"),
equalTo(SemanticAttributes.NET_PEER_NAME, httpHost.getHostName()),
equalTo(SemanticAttributes.NET_PEER_PORT, httpHost.getPort()),
equalTo(
SemanticAttributes.HTTP_URL, httpHost.toURI() + "/_cluster/health"));
},
Expand Down Expand Up @@ -172,6 +174,8 @@ public void onFailure(Exception e) {
.hasAttributesSatisfyingExactly(
equalTo(SemanticAttributes.DB_SYSTEM, "elasticsearch"),
equalTo(SemanticAttributes.HTTP_METHOD, "GET"),
equalTo(SemanticAttributes.NET_PEER_NAME, httpHost.getHostName()),
equalTo(SemanticAttributes.NET_PEER_PORT, httpHost.getPort()),
equalTo(
SemanticAttributes.HTTP_URL, httpHost.toURI() + "/_cluster/health"));
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,8 @@ public void elasticsearchStatus() throws IOException {
.hasAttributesSatisfyingExactly(
equalTo(SemanticAttributes.DB_SYSTEM, "elasticsearch"),
equalTo(SemanticAttributes.HTTP_METHOD, "GET"),
equalTo(SemanticAttributes.NET_PEER_NAME, httpHost.getHostName()),
equalTo(SemanticAttributes.NET_PEER_PORT, httpHost.getPort()),
equalTo(
SemanticAttributes.HTTP_URL, httpHost.toURI() + "/_cluster/health"));
},
Expand Down Expand Up @@ -162,6 +164,8 @@ public void onFailure(Exception e) {
.hasAttributesSatisfyingExactly(
equalTo(SemanticAttributes.DB_SYSTEM, "elasticsearch"),
equalTo(SemanticAttributes.HTTP_METHOD, "GET"),
equalTo(SemanticAttributes.NET_PEER_NAME, httpHost.getHostName()),
equalTo(SemanticAttributes.NET_PEER_PORT, httpHost.getPort()),
equalTo(
SemanticAttributes.HTTP_URL, httpHost.toURI() + "/_cluster/health"));
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,8 @@ public void elasticsearchStatus() throws Exception {
.hasAttributesSatisfyingExactly(
equalTo(SemanticAttributes.DB_SYSTEM, "elasticsearch"),
equalTo(SemanticAttributes.HTTP_METHOD, "GET"),
equalTo(SemanticAttributes.NET_PEER_NAME, httpHost.getHostName()),
equalTo(SemanticAttributes.NET_PEER_PORT, httpHost.getPort()),
equalTo(
SemanticAttributes.HTTP_URL,
httpHost.toURI() + "/_cluster/health")),
Expand Down Expand Up @@ -159,6 +161,8 @@ public void onFailure(Exception e) {
.hasAttributesSatisfyingExactly(
equalTo(SemanticAttributes.DB_SYSTEM, "elasticsearch"),
equalTo(SemanticAttributes.HTTP_METHOD, "GET"),
equalTo(SemanticAttributes.NET_PEER_NAME, httpHost.getHostName()),
equalTo(SemanticAttributes.NET_PEER_PORT, httpHost.getPort()),
equalTo(
SemanticAttributes.HTTP_URL,
httpHost.toURI() + "/_cluster/health")),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@
import io.opentelemetry.instrumentation.api.instrumenter.url.internal.UrlAttributes;
import io.opentelemetry.instrumentation.api.internal.SemconvStability;
import io.opentelemetry.semconv.trace.attributes.SemanticAttributes;
import java.net.InetAddress;
import javax.annotation.Nullable;
import org.apache.http.HttpHost;
import org.elasticsearch.client.Response;

public class ElasticsearchClientAttributeExtractor
Expand All @@ -25,16 +25,16 @@ public class ElasticsearchClientAttributeExtractor
private static final String PATH_PARTS_ATTRIBUTE_PREFIX = "db.elasticsearch.path_parts.";

private static void setServerAttributes(AttributesBuilder attributes, Response response) {
InetAddress hostAddress = response.getHost().getAddress();
if (hostAddress != null) {
HttpHost host = response.getHost();
if (host != null) {
if (SemconvStability.emitStableHttpSemconv()) {
internalSet(attributes, NetworkAttributes.SERVER_ADDRESS, hostAddress.getHostAddress());
internalSet(attributes, NetworkAttributes.SERVER_PORT, (long) response.getHost().getPort());
internalSet(attributes, NetworkAttributes.SERVER_ADDRESS, host.getHostName());
internalSet(attributes, NetworkAttributes.SERVER_PORT, (long) host.getPort());
}
if (SemconvStability.emitOldHttpSemconv()) {
internalSet(attributes, SemanticAttributes.NET_PEER_NAME, hostAddress.getHostAddress());
internalSet(attributes, SemanticAttributes.NET_PEER_NAME, host.getHostName());
internalSet(
attributes, SemanticAttributes.NET_PEER_PORT, (long) response.getHost().getPort());
attributes, SemanticAttributes.NET_PEER_PORT, (long) host.getPort());
}
}
}
Expand Down

0 comments on commit 273a785

Please sign in to comment.