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..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,13 +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 endTimerSteps = KasperMetrics.getMetricRegistry().timer(KasperMetrics.name(saga.getClass(), saga.getClass().getSimpleName() + "." + aStep.name() + ".end-handle-time")).time(); aStep.clean(sagaIdentifier); + endTimerSteps.stop(); } } catch (Exception e) { throw new SagaExecutionException( @@ -220,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 { @@ -231,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)); } } }