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

hanahmily pushed a commit to branch patch/als
in repository https://gitbox.apache.org/repos/asf/skywalking.git

commit f71f63c5abed3f6c8c1a501f2a507c3e042ac083
Author: Gao Hongtao <[email protected]>
AuthorDate: Tue May 28 14:42:01 2019 +0800

    Filtering pods not in 'Running' phase
---
 .../server/receiver/envoy/als/K8sALSServiceMeshHTTPAnalysis.java | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git 
a/oap-server/server-receiver-plugin/envoy-metrics-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/envoy/als/K8sALSServiceMeshHTTPAnalysis.java
 
b/oap-server/server-receiver-plugin/envoy-metrics-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/envoy/als/K8sALSServiceMeshHTTPAnalysis.java
index 64aedc3..f144b89 100644
--- 
a/oap-server/server-receiver-plugin/envoy-metrics-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/envoy/als/K8sALSServiceMeshHTTPAnalysis.java
+++ 
b/oap-server/server-receiver-plugin/envoy-metrics-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/envoy/als/K8sALSServiceMeshHTTPAnalysis.java
@@ -63,6 +63,8 @@ public class K8sALSServiceMeshHTTPAnalysis implements 
ALSHTTPAnalysis {
 
     private static final String ADDRESS_TYPE_INTERNAL_IP = "InternalIP";
 
+    private static final String VALID_PHASE = "Running";
+
     @Getter(AccessLevel.PROTECTED)
     private final AtomicReference<Map<String, ServiceMetaInfo>> ipServiceMap = 
new AtomicReference<>();
 
@@ -93,8 +95,13 @@ public class K8sALSServiceMeshHTTPAnalysis implements 
ALSHTTPAnalysis {
             Map<String, ServiceMetaInfo> ipMap = new 
HashMap<>(list.getItems().size());
             long startTime = System.nanoTime();
             for (V1Pod item : list.getItems()) {
+                if (!item.getStatus().getPhase().equals(VALID_PHASE)) {
+                    logger.debug("Invalid pod {} is not in a valid phase {}", 
item.getMetadata().getName(), item.getStatus().getPhase());
+                    continue;
+                }
                 if 
(item.getStatus().getPodIP().equals(item.getStatus().getHostIP())) {
-                    logger.warn("Pod {}.{} is removed because hostIP and podIP 
are identical ", item.getMetadata().getName());
+                    logger.debug("Pod {}.{} is removed because hostIP and 
podIP are identical ", item.getMetadata().getName()
+                            , item.getMetadata().getNamespace());
                     continue;
                 }
                 ipMap.put(item.getStatus().getPodIP(), 
createServiceMetaInfo(item.getMetadata()));

Reply via email to