From 486af3fa8b342a0893f059bd8cdb4521572c2962 Mon Sep 17 00:00:00 2001 From: Mateusz Rzeszutek Date: Tue, 25 May 2021 13:30:10 +0200 Subject: [PATCH] Add peer.service to apache-httpclient-5.0, jedis-1.4, lettuce-4.0 --- .../v5_0/ApacheHttpClientInstrumenters.java | 6 +++++- .../v5_0/ApacheHttpClientNetAttributesExtractor.java | 8 ++++---- .../instrumentation/jedis/v1_4/JedisInstrumenters.java | 5 ++++- .../jedis/v1_4/JedisNetAttributesExtractor.java | 8 ++++---- .../lettuce/v4_0/LettuceInstrumenters.java | 5 ++++- .../lettuce/v4_0/LettuceNetAttributesExtractor.java | 8 ++++---- 6 files changed, 25 insertions(+), 15 deletions(-) diff --git a/instrumentation/apache-httpclient/apache-httpclient-5.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/apachehttpclient/v5_0/ApacheHttpClientInstrumenters.java b/instrumentation/apache-httpclient/apache-httpclient-5.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/apachehttpclient/v5_0/ApacheHttpClientInstrumenters.java index 80a75b080091..c4ae1f501f82 100644 --- a/instrumentation/apache-httpclient/apache-httpclient-5.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/apachehttpclient/v5_0/ApacheHttpClientInstrumenters.java +++ b/instrumentation/apache-httpclient/apache-httpclient-5.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/apachehttpclient/v5_0/ApacheHttpClientInstrumenters.java @@ -12,6 +12,7 @@ import io.opentelemetry.instrumentation.api.instrumenter.http.HttpAttributesExtractor; import io.opentelemetry.instrumentation.api.instrumenter.http.HttpSpanNameExtractor; import io.opentelemetry.instrumentation.api.instrumenter.http.HttpSpanStatusExtractor; +import io.opentelemetry.javaagent.instrumentation.api.instrumenter.PeerServiceAttributesExtractor; import org.apache.hc.core5.http.ClassicHttpRequest; import org.apache.hc.core5.http.HttpResponse; @@ -28,13 +29,16 @@ public final class ApacheHttpClientInstrumenters { HttpSpanNameExtractor.create(httpAttributesExtractor); SpanStatusExtractor spanStatusExtractor = HttpSpanStatusExtractor.create(httpAttributesExtractor); + ApacheHttpClientNetAttributesExtractor netAttributesExtractor = + new ApacheHttpClientNetAttributesExtractor(); INSTRUMENTER = Instrumenter.newBuilder( GlobalOpenTelemetry.get(), INSTRUMENTATION_NAME, spanNameExtractor) .setSpanStatusExtractor(spanStatusExtractor) .addAttributesExtractor(httpAttributesExtractor) - .addAttributesExtractor(new ApacheHttpClientNetAttributesExtractor()) + .addAttributesExtractor(netAttributesExtractor) + .addAttributesExtractor(PeerServiceAttributesExtractor.create(netAttributesExtractor)) .newClientInstrumenter(new HttpHeaderSetter()); } diff --git a/instrumentation/apache-httpclient/apache-httpclient-5.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/apachehttpclient/v5_0/ApacheHttpClientNetAttributesExtractor.java b/instrumentation/apache-httpclient/apache-httpclient-5.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/apachehttpclient/v5_0/ApacheHttpClientNetAttributesExtractor.java index b764ed085948..951330a4a47b 100644 --- a/instrumentation/apache-httpclient/apache-httpclient-5.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/apachehttpclient/v5_0/ApacheHttpClientNetAttributesExtractor.java +++ b/instrumentation/apache-httpclient/apache-httpclient-5.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/apachehttpclient/v5_0/ApacheHttpClientNetAttributesExtractor.java @@ -20,17 +20,17 @@ final class ApacheHttpClientNetAttributesExtractor LoggerFactory.getLogger(ApacheHttpClientNetAttributesExtractor.class); @Override - protected String transport(ClassicHttpRequest request) { + public String transport(ClassicHttpRequest request) { return SemanticAttributes.NetTransportValues.IP_TCP; } @Override - protected @Nullable String peerName(ClassicHttpRequest request, @Nullable HttpResponse response) { + public @Nullable String peerName(ClassicHttpRequest request, @Nullable HttpResponse response) { return request.getAuthority().getHostName(); } @Override - protected Integer peerPort(ClassicHttpRequest request, @Nullable HttpResponse response) { + public Integer peerPort(ClassicHttpRequest request, @Nullable HttpResponse response) { int port = request.getAuthority().getPort(); if (port != -1) { return port; @@ -51,7 +51,7 @@ protected Integer peerPort(ClassicHttpRequest request, @Nullable HttpResponse re } @Override - protected @Nullable String peerIp(ClassicHttpRequest request, @Nullable HttpResponse response) { + public @Nullable String peerIp(ClassicHttpRequest request, @Nullable HttpResponse response) { return null; } } diff --git a/instrumentation/jedis/jedis-1.4/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jedis/v1_4/JedisInstrumenters.java b/instrumentation/jedis/jedis-1.4/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jedis/v1_4/JedisInstrumenters.java index 3568a7bfaa0e..c70a24e7d6ab 100644 --- a/instrumentation/jedis/jedis-1.4/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jedis/v1_4/JedisInstrumenters.java +++ b/instrumentation/jedis/jedis-1.4/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jedis/v1_4/JedisInstrumenters.java @@ -11,6 +11,7 @@ import io.opentelemetry.instrumentation.api.instrumenter.SpanNameExtractor; import io.opentelemetry.instrumentation.api.instrumenter.db.DbAttributesExtractor; import io.opentelemetry.instrumentation.api.instrumenter.db.DbSpanNameExtractor; +import io.opentelemetry.javaagent.instrumentation.api.instrumenter.PeerServiceAttributesExtractor; public final class JedisInstrumenters { private static final String INSTRUMENTATION_NAME = "io.opentelemetry.javaagent.jedis-1.4"; @@ -20,12 +21,14 @@ public final class JedisInstrumenters { static { DbAttributesExtractor attributesExtractor = new JedisDbAttributesExtractor(); SpanNameExtractor spanName = DbSpanNameExtractor.create(attributesExtractor); + JedisNetAttributesExtractor netAttributesExtractor = new JedisNetAttributesExtractor(); INSTRUMENTER = Instrumenter.newBuilder( GlobalOpenTelemetry.get(), INSTRUMENTATION_NAME, spanName) .addAttributesExtractor(attributesExtractor) - .addAttributesExtractor(new JedisNetAttributesExtractor()) + .addAttributesExtractor(netAttributesExtractor) + .addAttributesExtractor(PeerServiceAttributesExtractor.create(netAttributesExtractor)) .newInstrumenter(SpanKindExtractor.alwaysClient()); } diff --git a/instrumentation/jedis/jedis-1.4/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jedis/v1_4/JedisNetAttributesExtractor.java b/instrumentation/jedis/jedis-1.4/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jedis/v1_4/JedisNetAttributesExtractor.java index 611451cb8067..02051c92a37c 100644 --- a/instrumentation/jedis/jedis-1.4/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jedis/v1_4/JedisNetAttributesExtractor.java +++ b/instrumentation/jedis/jedis-1.4/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jedis/v1_4/JedisNetAttributesExtractor.java @@ -12,23 +12,23 @@ final class JedisNetAttributesExtractor extends NetAttributesExtractornewBuilder( GlobalOpenTelemetry.get(), INSTRUMENTATION_NAME, redisUri -> "CONNECT") - .addAttributesExtractor(new LettuceNetAttributesExtractor()) + .addAttributesExtractor(netAttributesExtractor) + .addAttributesExtractor(PeerServiceAttributesExtractor.create(netAttributesExtractor)) .addAttributesExtractor(new LettuceConnectAttributesExtractor()) .newInstrumenter(SpanKindExtractor.alwaysClient()); } diff --git a/instrumentation/lettuce/lettuce-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/lettuce/v4_0/LettuceNetAttributesExtractor.java b/instrumentation/lettuce/lettuce-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/lettuce/v4_0/LettuceNetAttributesExtractor.java index 3755c4689842..67c1e9ade5a9 100644 --- a/instrumentation/lettuce/lettuce-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/lettuce/v4_0/LettuceNetAttributesExtractor.java +++ b/instrumentation/lettuce/lettuce-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/lettuce/v4_0/LettuceNetAttributesExtractor.java @@ -13,23 +13,23 @@ final class LettuceNetAttributesExtractor extends NetAttributesExtractor