This is an automated email from the ASF dual-hosted git repository.

wusheng pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/skywalking.git


The following commit(s) were added to refs/heads/master by this push:
     new e696349a7d Fix find address error in ALS TCP metrics (#13556)
e696349a7d is described below

commit e696349a7d7a2057c498f1bf24a3497ce8211be0
Author: mrproliu <[email protected]>
AuthorDate: Tue Oct 28 10:42:38 2025 +0900

    Fix find address error in ALS TCP metrics (#13556)
---
 .../als/tcp/k8s/K8sALSServiceMeshTCPAnalysis.java      | 18 +++++++-----------
 1 file changed, 7 insertions(+), 11 deletions(-)

diff --git 
a/oap-server/server-receiver-plugin/envoy-metrics-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/envoy/als/tcp/k8s/K8sALSServiceMeshTCPAnalysis.java
 
b/oap-server/server-receiver-plugin/envoy-metrics-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/envoy/als/tcp/k8s/K8sALSServiceMeshTCPAnalysis.java
index 3aeee112e2..b8ca0f5e13 100644
--- 
a/oap-server/server-receiver-plugin/envoy-metrics-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/envoy/als/tcp/k8s/K8sALSServiceMeshTCPAnalysis.java
+++ 
b/oap-server/server-receiver-plugin/envoy-metrics-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/envoy/als/tcp/k8s/K8sALSServiceMeshTCPAnalysis.java
@@ -20,7 +20,6 @@ package 
org.apache.skywalking.oap.server.receiver.envoy.als.tcp.k8s;
 
 import com.google.common.base.Strings;
 import io.envoyproxy.envoy.config.core.v3.Address;
-import io.envoyproxy.envoy.config.core.v3.SocketAddress;
 import io.envoyproxy.envoy.data.accesslog.v3.AccessLogCommon;
 import io.envoyproxy.envoy.data.accesslog.v3.TCPAccessLogEntry;
 import io.envoyproxy.envoy.service.accesslog.v3.StreamAccessLogsMessage;
@@ -33,6 +32,7 @@ import 
org.apache.skywalking.oap.server.receiver.envoy.ServiceMetaInfoFactory;
 import org.apache.skywalking.oap.server.receiver.envoy.als.Role;
 import org.apache.skywalking.oap.server.receiver.envoy.als.ServiceMetaInfo;
 import 
org.apache.skywalking.oap.server.receiver.envoy.als.istio.IstioServiceEntryRegistry;
+import org.apache.skywalking.oap.server.receiver.envoy.als.k8s.Addresses;
 import 
org.apache.skywalking.oap.server.receiver.envoy.als.k8s.K8SServiceRegistry;
 import 
org.apache.skywalking.oap.server.receiver.envoy.als.tcp.AbstractTCPAccessLogAnalyzer;
 
@@ -101,9 +101,9 @@ public class K8sALSServiceMeshTCPAnalysis extends 
AbstractTCPAccessLogAnalyzer {
             properties.hasDownstreamDirectRemoteAddress()
                 ? properties.getDownstreamDirectRemoteAddress()
                 : properties.getDownstreamRemoteAddress();
-        final ServiceMetaInfo downstreamService = 
find(downstreamRemoteAddress.getSocketAddress().getAddress());
+        final ServiceMetaInfo downstreamService = 
find(Addresses.getAddressIP(downstreamRemoteAddress));
         final Address downstreamLocalAddress = 
properties.getDownstreamLocalAddress();
-        final ServiceMetaInfo localService = 
find(downstreamLocalAddress.getSocketAddress().getAddress());
+        final ServiceMetaInfo localService = 
find(Addresses.getAddressIP(downstreamLocalAddress));
 
         if (cluster.startsWith("inbound|")) {
             // Server side
@@ -124,8 +124,7 @@ public class K8sALSServiceMeshTCPAnalysis extends 
AbstractTCPAccessLogAnalyzer {
             newResult.hasDownstreamMetrics(true);
         } else if (cluster.startsWith("outbound|")) {
             // sidecar(client side) -> sidecar
-            final Address upstreamRemoteAddress = 
properties.getUpstreamRemoteAddress();
-            final ServiceMetaInfo destService = 
find(upstreamRemoteAddress.getSocketAddress().getAddress());
+            final ServiceMetaInfo destService = 
find(Addresses.getAddressIP(properties.getUpstreamRemoteAddress()));
 
             final TCPServiceMeshMetric metric = newAdapter(entry, 
downstreamService, destService).adaptToUpstreamMetrics().build();
 
@@ -154,16 +153,14 @@ public class K8sALSServiceMeshTCPAnalysis extends 
AbstractTCPAccessLogAnalyzer {
             return previousResult;
         }
 
-        final var downstreamLocalAddressSocketAddress = 
downstreamLocalAddress.getSocketAddress();
-        final var ingress = 
find(downstreamLocalAddressSocketAddress.getAddress());
+        final var ingress = 
find(Addresses.getAddressIP(downstreamLocalAddress));
 
         final var newResult = previousResult.toBuilder();
         final var previousMetrics = previousResult.getMetrics();
         final var metrics = previousMetrics.getTcpMetricsBuilder();
 
         if (!previousResult.hasDownstreamMetrics()) {
-            final SocketAddress downstreamRemoteAddressSocketAddress = 
downstreamRemoteAddress.getSocketAddress();
-            final ServiceMetaInfo outside = 
find(downstreamRemoteAddressSocketAddress.getAddress());
+            final ServiceMetaInfo outside = 
find(Addresses.getAddressIP(downstreamRemoteAddress));
 
             final TCPServiceMeshMetric.Builder metric = newAdapter(entry, 
outside, ingress).adaptToDownstreamMetrics();
 
@@ -173,8 +170,7 @@ public class K8sALSServiceMeshTCPAnalysis extends 
AbstractTCPAccessLogAnalyzer {
         }
 
         if (!previousResult.hasUpstreamMetrics()) {
-            final SocketAddress upstreamRemoteAddressSocketAddress = 
upstreamRemoteAddress.getSocketAddress();
-            final ServiceMetaInfo targetService = 
find(upstreamRemoteAddressSocketAddress.getAddress());
+            final ServiceMetaInfo targetService = 
find(Addresses.getAddressIP(upstreamRemoteAddress));
 
             final TCPServiceMeshMetric.Builder outboundMetric =
                 newAdapter(entry, ingress, targetService)

Reply via email to