Fix net.peer.* setting for Cassandra 4.+ (#1482)

This commit is contained in:
Nikita Salnikov-Tarnovski 2020-10-26 13:49:25 +02:00 committed by GitHub
parent 8650bd7bda
commit 3db872e50f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 5 additions and 3 deletions

View File

@ -14,7 +14,7 @@ import io.opentelemetry.instrumentation.api.tracer.utils.NetPeerUtils;
import io.opentelemetry.javaagent.instrumentation.api.db.DbSystem; import io.opentelemetry.javaagent.instrumentation.api.db.DbSystem;
import io.opentelemetry.trace.Span; import io.opentelemetry.trace.Span;
import java.net.InetSocketAddress; import java.net.InetSocketAddress;
import java.util.Optional; import java.net.SocketAddress;
public class CassandraDatabaseClientTracer extends DatabaseClientTracer<CqlSession, String> { public class CassandraDatabaseClientTracer extends DatabaseClientTracer<CqlSession, String> {
public static final CassandraDatabaseClientTracer TRACER = new CassandraDatabaseClientTracer(); public static final CassandraDatabaseClientTracer TRACER = new CassandraDatabaseClientTracer();
@ -47,8 +47,10 @@ public class CassandraDatabaseClientTracer extends DatabaseClientTracer<CqlSessi
public void onResponse(Span span, ExecutionInfo executionInfo) { public void onResponse(Span span, ExecutionInfo executionInfo) {
Node coordinator = executionInfo.getCoordinator(); Node coordinator = executionInfo.getCoordinator();
if (coordinator != null) { if (coordinator != null) {
Optional<InetSocketAddress> address = coordinator.getBroadcastRpcAddress(); SocketAddress socketAddress = coordinator.getEndPoint().resolve();
address.ifPresent(inetSocketAddress -> NetPeerUtils.setNetPeer(span, inetSocketAddress)); if (socketAddress instanceof InetSocketAddress) {
NetPeerUtils.setNetPeer(span, ((InetSocketAddress) socketAddress));
}
} }
} }
} }