CAMEL-9389: camel-metrics - Allow to capture message history easily
Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/13f953fe Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/13f953fe Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/13f953fe Branch: refs/heads/master Commit: 13f953fee1055dfca71cb20f803e091973b433eb Parents: a3a9f95 Author: Claus Ibsen <davscl...@apache.org> Authored: Sat Dec 5 09:04:44 2015 +0100 Committer: Claus Ibsen <davscl...@apache.org> Committed: Sat Dec 5 09:04:44 2015 +0100 ---------------------------------------------------------------------- .../messagehistory/MetricsMessageHistory.java | 34 +++++--------------- .../ManagedMessageHistoryTest.java | 2 +- 2 files changed, 9 insertions(+), 27 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/13f953fe/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/messagehistory/MetricsMessageHistory.java ---------------------------------------------------------------------- diff --git a/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/messagehistory/MetricsMessageHistory.java b/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/messagehistory/MetricsMessageHistory.java index aab9605..33e1c2a 100644 --- a/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/messagehistory/MetricsMessageHistory.java +++ b/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/messagehistory/MetricsMessageHistory.java @@ -21,46 +21,28 @@ import java.util.Date; import com.codahale.metrics.Timer; import org.apache.camel.MessageHistory; import org.apache.camel.NamedNode; +import org.apache.camel.impl.DefaultMessageHistory; /** * A codahale metrics based {@link MessageHistory} */ -public class MetricsMessageHistory implements MessageHistory { +public class MetricsMessageHistory extends DefaultMessageHistory { - private final String routeId; - private final NamedNode namedNode; - private final Timer timer; private final Timer.Context context; public MetricsMessageHistory(String routeId, NamedNode namedNode, Timer timer) { - this.routeId = routeId; - this.namedNode = namedNode; - this.timer = timer; + super(routeId, namedNode, new Date()); this.context = timer.time(); } @Override - public String getRouteId() { - return routeId; - } - - @Override - public NamedNode getNode() { - return namedNode; - } - - @Override - public Date getTimestamp() { - return null; + public void nodeProcessingDone() { + super.nodeProcessingDone(); + context.stop(); } - @Override - public long getElapsed() { - return timer.getCount(); + public String toString() { + return "MetricsMessageHistory[routeId=" + getRouteId() + ", node=" + getNode().getId() + ']'; } - @Override - public void nodeProcessingDone() { - context.stop(); - } } http://git-wip-us.apache.org/repos/asf/camel/blob/13f953fe/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/messagehistory/ManagedMessageHistoryTest.java ---------------------------------------------------------------------- diff --git a/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/messagehistory/ManagedMessageHistoryTest.java b/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/messagehistory/ManagedMessageHistoryTest.java index 76919dc..faafc84 100644 --- a/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/messagehistory/ManagedMessageHistoryTest.java +++ b/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/messagehistory/ManagedMessageHistoryTest.java @@ -63,7 +63,7 @@ public class ManagedMessageHistoryTest extends CamelTestSupport { } @Test - public void testMetricsRoutePolicy() throws Exception { + public void testMessageHistory() throws Exception { getMockEndpoint("mock:foo").expectedMessageCount(5); getMockEndpoint("mock:bar").expectedMessageCount(5); getMockEndpoint("mock:baz").expectedMessageCount(5);