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 2022/09/09 08:18:00 UTC
[camel] 02/03: CAMEL-18488: camel-management - Statistic for current throughput
This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git
commit 7b86d1ad63834a489fc659648c3252649b4a1a0d
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Fri Sep 9 10:13:13 2022 +0200
CAMEL-18488: camel-management - Statistic for current throughput
---
.../java/org/apache/camel/management/mbean/LoadThroughput.java | 7 ++++---
.../src/main/java/org/apache/camel/util/StopWatch.java | 9 ++++++++-
.../dsl/jbang/core/commands/process/CamelContextStatus.java | 4 ++--
.../camel/dsl/jbang/core/commands/process/CamelRouteStatus.java | 4 ++--
4 files changed, 16 insertions(+), 8 deletions(-)
diff --git a/core/camel-management/src/main/java/org/apache/camel/management/mbean/LoadThroughput.java b/core/camel-management/src/main/java/org/apache/camel/management/mbean/LoadThroughput.java
index 546f00d7bae..1a04cae0547 100644
--- a/core/camel-management/src/main/java/org/apache/camel/management/mbean/LoadThroughput.java
+++ b/core/camel-management/src/main/java/org/apache/camel/management/mbean/LoadThroughput.java
@@ -25,7 +25,7 @@ public final class LoadThroughput {
private final StopWatch watch = new StopWatch(false);
private long last;
- private double thp = Double.NaN;
+ private double thp;
/**
* Update the load statistics
@@ -33,7 +33,7 @@ public final class LoadThroughput {
* @param currentReading the current reading
*/
public void update(long currentReading) {
- if (watch.taken() == 0) {
+ if (!watch.isStarted()) {
watch.restart();
thp = 0;
} else {
@@ -41,7 +41,8 @@ public final class LoadThroughput {
if (time > 0) {
long delta = currentReading - last;
if (delta > 0) {
- thp = (1000 / time) * delta;
+ // need to calculate with fractions
+ thp = (1000d / time) * delta;
} else {
thp = 0;
}
diff --git a/core/camel-util/src/main/java/org/apache/camel/util/StopWatch.java b/core/camel-util/src/main/java/org/apache/camel/util/StopWatch.java
index 9615d4094a7..e7cba5899ab 100644
--- a/core/camel-util/src/main/java/org/apache/camel/util/StopWatch.java
+++ b/core/camel-util/src/main/java/org/apache/camel/util/StopWatch.java
@@ -59,6 +59,13 @@ public final class StopWatch {
start = System.nanoTime();
}
+ /**
+ * Whether the watch is started
+ */
+ public boolean isStarted() {
+ return start > 0;
+ }
+
/**
* Returns the time taken in millis.
*
@@ -79,7 +86,7 @@ public final class StopWatch {
*/
public long takenAndRestart() {
long answer = taken();
- restart();
+ start = System.nanoTime();
return answer;
}
diff --git a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelContextStatus.java b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelContextStatus.java
index 33c719c8b9d..77d10278a93 100644
--- a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelContextStatus.java
+++ b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelContextStatus.java
@@ -185,8 +185,8 @@ public class CamelContextStatus extends ProcessBaseCommand {
private String getThroughput(Row r) {
String s = r.throughput;
- if ("0.00".equals(s) || s.isEmpty()) {
- s = "-";
+ if (s == null || s.isEmpty()) {
+ s = "";
}
return s;
}
diff --git a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelRouteStatus.java b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelRouteStatus.java
index f77cce19600..592fe53a265 100644
--- a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelRouteStatus.java
+++ b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelRouteStatus.java
@@ -189,8 +189,8 @@ public class CamelRouteStatus extends ProcessBaseCommand {
private String getThroughput(Row r) {
String s = r.throughput;
- if ("0.00".equals(s) || s.isEmpty()) {
- s = "-";
+ if (s == null || s.isEmpty()) {
+ s = "";
}
return s;
}