From 1391ece1d09e359e3109fd93e8a0e948c00a7b19 Mon Sep 17 00:00:00 2001 From: jrousseau Date: Mon, 22 Feb 2016 09:34:27 +0100 Subject: [PATCH 1/2] [saga] Add timer for each step of a saga --- .../viadeo/kasper/core/component/event/saga/SagaExecutor.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/kasper-core/src/main/java/com/viadeo/kasper/core/component/event/saga/SagaExecutor.java b/kasper-core/src/main/java/com/viadeo/kasper/core/component/event/saga/SagaExecutor.java index 5220bf7d6..3a4bd84e3 100644 --- a/kasper-core/src/main/java/com/viadeo/kasper/core/component/event/saga/SagaExecutor.java +++ b/kasper-core/src/main/java/com/viadeo/kasper/core/component/event/saga/SagaExecutor.java @@ -212,7 +212,9 @@ protected void persistSaga(final Object sagaIdentifier, final Saga saga, final b repository.delete(saga.getClass(), sagaIdentifier); for (final Step aStep : steps.values()) { + Timer.Context endTimerStep = KasperMetrics.getMetricRegistry().timer(KasperMetrics.name(saga.getClass(), sagaIdentifier.toString() + "." + aStep.name() + "-step-handle-time")).time(); aStep.clean(sagaIdentifier); + endTimerStep.stop(); } } catch (Exception e) { throw new SagaExecutionException( From 2be486144f1b4286ef2553d092140e8d688fa19b Mon Sep 17 00:00:00 2001 From: jrousseau Date: Fri, 4 Mar 2016 14:06:07 +0100 Subject: [PATCH 2/2] [saga] Add timers --- .../core/component/event/saga/SagaExecutor.java | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/kasper-core/src/main/java/com/viadeo/kasper/core/component/event/saga/SagaExecutor.java b/kasper-core/src/main/java/com/viadeo/kasper/core/component/event/saga/SagaExecutor.java index 3a4bd84e3..46cfc4de2 100644 --- a/kasper-core/src/main/java/com/viadeo/kasper/core/component/event/saga/SagaExecutor.java +++ b/kasper-core/src/main/java/com/viadeo/kasper/core/component/event/saga/SagaExecutor.java @@ -206,15 +206,16 @@ protected void persistSaga(final Step step, final Object sagaIdentifier, final S } protected void persistSaga(final Object sagaIdentifier, final Saga saga, final boolean endSaga) { + long startTime = System.nanoTime(); if (endSaga) { Timer.Context endTimer = KasperMetrics.getMetricRegistry().timer(KasperMetrics.name(saga.getClass(), "end-handle-time")).time(); try { repository.delete(saga.getClass(), sagaIdentifier); for (final Step aStep : steps.values()) { - Timer.Context endTimerStep = KasperMetrics.getMetricRegistry().timer(KasperMetrics.name(saga.getClass(), sagaIdentifier.toString() + "." + aStep.name() + "-step-handle-time")).time(); + Timer.Context endTimerSteps = KasperMetrics.getMetricRegistry().timer(KasperMetrics.name(saga.getClass(), saga.getClass().getSimpleName() + "." + aStep.name() + ".end-handle-time")).time(); aStep.clean(sagaIdentifier); - endTimerStep.stop(); + endTimerSteps.stop(); } } catch (Exception e) { throw new SagaExecutionException( @@ -222,8 +223,10 @@ protected void persistSaga(final Object sagaIdentifier, final Saga saga, final b e ); } finally { + long endTime = System.nanoTime(); + LOGGER.info(String.format("[SagaExecutor][End] Process time %d ms", (endTime - startTime)/1000000)); endTimer.stop(); - } + } } else { try { @@ -233,6 +236,9 @@ protected void persistSaga(final Object sagaIdentifier, final Saga saga, final b String.format("Unexpected error in saving saga, ", saga.getClass(), sagaIdentifier), e ); + }finally { + long endTime = System.nanoTime(); + LOGGER.info(String.format("[SagaExecutor][Save] Process time %d ms", (endTime - startTime)/1000000)); } } }