Skip to content

Commit ab7e2e0

Browse files
chore: Use AltContext to check DirectPath Used attribute (#4221)
Co-authored-by: rahul2393 <[email protected]>
1 parent d60124c commit ab7e2e0

File tree

1 file changed

+3
-17
lines changed

1 file changed

+3
-17
lines changed

google-cloud-spanner/src/main/java/com/google/cloud/spanner/spi/v1/HeaderInterceptor.java

Lines changed: 3 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -34,9 +34,9 @@
3434
import io.grpc.ClientInterceptor;
3535
import io.grpc.ForwardingClientCall.SimpleForwardingClientCall;
3636
import io.grpc.ForwardingClientCallListener.SimpleForwardingClientCallListener;
37-
import io.grpc.Grpc;
3837
import io.grpc.Metadata;
3938
import io.grpc.MethodDescriptor;
39+
import io.grpc.alts.AltsContextUtil;
4040
import io.opencensus.stats.MeasureMap;
4141
import io.opencensus.stats.Stats;
4242
import io.opencensus.stats.StatsRecorder;
@@ -47,9 +47,6 @@
4747
import io.opentelemetry.api.common.Attributes;
4848
import io.opentelemetry.api.common.AttributesBuilder;
4949
import io.opentelemetry.api.trace.Span;
50-
import java.net.InetAddress;
51-
import java.net.InetSocketAddress;
52-
import java.net.SocketAddress;
5350
import java.util.HashMap;
5451
import java.util.Map;
5552
import java.util.concurrent.ExecutionException;
@@ -127,10 +124,9 @@ public void start(Listener<RespT> responseListener, Metadata headers) {
127124
new SimpleForwardingClientCallListener<RespT>(responseListener) {
128125
@Override
129126
public void onHeaders(Metadata metadata) {
130-
Boolean isDirectPathUsed =
131-
isDirectPathUsed(getAttributes().get(Grpc.TRANSPORT_ATTR_REMOTE_ADDR));
127+
// Check if the call uses DirectPath by inspecting the ALTS context.
128+
boolean isDirectPathUsed = AltsContextUtil.check(getAttributes());
132129
addDirectPathUsedAttribute(compositeTracer, isDirectPathUsed);
133-
134130
processHeader(
135131
metadata, tagContext, attributes, span, compositeTracer, isDirectPathUsed);
136132
super.onHeaders(metadata);
@@ -316,14 +312,4 @@ private void addDirectPathUsedAttribute(
316312
BuiltInMetricsConstant.DIRECT_PATH_USED_KEY.getKey(), Boolean.toString(isDirectPathUsed));
317313
}
318314
}
319-
320-
private Boolean isDirectPathUsed(SocketAddress remoteAddr) {
321-
if (remoteAddr instanceof InetSocketAddress) {
322-
InetAddress inetAddress = ((InetSocketAddress) remoteAddr).getAddress();
323-
String addr = inetAddress.getHostAddress();
324-
return addr.startsWith(BuiltInMetricsConstant.DP_IPV4_PREFIX)
325-
|| addr.startsWith(BuiltInMetricsConstant.DP_IPV6_PREFIX);
326-
}
327-
return false;
328-
}
329315
}

0 commit comments

Comments
 (0)