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 2015/09/28 11:05:51 UTC
[2/2] camel git commit: CAMEL-9179: Add uptime to Camel route list
command.
CAMEL-9179: Add uptime to Camel route list command.
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/6d3d1309
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/6d3d1309
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/6d3d1309
Branch: refs/heads/master
Commit: 6d3d1309c364201ac17c677644818c174c597e62
Parents: 92c5fe5
Author: Claus Ibsen <da...@apache.org>
Authored: Mon Sep 28 11:07:34 2015 +0200
Committer: Claus Ibsen <da...@apache.org>
Committed: Mon Sep 28 11:07:34 2015 +0200
----------------------------------------------------------------------
.../commands/AbstractLocalCamelController.java | 12 +++++
.../apache/camel/commands/RouteListCommand.java | 48 ++++++++++++++++++--
.../jolokia/DefaultJolokiaCamelController.java | 6 ++-
3 files changed, 61 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/6d3d1309/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/AbstractLocalCamelController.java
----------------------------------------------------------------------
diff --git a/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/AbstractLocalCamelController.java b/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/AbstractLocalCamelController.java
index 823e5b3..6d80584 100644
--- a/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/AbstractLocalCamelController.java
+++ b/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/AbstractLocalCamelController.java
@@ -37,6 +37,7 @@ import org.apache.camel.Endpoint;
import org.apache.camel.Route;
import org.apache.camel.ServiceStatus;
import org.apache.camel.StatefulService;
+import org.apache.camel.api.management.mbean.ManagedRouteMBean;
import org.apache.camel.model.ModelHelper;
import org.apache.camel.model.RouteDefinition;
import org.apache.camel.model.rest.RestDefinition;
@@ -266,6 +267,17 @@ public abstract class AbstractLocalCamelController extends AbstractCamelControll
row.put("camelContextName", context.getName());
row.put("routeId", route.getId());
row.put("state", getRouteState(route));
+ row.put("uptime", route.getUptime());
+ ManagedRouteMBean mr = context.getManagedRoute(route.getId(), ManagedRouteMBean.class);
+ if (mr != null) {
+ row.put("exchangesTotal", "" + mr.getExchangesTotal());
+ row.put("exchangesInflight", "" + mr.getExchangesInflight());
+ row.put("exchangesFailed", "" + mr.getExchangesFailed());
+ } else {
+ row.put("exchangesTotal", "0");
+ row.put("exchangesInflight", "0");
+ row.put("exchangesFailed", "0");
+ }
answer.add(row);
}
}
http://git-wip-us.apache.org/repos/asf/camel/blob/6d3d1309/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/RouteListCommand.java
----------------------------------------------------------------------
diff --git a/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/RouteListCommand.java b/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/RouteListCommand.java
index 8c00d7a..2c94afd 100644
--- a/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/RouteListCommand.java
+++ b/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/RouteListCommand.java
@@ -29,6 +29,10 @@ public class RouteListCommand extends AbstractCamelCommand {
private static final String CONTEXT_COLUMN_LABEL = "Context";
private static final String ROUTE_COLUMN_LABEL = "Route";
private static final String STATUS_COLUMN_LABEL = "Status";
+ private static final String TOTAL_COLUMN_LABEL = "Total #";
+ private static final String FAILED_COLUMN_LABEL = "Failed #";
+ private static final String INFLIGHT_COLUMN_LABEL = "Inflight #";
+ private static final String UPTIME_COLUMN_LABEL = "Uptime";
private static final int DEFAULT_COLUMN_WIDTH_INCREMENT = 0;
private static final String DEFAULT_FIELD_PREAMBLE = " ";
@@ -54,13 +58,17 @@ public class RouteListCommand extends AbstractCamelCommand {
final String rowFormat = buildFormatString(columnWidths, false);
if (routes.size() > 0) {
- out.println(String.format(headerFormat, CONTEXT_COLUMN_LABEL, ROUTE_COLUMN_LABEL, STATUS_COLUMN_LABEL));
- out.println(String.format(headerFormat, "-------", "-----", "------"));
+ out.println(String.format(headerFormat, CONTEXT_COLUMN_LABEL, ROUTE_COLUMN_LABEL, STATUS_COLUMN_LABEL, TOTAL_COLUMN_LABEL, FAILED_COLUMN_LABEL, INFLIGHT_COLUMN_LABEL, UPTIME_COLUMN_LABEL));
+ out.println(String.format(headerFormat, "-------", "-----", "------", "-------", "--------", "----------", "------"));
for (Map<String, String> row : routes) {
String contextId = row.get("camelContextName");
String routeId = row.get("routeId");
String state = row.get("state");
- out.println(String.format(rowFormat, contextId, routeId, state));
+ String total = row.get("exchangesTotal");
+ String failed = row.get("exchangesFailed");
+ String inflight = row.get("exchangesInflight");
+ String uptime = row.get("uptime");
+ out.println(String.format(rowFormat, contextId, routeId, state, total, failed, inflight, uptime));
}
}
@@ -74,6 +82,10 @@ public class RouteListCommand extends AbstractCamelCommand {
int maxContextLen = 0;
int maxRouteLen = 0;
int maxStatusLen = 0;
+ int maxTotalLen = 0;
+ int maxFailedLen = 0;
+ int maxInflightLen = 0;
+ int maxUptimeLen = 0;
for (Map<String, String> row : routes) {
final String contextId = row.get("camelContextName");
@@ -84,12 +96,28 @@ public class RouteListCommand extends AbstractCamelCommand {
final String status = row.get("state");
maxStatusLen = java.lang.Math.max(maxStatusLen, status == null ? 0 : status.length());
+
+ final String total = row.get("exchangesTotal");
+ maxTotalLen = java.lang.Math.max(maxTotalLen, total == null ? 0 : total.length());
+
+ final String failed = row.get("exchangesFailed");
+ maxFailedLen = java.lang.Math.max(maxFailedLen, failed == null ? 0 : failed.length());
+
+ final String inflight = row.get("exchangesInflight");
+ maxInflightLen = java.lang.Math.max(maxInflightLen, inflight == null ? 0 : inflight.length());
+
+ final String uptime = row.get("uptime");
+ maxUptimeLen = java.lang.Math.max(maxUptimeLen, uptime == null ? 0 : uptime.length());
}
final Map<String, Integer> retval = new Hashtable<String, Integer>(3);
retval.put(CONTEXT_COLUMN_LABEL, maxContextLen);
retval.put(ROUTE_COLUMN_LABEL, maxRouteLen);
retval.put(STATUS_COLUMN_LABEL, maxStatusLen);
+ retval.put(TOTAL_COLUMN_LABEL, maxTotalLen);
+ retval.put(FAILED_COLUMN_LABEL, maxFailedLen);
+ retval.put(INFLIGHT_COLUMN_LABEL, maxInflightLen);
+ retval.put(UPTIME_COLUMN_LABEL, maxUptimeLen);
return retval;
}
@@ -112,14 +140,26 @@ public class RouteListCommand extends AbstractCamelCommand {
int contextLen = Math.min(columnWidths.get(CONTEXT_COLUMN_LABEL) + columnWidthIncrement, MAX_COLUMN_WIDTH);
int routeLen = Math.min(columnWidths.get(ROUTE_COLUMN_LABEL) + columnWidthIncrement, MAX_COLUMN_WIDTH);
int statusLen = Math.min(columnWidths.get(STATUS_COLUMN_LABEL) + columnWidthIncrement, MAX_COLUMN_WIDTH);
+ int totalLen = Math.min(columnWidths.get(TOTAL_COLUMN_LABEL) + columnWidthIncrement, MAX_COLUMN_WIDTH);
+ int failedlLen = Math.min(columnWidths.get(FAILED_COLUMN_LABEL) + columnWidthIncrement, MAX_COLUMN_WIDTH);
+ int inflightLen = Math.min(columnWidths.get(INFLIGHT_COLUMN_LABEL) + columnWidthIncrement, MAX_COLUMN_WIDTH);
+ int uptimeLen = Math.min(columnWidths.get(UPTIME_COLUMN_LABEL) + columnWidthIncrement, MAX_COLUMN_WIDTH);
contextLen = Math.max(MIN_COLUMN_WIDTH, contextLen);
routeLen = Math.max(MIN_COLUMN_WIDTH, routeLen);
- // last row does not have min width
+ statusLen = Math.max(MIN_COLUMN_WIDTH, statusLen);
+ totalLen = Math.max(MIN_COLUMN_WIDTH, totalLen);
+ failedlLen = Math.max(MIN_COLUMN_WIDTH, failedlLen);
+ inflightLen = Math.max(MIN_COLUMN_WIDTH, inflightLen);
+ uptimeLen = Math.max(MIN_COLUMN_WIDTH, uptimeLen);
final StringBuilder retval = new StringBuilder(DEFAULT_FORMAT_BUFFER_LENGTH);
retval.append(fieldPreamble).append("%-").append(contextLen).append('.').append(contextLen).append('s').append(fieldPostamble).append(' ');
retval.append(fieldPreamble).append("%-").append(routeLen).append('.').append(routeLen).append('s').append(fieldPostamble).append(' ');
retval.append(fieldPreamble).append("%-").append(statusLen).append('.').append(statusLen).append('s').append(fieldPostamble).append(' ');
+ retval.append(fieldPreamble).append("%").append(totalLen).append('.').append(totalLen).append('s').append(fieldPostamble).append(' ');
+ retval.append(fieldPreamble).append("%").append(failedlLen).append('.').append(failedlLen).append('s').append(fieldPostamble).append(' ');
+ retval.append(fieldPreamble).append("%").append(inflightLen).append('.').append(inflightLen).append('s').append(fieldPostamble).append(' ');
+ retval.append(fieldPreamble).append("%-").append(uptimeLen).append('.').append(uptimeLen).append('s').append(fieldPostamble).append(' ');
return retval.toString();
}
http://git-wip-us.apache.org/repos/asf/camel/blob/6d3d1309/platforms/commands/commands-jolokia/src/main/java/org/apache/camel/commands/jolokia/DefaultJolokiaCamelController.java
----------------------------------------------------------------------
diff --git a/platforms/commands/commands-jolokia/src/main/java/org/apache/camel/commands/jolokia/DefaultJolokiaCamelController.java b/platforms/commands/commands-jolokia/src/main/java/org/apache/camel/commands/jolokia/DefaultJolokiaCamelController.java
index 6404fa2..21fd022 100644
--- a/platforms/commands/commands-jolokia/src/main/java/org/apache/camel/commands/jolokia/DefaultJolokiaCamelController.java
+++ b/platforms/commands/commands-jolokia/src/main/java/org/apache/camel/commands/jolokia/DefaultJolokiaCamelController.java
@@ -332,7 +332,7 @@ public class DefaultJolokiaCamelController extends AbstractCamelController imple
List<J4pReadRequest> list = new ArrayList<J4pReadRequest>();
for (ObjectName on : sr.getObjectNames()) {
- list.add(new J4pReadRequest(on, "CamelId", "RouteId", "State"));
+ list.add(new J4pReadRequest(on, "CamelId", "RouteId", "State", "Uptime", "ExchangesTotal", "ExchangesInflight", "ExchangesFailed"));
}
List<J4pReadResponse> lrr = jolokia.execute(list);
@@ -343,6 +343,10 @@ public class DefaultJolokiaCamelController extends AbstractCamelController imple
row.put("camelContextName", rr.getValue("CamelId").toString());
row.put("routeId", routeId);
row.put("state", rr.getValue("State").toString());
+ row.put("uptime", rr.getValue("Uptime").toString());
+ row.put("exchangesTotal", rr.getValue("ExchangesTotal").toString());
+ row.put("exchangesInflight", rr.getValue("ExchangesInflight").toString());
+ row.put("exchangesFailed", rr.getValue("ExchangesFailed").toString());
answer.add(row);
}
}