Измерьте прошедшее время на пружинном реактореJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Измерьте прошедшее время на пружинном реакторе

Сообщение Anonymous »

Я использую Spring-Webflux версии 3.2.x
Я хочу регистрировать общее время, затраченное на выполнение всего конвейера.
Я нашел метод elapsed(), но мне нужно общее время, но мне нужно общее время, а не для элементов (doOnNext).
Я видел много вариантов, но не уверен, какой из них правильно использовать.
Мой код:
private Mono getData(String slug) {

Код: Выделить всё

var stopWatch = StopWatch.createStarted();

return getProducts(
Mono.zip(
proxy.getExternalData(slug),
getProductPersonalization(slug)))
.doOnSuccess(it -> log.info("Finish with success:"))
.doOnTerminate(() -> {
stopWatch.stop();
log.info("getData execution time: {} ms",
stopWatch.getTime(TimeUnit.MILLISECONDS));
});

Код: Выделить всё

  private Mono getProducts(Mono tuple);
Примечание. Я читал, что использование stopWatch вне конвейера неправильно, поэтому я ищу другое решение.
Этот метод возвращается в контроллер

Подробнее здесь: https://stackoverflow.com/questions/798 ... ng-reactor
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»