2020
2121import com .google .common .base .Strings ;
2222import io .envoyproxy .envoy .config .core .v3 .Address ;
23- import io .envoyproxy .envoy .config .core .v3 .SocketAddress ;
2423import io .envoyproxy .envoy .data .accesslog .v3 .AccessLogCommon ;
2524import io .envoyproxy .envoy .data .accesslog .v3 .TCPAccessLogEntry ;
2625import io .envoyproxy .envoy .service .accesslog .v3 .StreamAccessLogsMessage ;
3332import org .apache .skywalking .oap .server .receiver .envoy .als .Role ;
3433import org .apache .skywalking .oap .server .receiver .envoy .als .ServiceMetaInfo ;
3534import org .apache .skywalking .oap .server .receiver .envoy .als .istio .IstioServiceEntryRegistry ;
35+ import org .apache .skywalking .oap .server .receiver .envoy .als .k8s .Addresses ;
3636import org .apache .skywalking .oap .server .receiver .envoy .als .k8s .K8SServiceRegistry ;
3737import org .apache .skywalking .oap .server .receiver .envoy .als .tcp .AbstractTCPAccessLogAnalyzer ;
3838
@@ -101,9 +101,9 @@ protected Result analyzeSideCar(final Result previousResult, final TCPAccessLogE
101101 properties .hasDownstreamDirectRemoteAddress ()
102102 ? properties .getDownstreamDirectRemoteAddress ()
103103 : properties .getDownstreamRemoteAddress ();
104- final ServiceMetaInfo downstreamService = find (downstreamRemoteAddress . getSocketAddress (). getAddress ( ));
104+ final ServiceMetaInfo downstreamService = find (Addresses . getAddressIP ( downstreamRemoteAddress ));
105105 final Address downstreamLocalAddress = properties .getDownstreamLocalAddress ();
106- final ServiceMetaInfo localService = find (downstreamLocalAddress . getSocketAddress (). getAddress ( ));
106+ final ServiceMetaInfo localService = find (Addresses . getAddressIP ( downstreamLocalAddress ));
107107
108108 if (cluster .startsWith ("inbound|" )) {
109109 // Server side
@@ -124,8 +124,7 @@ protected Result analyzeSideCar(final Result previousResult, final TCPAccessLogE
124124 newResult .hasDownstreamMetrics (true );
125125 } else if (cluster .startsWith ("outbound|" )) {
126126 // sidecar(client side) -> sidecar
127- final Address upstreamRemoteAddress = properties .getUpstreamRemoteAddress ();
128- final ServiceMetaInfo destService = find (upstreamRemoteAddress .getSocketAddress ().getAddress ());
127+ final ServiceMetaInfo destService = find (Addresses .getAddressIP (properties .getUpstreamRemoteAddress ()));
129128
130129 final TCPServiceMeshMetric metric = newAdapter (entry , downstreamService , destService ).adaptToUpstreamMetrics ().build ();
131130
@@ -154,16 +153,14 @@ protected Result analyzeProxy(final Result previousResult, final TCPAccessLogEnt
154153 return previousResult ;
155154 }
156155
157- final var downstreamLocalAddressSocketAddress = downstreamLocalAddress .getSocketAddress ();
158- final var ingress = find (downstreamLocalAddressSocketAddress .getAddress ());
156+ final var ingress = find (Addresses .getAddressIP (downstreamLocalAddress ));
159157
160158 final var newResult = previousResult .toBuilder ();
161159 final var previousMetrics = previousResult .getMetrics ();
162160 final var metrics = previousMetrics .getTcpMetricsBuilder ();
163161
164162 if (!previousResult .hasDownstreamMetrics ()) {
165- final SocketAddress downstreamRemoteAddressSocketAddress = downstreamRemoteAddress .getSocketAddress ();
166- final ServiceMetaInfo outside = find (downstreamRemoteAddressSocketAddress .getAddress ());
163+ final ServiceMetaInfo outside = find (Addresses .getAddressIP (downstreamRemoteAddress ));
167164
168165 final TCPServiceMeshMetric .Builder metric = newAdapter (entry , outside , ingress ).adaptToDownstreamMetrics ();
169166
@@ -173,8 +170,7 @@ protected Result analyzeProxy(final Result previousResult, final TCPAccessLogEnt
173170 }
174171
175172 if (!previousResult .hasUpstreamMetrics ()) {
176- final SocketAddress upstreamRemoteAddressSocketAddress = upstreamRemoteAddress .getSocketAddress ();
177- final ServiceMetaInfo targetService = find (upstreamRemoteAddressSocketAddress .getAddress ());
173+ final ServiceMetaInfo targetService = find (Addresses .getAddressIP (upstreamRemoteAddress ));
178174
179175 final TCPServiceMeshMetric .Builder outboundMetric =
180176 newAdapter (entry , ingress , targetService )
0 commit comments