public static InformerHealthSummary fromRuntimeInfo()

in flink-kubernetes-operator/src/main/java/org/apache/flink/kubernetes/operator/health/InformerHealthSummary.java [36:60]


    public static InformerHealthSummary fromRuntimeInfo(RuntimeInfo runtimeInfo) {
        var newUnHealthy = new HashSet<InformerIdentifier>();
        boolean anyHealthy = false;

        for (var controllerEntry :
                runtimeInfo.unhealthyInformerWrappingEventSourceHealthIndicator().entrySet()) {
            for (var eventSourceEntry : controllerEntry.getValue().entrySet()) {
                Map<String, InformerHealthIndicator> informers =
                        eventSourceEntry.getValue().informerHealthIndicators();
                for (var informerEntry : informers.entrySet()) {
                    if (informerEntry.getValue().getStatus() == Status.HEALTHY) {
                        anyHealthy = true;
                    } else {
                        newUnHealthy.add(
                                new InformerIdentifier(
                                        controllerEntry.getKey(),
                                        eventSourceEntry.getKey(),
                                        informerEntry.getKey()));
                    }
                }
            }
        }

        return new InformerHealthSummary(anyHealthy || newUnHealthy.isEmpty(), newUnHealthy);
    }