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

marat pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-karavan.git

commit 16f2ac345c5b9f51900f617ef382552e083ce9f0
Author: Marat Gubaidullin <ma...@talismancloud.io>
AuthorDate: Thu Oct 24 09:01:00 2024 -0400

    Camel Statuses Improvements
---
 .../camel/karavan/listener/CamelReloadListener.java  | 20 ++++++++++----------
 .../camel/karavan/listener/CamelStatusListener.java  | 12 +++++++-----
 .../karavan/scheduler/CamelStatusScheduler.java      |  9 ++++-----
 3 files changed, 21 insertions(+), 20 deletions(-)

diff --git 
a/karavan-app/src/main/java/org/apache/camel/karavan/listener/CamelReloadListener.java
 
b/karavan-app/src/main/java/org/apache/camel/karavan/listener/CamelReloadListener.java
index ebf16525..ec12d275 100644
--- 
a/karavan-app/src/main/java/org/apache/camel/karavan/listener/CamelReloadListener.java
+++ 
b/karavan-app/src/main/java/org/apache/camel/karavan/listener/CamelReloadListener.java
@@ -123,16 +123,16 @@ public class CamelReloadListener {
     }
 
      String getContainerAddressForReload(PodContainerStatus 
podContainerStatus) throws Exception {
-        if (ConfigService.inKubernetes()) {
-            return "http://"; + podContainerStatus.getProjectId() + "." + 
kubernetesService.getNamespace();
-        } else if (ConfigService.inDocker()) {
-            return "http://"; + podContainerStatus.getProjectId() + ":8080";
-        } else if (podContainerStatus.getPorts() != null && 
!podContainerStatus.getPorts().isEmpty()) {
-            Integer port = 
podContainerStatus.getPorts().get(0).getPublicPort();
-            if (port != null) {
-                return "http://localhost:"; + port;
-            }
-        }
+         if (ConfigService.inKubernetes()) {
+             return "http://"; + podContainerStatus.getPodIP() + ":8080";
+         } else if (ConfigService.inDocker()) {
+             return "http://"; + podContainerStatus.getContainerName() + 
":8080";
+         } else if (podContainerStatus.getPorts() != null && 
!podContainerStatus.getPorts().isEmpty()) {
+             Integer port = 
podContainerStatus.getPorts().get(0).getPublicPort();
+             if (port != null) {
+                 return "http://localhost:"; + port;
+             }
+         }
         throw new Exception("No port configured for project " + 
podContainerStatus.getContainerName());
     }
 
diff --git 
a/karavan-app/src/main/java/org/apache/camel/karavan/listener/CamelStatusListener.java
 
b/karavan-app/src/main/java/org/apache/camel/karavan/listener/CamelStatusListener.java
index 354ee6bd..d50c8d5b 100644
--- 
a/karavan-app/src/main/java/org/apache/camel/karavan/listener/CamelStatusListener.java
+++ 
b/karavan-app/src/main/java/org/apache/camel/karavan/listener/CamelStatusListener.java
@@ -37,6 +37,7 @@ import org.jboss.logging.Logger;
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Objects;
 import java.util.concurrent.ExecutionException;
 
 import static org.apache.camel.karavan.KaravanEvents.CMD_COLLECT_CAMEL_STATUS;
@@ -82,7 +83,7 @@ public class CamelStatusListener {
             CamelStatus cs = new CamelStatus(projectId, containerName, 
statuses, environment);
             karavanCache.saveCamelStatus(cs);
         } catch (Exception ex) {
-            LOGGER.error("collectCamelStatuses " + (ex.getCause() != null ? 
ex.getCause().getMessage() : ex.getMessage()));
+//            LOGGER.warn("collectCamelStatuses " + (ex.getCause() != null ? 
ex.getCause().getMessage() : ex.getMessage()));
         }
     }
 
@@ -101,11 +102,13 @@ public class CamelStatusListener {
     }
 
     public String getCamelStatus(PodContainerStatus podContainerStatus, 
CamelStatusValue.Name statusName) throws Exception {
-        String url = getContainerAddressForStatus(podContainerStatus) + 
"/q/dev/" + statusName.name();
+        var name = statusName.name();
+        var path = "/q/dev/" + name + (Objects.equals(name, "trace") ? 
"?dump=true" : "");
+        String url = getContainerAddressForStatus(podContainerStatus) + path;
         try {
             return getResult(url, 500);
         } catch (InterruptedException | ExecutionException ex) {
-            LOGGER.error("getCamelStatus " + (ex.getCause() != null ? 
ex.getCause().getMessage() : ex.getMessage()));
+//            LOGGER.warn("getCamelStatus " + (ex.getCause() != null ? 
ex.getCause().getMessage() : ex.getMessage()));
         }
         return null;
     }
@@ -120,8 +123,7 @@ public class CamelStatusListener {
                 return res.encodePrettily();
             }
         } catch (Exception ex) {
-            LOGGER.error("getResult " + url);
-            LOGGER.error("getResult " + (ex.getCause() != null ? 
ex.getCause().getMessage() : ex.getMessage()));
+//            LOGGER.warn("getResult " + (ex.getCause() != null ? 
ex.getCause().getMessage() : ex.getMessage()));
         }
         return null;
     }
diff --git 
a/karavan-app/src/main/java/org/apache/camel/karavan/scheduler/CamelStatusScheduler.java
 
b/karavan-app/src/main/java/org/apache/camel/karavan/scheduler/CamelStatusScheduler.java
index 2f0b6ff6..552e91a9 100644
--- 
a/karavan-app/src/main/java/org/apache/camel/karavan/scheduler/CamelStatusScheduler.java
+++ 
b/karavan-app/src/main/java/org/apache/camel/karavan/scheduler/CamelStatusScheduler.java
@@ -24,13 +24,14 @@ import jakarta.inject.Inject;
 import org.apache.camel.karavan.KaravanCache;
 import org.apache.camel.karavan.KaravanConstants;
 import org.apache.camel.karavan.model.CamelStatusRequest;
-import org.apache.camel.karavan.model.PodContainerStatus;
 import org.eclipse.microprofile.config.inject.ConfigProperty;
 import org.jboss.logging.Logger;
 
 import java.util.Map;
 import java.util.Objects;
 
+import static org.apache.camel.karavan.KaravanConstants.CAMEL_PREFIX;
+import static 
org.apache.camel.karavan.KaravanConstants.LABEL_KUBERNETES_RUNTIME;
 import static org.apache.camel.karavan.KaravanEvents.CMD_COLLECT_CAMEL_STATUS;
 
 @ApplicationScoped
@@ -51,10 +52,8 @@ public class CamelStatusScheduler {
     public void collectCamelStatuses() {
         LOGGER.debug("Collect Camel Statuses");
         karavanCache.getPodContainerStatuses(environment).stream()
-                .filter(cs ->
-                        cs.getType() == 
PodContainerStatus.ContainerType.project
-                                || cs.getType() == 
PodContainerStatus.ContainerType.devmode
-                ).filter(cs -> Objects.equals(cs.getCamelRuntime(), 
KaravanConstants.CamelRuntime.CAMEL_MAIN.getValue()))
+                .filter(cs -> 
Objects.equals(cs.getLabels().get(LABEL_KUBERNETES_RUNTIME), CAMEL_PREFIX))
+                .filter(cs -> Objects.equals(cs.getCamelRuntime(), 
KaravanConstants.CamelRuntime.CAMEL_MAIN.getValue()))
                 .forEach(cs -> {
                     CamelStatusRequest csr = new 
CamelStatusRequest(cs.getProjectId(), cs.getContainerName());
                     eventBus.publish(CMD_COLLECT_CAMEL_STATUS,

Reply via email to