You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2025/11/24 10:43:54 UTC
(camel) 14/19: CAMEL-22693: Mark up EIP and endpoint headers that are of importance to make tooling, trouble shooting and development easier.
This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a commit to branch ih
in repository https://gitbox.apache.org/repos/asf/camel.git
commit 71d5414be9c3d1b308d812d29a6665573640f77d
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Sun Nov 23 17:46:09 2025 +0100
CAMEL-22693: Mark up EIP and endpoint headers that are of importance to make tooling, trouble shooting and development easier.
---
.../core/commands/action/CamelHistoryAction.java | 31 +++++++++++++++++-----
1 file changed, 25 insertions(+), 6 deletions(-)
diff --git a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelHistoryAction.java b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelHistoryAction.java
index e477e2746d58..204a629c5a3c 100644
--- a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelHistoryAction.java
+++ b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelHistoryAction.java
@@ -64,9 +64,11 @@ public class CamelHistoryAction extends ActionWatchCommand {
description = "Depth of tracing. 0=Created+Completed. 1=All events on 1st route, 2=All events on 1st+2nd depth, and so on. 9 = all events on every depth.")
int depth;
- private final CamelCatalog camelCatalog = new DefaultCamelCatalog(true);
+ @CommandLine.Option(names = { "--limit-split" },
+ description = "Limit Split to a maximum number of entries to be displayed")
+ int limitSplit;
- // TODO: option to collapse split (to cut very large split)
+ private final CamelCatalog camelCatalog = new DefaultCamelCatalog(true);
public CamelHistoryAction(CamelJBangMain main) {
super(main);
@@ -135,15 +137,32 @@ public class CamelHistoryAction extends ActionWatchCommand {
return 0;
}
- private boolean filterDepth(Row row) {
+ private boolean filterDepth(Row r) {
if (depth >= 9) {
return true;
}
if (depth == 0) {
// special with only created/completed
- return row.nodeLevel == 1 && (row.first || row.last);
+ return r.nodeLevel == 1 && (r.first || r.last);
+ }
+ return r.nodeLevel <= depth;
+ }
+
+ private boolean filterSplit(Row r) {
+ if (limitSplit <= 0) {
+ return true;
+ }
+ JsonArray arr = r.message.getCollection("exchangeProperties");
+ if (arr != null) {
+ for (int i = 0; i < arr.size(); i++) {
+ JsonObject jo = (JsonObject) arr.get(i);
+ if ("CamelSplitIndex".equals(jo.getString("key"))) {
+ long idx = jo.getLongOrDefault("value", Long.MAX_VALUE);
+ return idx < limitSplit;
+ }
+ }
}
- return row.nodeLevel <= depth;
+ return true;
}
private String getId(Row r) {
@@ -303,7 +322,7 @@ public class CamelHistoryAction extends ActionWatchCommand {
List<Row> answer = new ArrayList<>();
for (Row r : rows) {
- if (filterDepth(r)) {
+ if (filterDepth(r) && filterSplit(r)) {
answer.add(r);
}
}